低电阻测量是2750型和3700系列的典型应用。下个例子演示了将4线电阻扫描的2700系列SCPI转换为3700系列ICL。在SCPI代码中,要用程序延时完成扫描后再发送DATA?指令。
例:4线电阻的SCPI指令与ICL指令比较:
l 10通道配置为4线电阻功能。
l 配置为增强准确度:启用失调补偿,NPLC设为10,使用1Ω量程。
l 只返回读数。
l 执行两次扫描。
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/