盛行的脚本言语包含Perl、Python、VBScript和JavaScript。Lua脚本言语特别适于嵌入式运用,由于它比大都其它脚本言语运转速度更快并选用占代码空间十分小的库完成。吉时利挑选Lua用于支撑测验脚本处理器(TSP)的仪器系列。
当测验丈量仪器增加了脚本支撑时,最困难的挑选是什么呢?对拉,是怎么向用户介绍脚本!
这种困难包含需求答复的一些难题,例如:“怎么集成仪器指令集和脚本环境?”“用户怎么将脚本载入仪器中?”吉时利挑选将脚本环境和指令集彻底集成,这意味着一切仪器指令都是彻底合法的Lua句子。基本上,送到仪器上的每条指令音讯都作为Lua程序履行。
这种挑选运用户很容易地从运用单条指令操控仪器过渡到运用脚本操控仪器,由于不需求学习整个新指令集。与脚本中运用的指令相同,指令能够经过GPIB或LXI接口发送到仪器。这极大地简化了从根据指令的简略操控到根据脚本的操控的过渡进程。用户能简略地发送较大的脚本而不是独自的指令到仪器。
下面咱们用代码来举例阐明一下:
事例剖析
这种挑选的缺陷是仪器指令或许关于第一次运用的用户有点生疏。举一些比如有助于阐明这一缺陷。这些比如比较了吉时利2400型源表(根据SCPI的单元)和吉时利2602型双通道数字源表(根据TSP的单元)。
让2400的源输出电流的指令是:
::SOUR:FUNC CURR
2602对应的指令是:
smua.source.func = smua.DC_AMPS
smua前缀指定双通道仪器2602的通道A。除了等号外,其他的指令相似于SCPI指令。这是Lua的赋值运算,将mua.source.func特点设为smua.DC_AMPS的值。
查询指令有一些生疏。由于指令是有用的Lua句子,所以运用print函数发生输出。SCPI查询返回到2400的源函数是:
:SOUR:FUNC?
2602对应的指令是:
print(smua.source.func)
正如SCPI仪器经过分号分隔独自指令以支撑复合指令,根据脚本的仪器也能经过句子分隔符分隔指令以支撑复合指令。在Lua中,句子分隔符是空白字符。
假定咱们的仪器现已装备为电压源。关于2400,以下指令音讯将设置输出电平,然后翻开输出:
:SOUR:VOLT 1.0; :OUTP 1
关于2602,相应指令音讯是:
smua.source.levelv = 1.0 smua.source.output = 1
上述比如阐明脚本仪器能够体现得与传统设备十分相似。仅指令语法稍;有改动。为了运用脚本引擎的悉数才能,用户只用发送音讯来运用脚本言语功用。