|
有两种方案或者运行独立ICL指令(类似于发送独立SCPI指令),或者用测试脚本语言编写测试脚本。测试脚本语言(TSL)是一种基于标准程序语言Lua(www.lua.org)的程序语言。TSL能执行条件转移、循环和其它属性以实现用ICL指令控制仪器的目标。
脚本是仪器控制指令(ICL)和/或程序语句(TSL)的集合(列表)。3700系列仪器运行脚本的全部指令和语句。在仪器级运行脚本比在PC上运行测试程序快。使用脚本缩短了从PC经GPIB传输至仪器所需的时间。由于仪器内建测试脚本处理器(TSP),整个TSL控制程序可以装载至测量仪器。然后,发送一个指令就能执行整个程序。在其它情况下,如果程序的某些部分驻留在PC上可能对应用更有利。脚本的优点就在于它能以任何有意义的方式划分程序。
为了比较SCPI指令和ICL指令之间的使用区别,我们来查看运行简单扫描的例子中的两个指令集。2700系列SCPI指令和等效的37007CFB列TSP脚本如例1所示。
例1:电压测量/简单扫描通道1~20
下面的示例代码(例1)将:
l 设置直流电压通道。
l 指定通道1至20的扫描列表。
l 将电压读数返回至PC主机。
例1所示的SCPI程序可以轻松转换为等效ICL脚本。值得注意的是,ICL指令与SCPI指令在结构上的相似性。一个区别是如何获取读数。在SCPI协议中,获取读数实际是一个两步骤过程。首先,必须使用几种查询指令之一请求读数。这个例子用的“DATA?”指令从内部缓冲区取回数据。发送查询指令后,读数保存在读数队列中。然后,控制程序必须从队列中获取读数才算完成此过程。如果进一步发送指令或查询却没有从读数队列中取得完整读数,那么测量仪器将给出-410查询中断错误。-410查询中断错误是中断查询的结果并且是基于SCPI产品的常见错误。
在SCPI测量仪器中,发送INIT指令初始化扫描,并且测量结果总是自动保存在内部缓冲区中。而用ICL指令时并非如此。值得注意的是,在例1的代码中scan.execute(mybuffer)指令初始化扫描。在TSL中,创建名为mybuffer的缓冲区保存测量结果。另一种选择是创建一个变量,然后该变量能在TSP脚本中用于其它操作,例如极限测试、数学运算或作为整个测试策略的一部分。TSP函数的强大功能便从这里开始。
TSP语言远远超出了仅发送仪器指令;TSP语言还包含变量和变量类型、数学运算符和运算、表格和阵列、创建可以从脚本调用的用户函数、优先级、逻辑运算符、字符串连接、条件转移、循环控制和内建标准字符串和可调用数学库等功能。这些TSP语言内建工具拓展了3700系列仪器的编程潜能,更重要的是相对于用SCPI编程简化了应用开发。
想与吉时利测试测量专家互动?想有更多学习资源?可登录吉时利官方网站javascript:;