比较SCPI与ICL指令和脚本

2012年10月31日 12:09    发布者:majake2011
SCPI仪器模型某些测量需要直接控制仪器的硬件。为实现这种控制,基于SCPI的仪器包含指令子系统来控制特定的仪器功能和设置。 SCPI仪器模型在SCPI指令子系统之间分配。对于2700系列而言,指令子系统分为以下几类:1.面向信号的测量:获取读数的指令。2.计算:用于数学表达式、极限测试和统计数据。3.显示:控制Integra仪器的显示。4.格式:选择总线传输读数的数据格式。5.路由:控制前/后输入或开关。6.感测:配置和控制测量功能。7.状态:控制状态寄存器。8.系统:包含仪器设置的各种指令。9.设置:配置和控制数据存储至缓冲区。10.触发器:配置触发模型。11.装置:配置查询所显示的测量单元


SCPI指令

注释


*RST

恢复GPIB默认值。


:SENS:FUNC ‘VOLT’, (@101:120)

用通道列表配置DCV功能


:ROUT:SCAN(@101:120)

指定扫描通道


:SAMP:COUN 20

样本计数至20


:TRIG:COUN 1

触发一次扫描


:ROUT:SCAN:LSEL INT

启用扫描模式


:TRAC:FEED:CONT NEXT

启用跟踪缓冲器


INIT

初始化扫描


DATA?

请求缓冲读数

TSP仪器模型测试脚本语言(TSL)是3700系列使用的语言。ICL是该仪器的一组预定义的函数和变量。它们是等效于SCPI仪器SCPI指令的仪器指令。下列指令集适于3700系列:1.蜂鸣器:控制内置蜂鸣器的指令。2.位:用于对1~2个数字进行逻辑运算。3.延时:用于控制数字I/O端口的读/写和触发操作。4.数字I/O:选择在总线上传输读数的数据格式。5.显示:用于控制3700前面板上显示的消息。6.错误队列:用于读取错误队列/事件队列中的记录。7.退出:用于终止当前运行的脚本。8.格式:适用printnumber和printbuffer指令打印的数据。9.GPIB:用于设置GPIB地址。10.LocalNode:用于设置电力线频率、控制(开/关)提示并控制(隐藏/显示)显示器上的错误消息。11.获取:用于设定和取回属性值。12.操作完成:在运行完所有异步指令后,将状态寄存器的OPC比特置位。13.PrintBuffer:用于打印数据和数字。14.重置:用于恢复3700的默认设置。15.设置:用于保存/恢复设置并设定上电设置。16.触发器:用于控制触发。17.TSPLink:为主机分配节点号并初始化TSP-Link系统。18.UserString:用于存储/读取非易失存储器中用户定义的字符串。19.等待完成:等待全部异步指令运行完成。

ICL指令脚本

注释


Reset()

恢复GPIB默认值。


dmm.setconfig("1001:1020","dcvolts")

指定扫描通道和相应的功能


mybuffer=dmm.makebuffer(20)

建立名为mybuffer的20读数用户缓冲区


reading=dmm.measure(mybuffer)




scan.create(“1001:1020”)

在槽1建立通道1~20的扫描列表


scan.scancount=1

触发一次扫描


scan.execute(mybuffer)

指定mybuffer为扫描使用的读数缓冲区


print(printbuffer(1,20, mybuffer))

打印my buffer(我的缓冲区)的内容

上面的指令定义清单看起来比2700系列的多一些,却是精简的独立指令集。例如,SCPI“计算”子系统主要通过脚本处理;因此,这些功能不存在ICL指令。请参见本文末尾表1的ICL指令清单和对应的SCPI指令。 想与吉时利测试测量专家互动?想有更多学习资源?可登录吉时利官方网站http://www.keithley.com.cn/