基于C#的可编程仪器标准命令(SCPI)实践 (附源代码)
SCPI 概述
- SCPI于1990与IEEE 488.2协议一起面世。这套标准定义了可用于控制一切仪器的语法,命令结构以及数据格式。比如,通用的命令,如配置仪器参数的命令CONFigure,测量命令MEASure等。这些命令可用于任一仪器,并且同一类的命令属于同一子系统里。SCPI同时也定义了若干仪器的种类。比如,任何可控制的电源都会实现DCPSUPPLY基本功能类型。仪器的类别规定了它们会去实现什么样的子系统,当然也包括针对仪器的特定功能。
- 需要注意的是,SCPI并未定义物理层的传输信道的实现方法。虽然上文指出它最开始是和IEEE 488.2(即GPIB)面世的,但SCPI控制命令也可用于串口(RS-232),以太网,USB接口,VXIbus等若干硬件总线。
- SCPI命令S是ASCII字符串,通过物理传输层传入仪器。命令由一连串的关键字构成,有的还需要包括参数。在协议中,命令规定为如下形式:CONFigure。在使用中,即可以写全名,也可以仅写仅包含大写字母的缩写。通常仪器对于查询命令的反馈也为ASCII代码。在传输大量数据时,二进制数据也是可以使用的。
SCPI 语法格式和命令的使用方式
- 改变仪器运行状态的set操作(打开/关闭电源输出),或者查询仪器状态的query操作(例如读取输出电压值)。查询命令一般以问号(?)结尾。有些命令即可以用来设置,也可以用来查询仪器。
- 相似的命令可以被归类成一种层状或树状结构。例如,任何读取仪