低电阻测量是2750型和3700系列的典型应用。下个例子演示了将4线电阻扫描的2700系列SCPI转换为3700系列ICL。在SCPI代码中,要用程序延时完成扫描后再发送DATA?指令。
例: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指令:
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。
想与吉时利测试测量专家互动?想有更多学习资源?可登录吉时利官方网站http://www.keithley.com.cn/
文章评论(0条评论)
登录后参与讨论