利用SICLLAN服务器的控制.docx
- 文档编号:3899047
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:9
- 大小:136.87KB
利用SICLLAN服务器的控制.docx
《利用SICLLAN服务器的控制.docx》由会员分享,可在线阅读,更多相关《利用SICLLAN服务器的控制.docx(9页珍藏版)》请在冰豆网上搜索。
利用SICLLAN服务器的控制
显示
利用SICL-LAN服务器的控制
∙概述
∙在ExcelVBA中的样本程序
有关样本应用程序的其他主题
概述
本部分说明在Windows环境中如何利用SICL控制E5071C。
∙利用SICL-LAN服务器控制E5071C,您必须进行经SICL-LAN服务器进行控制中说明的准备工作。
在ExcelVBA中的样本程序
打开MicrosoftExcel中的ctrl_lansicl.xls,显示如下图所示的屏幕:
ctrl_lansicl.xls
如何利用ctrl_lansicl.xls中的每个要素,请参见以下说明。
1.在第1部分,SICL-LAN地址右面的单元中输入控制SICL-LAN服务器的E5071C的地址。
此地址为XX,已通过命令System>MiscSetup>NetworkSetup>SICL-LANAddress[XX]将其设置。
在IP地址右面的单元中输入E5071C的IP地址。
没有这两个单元中的修正值,此VBA宏将不会正常运行。
2.点击第2部分中的“预置”,以执行预置操作。
3.在第3部分,设置通道1的扫描范围(起点和终点)和测量点的数量。
点击设置以执行设置,如下设置表所示。
4.第4部分,设置通道1中的迹线1的测量参数和数据格式。
点击设置以执行设置,如下设置表所示。
5.在第5部分,点击读出迹线,并检索通道1中的迹线1的格式化数据数组。
以表格和图形形式显示数据。
VBA宏中的操作说明
本部分说明VBA宏的操作,着眼于与SICL控制相关的部分。
∙要使用VBA宏中的SICL,您必须清除SICL定义文件(用于VB)的功能并定义SICL定义文件的变量。
∙在VBA宏中,目标名称为“SICL”的标准模块ctrl_sicllan.xls是定义文件。
SICL的基本流程控制显示在利用SICL的控制流程中。
∙此样本程序中,在通信部分利用SICL的ivprintf功能、ivscanf功能和iread功能;您也可以使用其他SICL功能。
详情,请参见sicl.hlp(SICL的在线帮助)。
利用SICL的控制流程
∙如何利用SICL的每个功能的更多信息,请参见SICL手册。
以下说明在利用SICL的控制流程中的每个步骤的程序。
连接
程序的相应连接是OpenSession(OpenSession)。
利用第1部分ctrl_lansicl.xls中输入的SICL-LAN地址和IP地址,通过SICL的iopen功能,OpenSession与E5071C建立了连接。
iopen功能将您指定的E5071C的地址信息作为它的参数。
语法
地址=iopen(dev)
变量
addr
说明
对话信息(输出)
数据类型
整数类型
dev
说明
您指定(输入)的仪器的地址信息
数据类型
字符串类型
语法
sicl-name[ip-address]:
interface,sicl-lan-address
例如,如果参数(dev)是“lan[192.168.0.1]:
hpib9,17,”,通过利用SICL接口名为lan的外部控制器,使得hpib9接口的17地址与IP地址是192.168.0.1的E5071C连接。
OpenSession
FunctionOpenSession()AsInteger
DimServAddrAsString
DimIpAddrAsString
OnErrorGoToErrHandler
'''GetSicl-LanAddress
Sheets("Sheet1").Select
Range("C2").Select
ServAddr=ActiveCell.FormulaR1C1
'''GetIpAddress
Sheets("Sheet1").Select
Range("C3").Select
IpAddr=ActiveCell.FormulaR1C1
OpenSession=iopen("lan["&IpAddr&"]:
hpib9,"&ServAddr)
Callitimeout(OpenSession,10000)
ExitFunction
ErrHandler:
MsgBox"***Error:
"&Error$
Callsiclcleanup
End
EndFunction
发送
在通信过程中,步骤相应的发送对象是OutputSiclLan。
OutputSiclLan利用SICL的ivprintf功能发送信息(SCPI命令)。
ivprintf功能将iopen功能和程序消息的对话信息输出作为它的参数。
语法
状态=ivprintf(addr,mes)
变量
Status
说明
返回功能值(输出)
数据类型
整数类型
addr
说明
对话信息(输出)
数据类型
整数类型
mes
说明
程序消息(输入)
数据类型
字符串类型
OutputSiclLan
SubOutputSiclLan(addrAsInteger,messageAsString)
DimStatusAsInteger
DimactualcntAsLong
DimlengthAsLong
OnErrorGoToErrHandler
length=Len(message)
Status=ivprintf(addr,message&Chr$(10))
ExitSub
ErrHandler:
MsgBox"***Error:
"&Error$
Callsiclcleanup
End
EndSub
接收
在通信过程中,程序相应的接收ASCII格式消息是EnterSiclLan。
EnterSiclLan利用SICL的ivscanf功能,以ASCII格式接收消息,并将其存储在输出变量中。
ivscanf功能将iopen功能、输出格式和输出数据的对话信息输出作为它的参数。
语法
状态=ivscanf(addr,fmt,ap)
变量
fmt
说明
输出格式(输入)
数据类型
字符串类型
ap
说明
输出数据(输出)
数据类型
字符串类型
有关变量(状态)和变量(地址)的详情,请参见变量。
在VisualBasic中,当利用ivscanf功能接收字符串数据时,必须将作为固定长度的字符串的变量清除。
EnterSiclLan
SubEnterSiclLan(addrAsInteger,QueryAsString)
DimStatusAsInteger
DimactualcntAsLong
DimresAsString*256
OnErrorGoToErrHandler
Status=ivscanf(addr,"%t",res)
Query=Trim(res)
ExitSub
ErrHandler:
MsgBox"***Error:
"&Error$
Callsiclcleanup
End
EndSub
在通信过程中,程序的相应接收数组数据是EnterSiclLanArrayReal64,它利用SICL的iread功能以IEEE64-bit浮点二进制传送格式来接收数组数据,并将其存储到输出变量中。
iread功能将iopen功能、输出数据、数据字段的数量、完成读取数据的条件和实际读出数据字段的数量的对话信息输出作为它的参数。
语法
状态=iread(addr,buf,bufsize,reason,actual)
变量
buf
说明
输出数据(输出)
数据类型
字符串类型
bufsize
说明
数据字段的数量(输入)
数据类型
长整数类型
reason
说明
完成读出数据的条件(输入)
数据类型
整数类型
actual
说明
实际读出数据字段数量(输出)
数据类型
长整数类型
有关变量(状态)和变量(地址)的详情,请参见变量。
以下说明EnterSiclLanArrayReal64的每个功能。
(1)检索数据标头。
(2)将数据字段的数量存储到标头部分的大小变量中。
(3)检索通道1中迹线1的格式化数据数组,并将其存储到databuf变量中。
(4)检索数据端的消息端接器。
EnterSiclLanArrayReal64
FunctionEnterSiclLanArrayReal64(addrAsInteger,databuf()AsDouble)AsLong
DimStatusAsInteger
DimactualcntAsLong
DimbufAsString*8
DimsizeAsLong
OnErrorGoToErrHandler
'''Readheaderinfoof"#6NNNNNN"
Status=iread(addr,buf,8,I_TERM_MAXCNT,actualcnt)'.................
(1)
size=Val(Mid$(buf,3,6))'.................
(2)
'''Readdata
Status=iread(addr,databuf,size,I_TERM_MAXCNT,actualcnt)'.................(3)
'''ReadendingLF
Status=iread(addr,buf,1,I_TERM_MAXCNT,actualcnt)'.................(4)
EnterSiclLanArrayReal64=size/8
ExitFunction
ErrHandler:
MsgBox"***Error:
"&Error$
Callsiclcleanup
End
EndFunction
断开
利用SICL的iclose功能断开通信。
iclose功能将iopen功能的对话信息输出作为它的参数。
语法
状态=iclose(addr)
有关变量(状态)和变量(地址)的详情,请参见变量。
样本控制
通过逐步执行以上程序,可以控制E5071C,以下是利用SICL的控制流程中的控制流程。
这将通过预置中说明的“预置”程序(当点击“预置”按钮时,执行的程序)来证明。
预置
SubPreset()
'''OpenSession
E507x=OpenSession
'''Presettingtheanalyzer
CallOutputSiclLan(E507x,":
SYST:
PRES")
'''CloseSession
Calliclose(E507x)
EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 SICLLAN 服务器 控制