页面加载中,请稍候
来源:EDNCHINA发布时间:2019-09-15895浏览
询问 AI
例:4线电阻的SCPI指令与ICL指令比较:
2750的SCPI指令:

*RST
恢复仪器默认状态
INIT:CONT OFF
禁用连续开始
TRAC:CLE:AUTO OFF
清除内部55,000读数的缓冲区
FORM:ELEM READ
指定数据元素返回读数
SENS:FUNC ‘FRES’,(@101:110)
配置通道4W分辨率功能
SENS:FRES:NPLC 10, (@101:110)
配置NPLC 10电阻值
SENS:FRES:RANG 1
配置测量量程1Ω
SENS:FRES:OCOM ON, (@101:110)
启用失调补偿功能
TRIG:COUN 2
触发计数2
SAMP:COUN 10
样本计数10
ROUT:SCAN:LSEL INT
启用内部扫描
ROUT:SCAN (@101,110)
通道1&10的扫描列表
INIT
开始扫描
DATA?
请求缓冲区中保存的数据
这几行SCPI指令可以直接转换为3700系列的TSP测试序列。
3700的ICL指令:

[page]
reset()
恢复系统开关/万用表默认状态
mybuffer=dmm.makebuffer(20)
建立名为mybuffer的10点缓冲区
dmm.func="fourwireohms"
改变功能为4线欧姆
dmm.nplc=10
配置NPLC 10电阻值
dmm.range=1
配置测量量程1Ω
dmm.offsetcompensation=dmm.ON
启用失调补偿功能
dmm.drycircuit=dmm.ON
启用干电路功能
dmm.configure.set("myfres")
建立DMM配置,其属性基于4线电阻功能并关联名字“myfres”
dmm.setconfig("1001:1010","myfres")
将“myfres”与参数通道列表指定的项目关联
scan.create("1001:1010")
使用“myfres”和通道1~10建立新的扫描列表
scan.scancount=2
扫描计数设为2
scan.execute(mybuffer)
指定扫描过程中使用mybuffer
printbuffer(1,20,mybuffer)
打印缓冲的读数
值得注意的是,SCPI和ICL指令结构相似而且类似于英文。一个用分号(SCPI),另一个用句号(ICL);一个不区分大小写(SCPI)另一个区分大小写(ICL)。但从根本上说,两者都表明了用户想执行什么。所以,一种语言相对于另一种语言的优越性在哪?
使用脚本兼容性能找到这种优越性。我们通过一个脚本例子查看脚本如何执行与扫描相同的功能。这个例子用代码执行循环,而不是配置仪器进行扫描。
例:4线低电阻的脚本:

上面的例子演示了TSP脚本函数功能。测量仪器不是用内部扫描特性而是用TSL实现扫描通道,进而为for…next简单循环传递参数。4wireR函数传递参数(loops)的同时chan=1000+k为通道变量加“1”和执行指令dmm.close,直至完成for…next循环。
然后,此脚本函数加载至测量仪器并通过发送“4wireR(5)”在程序中调用。开始运行此函数并将数值5分配给变量“loops”。开发一个函数脚本代替使用扫描特性,能在每次运行函数时动态配置循环次数和通道数量。虽然从编程角度看脚本提供了优越性,但使用内建扫描模式是提高额外的几毫秒速度的首选方法。此例使用dmm.close管理背板继电器并配置DMM。
新闻来源:ednchina,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!
2026-07-16
2026-07-21
2026-07-16