SCPI(Standard Commands for Programmable Instruments)——可编程仪器的标准命令
一、SCPI(Standard Commands for Programmable Instruments)——可编程仪器的标准命令,是一个独立于硬件的纯粹的软件标准,字符串可通过任何仪器接口进行传送。
SCPI是一种建立在现有标准IEEE 488.1和IEEE 488.2基础上,并遵循了IEEE 754标准中浮点运算规则、ISO646信息交换7位编码符号等多种标准的标准化仪器编程语言。它规定了在控制器到仪器和仪器到控制器之间信息交换层消息的内容和构造,从而以一种标准的方式来描述各种各样的仪器功能,其目的在于减少自动测试设备的程序开发时间。
1.SCPI命令由三部分内容组成:
1)语法和式样——用于描述实际语言的应用及发展维护的基本原理;
2)命令结构——描述在仪器中出现的实际语言构造;
3)数据交换格式——描述一种在仪器与应用之间、应用与应用之间或仪器与仪器之间可以使用的数据集的标准表示方法。
2.SCPI命令可分成两种命令:SCPI通用命令和仪器指定的SCPI命令。
1)SCPI通用命令包括了在IEEE 488.2标准中所定义的通用功能,这些功能通常适用于支持IEEE 488.2标准的测量仪器。SCPI通用命令与仪器的测量无关,主要用来控制重设、自我测试以及状态操作,该组命令以星号“*”开始,没有层次结构。每条指令独立完成特定的功能。表为SCPI通用命令集。
表 SCPI 通用命令集
*IDN?
*ESE
*OPC
*SRE?
*RST
*ESE?
*OPC?
*STB
*CLS
*ESR
*SRE
*TST?
*WAI
2)SCPI仪器特定控制命令用来从事测量、切换开关、读取数据以及控制仪器设置等工作,这些函数通常只应用于与之对应的仪器。特定控制命令采用的是一套树状分层结构的命令集通常由三部分构成:关键字、参数形式和注释。如表3-3所示为一个SCPI命令树示例,可见SCPI命令树分为多个子系统,每个子系统由一个根命令和一个或数个层次命令构成。
SCPI命令树
关键字
参数形式
注释
:SENSe
:FREQuency
:CENTer
:SPAN
:BWIDth
:RESolution
:VIDeo
:STATus
:OPERation
:CALCulate
:MARKer
:MAXimum
<freq>
<freq>
<freq>
<freq>
<Boolean>
[no query]
表中[:SENSe]:FREQuency:CENTer <freq>命令是用来设置频谱分析仪的中心频率。SENSe是命令的第一级关键字,即根命令,FREQuency是第二级关键字,:CENTer是第易做图关键字,各级依次排列,直到SENSe命令的最底层。其中“:”将关键字和较低一层的关键字分开;<freq>里为所设置的频率参数值(命令格式要求:方括号“[]”内是可以省略部分,小写字母也可以省略,而尖括号“<>”内为必须填写部分。例如将中心频率设置为14的命令可以写成::SENS:FREQ:CENT 14GHz或者:FREQ:CENT 14GHz)。
二、在测试系统中的应用
SCPI的语句以ASCII文本的方式存在,因此可以被任何计算机测试编程语言所调用,方便做成PC端软件。其次,SCPI可以与IEEE 488.1(包括GPIB)、VXI总线、RS-232C、LXI总线等控制器或仪器接口一起使用。而且它具有很好的功能方面的兼容性,可以使用同样的指令和参数来控制具有相同功能的不同仪器,这样可以保证设计出的软件具有可重复使用性。
根据以上分析,可以说明SCPI是适用于地球站天线测试系统中对于频谱分析仪的控制部分的。当然,关于这方面的运用,我们还需要找到将其嵌入软件程序当中的方法,也就是找到SCPI与PC端软件语言之间的编程接口。
补充:综合编程 , 其他综合 ,