哈工大测控所1(StandardCommandsforProgrammableInstruments)补充程控仪器标准命令SCPI哈工大测控所2主要内容本章的学习要解决三个问题为什么提出SCPI?SCPI是什么?SCPI怎么用?SCPI的目标SCPI语法与风格(SyntaxandStyle)SCPI标准命令(CommandReference)SCPI数据交换格式(DataInterchangeFormat)SCPI仪器类别(InstrumentClasses)哈工大测控所3为什么提出SCPI?程控仪器发展简史1960s,商用程控仪器出现1975年,IEEE488-1975后来成为IEEE488.1-19871987年,IEEE488.21990年,九家仪器公司联合推出SCPI建立在IEEE488.2基础上面向测试信号或测试功能倡导仪器控制的一致性1999年重新修订为SCPI-1999哈工大测控所4第一节SCPI的目标及主要内容一.SCPI的目标SCPI的目标是缩短自动测试设备程序开发时间SCPI通过为仪器控制和数据使用提供广泛兼容的编程环境来达成这一目标。所有SCPI仪器都使用标准化的程控消息、仪器响应和数据格式从而实现兼容的编程环境哈工大测控所5第一节SCPI的目标及主要内容程控命令面向测试功能,而不是描述仪器操作;兼容的编程环境使用同样的命令和参数来控制具有相同功能的仪器。纵向兼容:是指同类仪器应有相同的控制命令两台示波器在时基、触发、电压设置上应有相同的控制命令使用同一命令能从两台不同的万用表读回直流电压横向兼容:是指两台不同类别的仪器使用同样的命令来控制类似的测试功能示波器和电子计数器都能进行频率测量,横向兼容要求它们使用同样的命令来进行频率测量功能兼容:是指两台仪器使用同样的命令来执行同样的功能频谱分析仪和射频(RF)源同样能进行扫频,如果它们都使用同样的命令来执行扫频的功能,那么它们在扫频上是功能兼容的哈工大测控所6第一节SCPI的目标及主要内容减少类似测量功能的控制方法是保证编程兼容性的关键SCPI的基本原则是用同一命令控制相同的仪器功能为便于学习,SCPI采用了为生产者和用户广泛支持的工业标准名词和术语哈工大测控所7第一节SCPI的目标及主要内容在与通信物理连接层硬件无关的高层次上定义程控消息SCPI基于IEEE488.2形成,但并不局限于GPIB接口,它也可用于RS232C,VXIb总线与编程手段和程序语言无关,SCPI用户测试程序模块易于移植各种编程语言,如C、BASIC、FORTAN等都能完成SCPI命令的传递为程序员提供了非常灵活的测试程序编制环境哈工大测控所8第一节SCPI的目标及主要内容SCPI提供不同层次的仪器控制简单的测量命令为用户提供方便快捷的SCPI仪器控制,而更详细的命令则提供传统仪器的控制SCPI的可扩性,是其成为“活”标准SCPI允许不断用新命令扩充仪器程控命令,当新的仪器出现时能够保持与已有的SCPI仪器的编程兼容性SCPIATE测试程序是向上兼容的哈工大测控所9第一节SCPI的目标及主要内容二.SCPI的主要内容SCPI主要包括四部分内容:语法与风格(SyntaxandStyle)标准命令(CommandReference)数据交换格式(DataInterchangeFormat)仪器类别(InstrumentClasses)哈工大测控所10第一节SCPI的目标及主要内容1.语法与风格助记符程控题头参数表达式状态报告哈工大测控所11第一节SCPI的目标及主要内容1.语法与风格助记符任何仪器程控命令都有一个长型和短型助记符IEEE488.2要求每个助记符的长度不能超过12个字符,包括任何可能出现的数值后缀短型助记符是长型助记符的缩写SCPI要求仪器应该只接受精确的长型或短型助记符哈工大测控所12第一节SCPI的目标及主要内容助记符的生成规则长型助记符由一个单词或短语构成。如果是单词,则整个单词构成助记符;如果是短语,则每个单词的第一个字符和整个最后一个单词构成助记符CONFIGURE--CONFigureremotemessage--RMESsage短型助记符由长型助记符的前4个字符构成,如果长型助记符的字符长度小于等于4时,长短型助记符相同CONFIGURE--CONFTIME--TIME如果长型助记符的长度大于4,而第四个字符是元音时,短型助记符将舍弃这个元音而变成3个字符TIMer--TIMSWEep--SWE哈工大测控所13第一节SCPI的目标及主要内容程控题头公用命令与询问题头仪器控制命令与询问题头参数字符程控数据十进制数值程控数据布尔程控数据功能间的耦合单位和后缀哈工大测控所14第一节SCPI的目标及主要内容表达式数值表达式通道列表表达式数值列表表达式数据交换格式表达式仪器指示表达式状态报告事件状态寄存器结构操作状态寄存器可疑数据/信号状态寄存器哈工大测控所15第一节SCPI的目标及主要内容2.标准命令SCPI标准命令给出了SCPI要求的和可选的命令SCPI命令可分为仪器公用命令和仪器特定控制命令两个部分仪器公用命令(IEEE488.2命令)仪器特定控制命令测量组命令23个子系统命令哈工大测控所16第一节SCPI的目标及主要内容3.数据交换格式定义了仪器与应用程序之间、应用程序和应用程序之间以及仪器与仪器之间数据集的标准的表示形式数据交换格式采样模块化结构4.仪器类别(1999版本)主要是定义了通用的仪器类别功能实现所需的命令和行为哈工大测控所17第二节SCPI语法与风格一.SCPI仪器模型信号路由信号路由测量功能信号产生触发存储器格式化格式化数据总线数据总线图SCPI程控仪器模型哈工大测控所18第二节SCPI语法与风格SCPI采用这样一个仪器模型作为达成兼容性的一种方式,SCPI关注纵向兼容、横向兼容、功能兼容三种类型的兼容性仪器模型体现了SCPI对仪器功能的观点和分类仪器模型定义了语言元素在SCPI层次结构中放置的位置仪器模型反映了仪器中测量和信号数据应用的流程对具体的仪器而言,并不需要实现模型中的所有模块的功能,只需实现仪器模型中用到的相应的模块的功能哈工大测控所19第二节SCPI语法与风格电压表可能只需要用到测量功能、触发功能和格式化功能单输出的源仪器可能只用到信号产生和格式化块格式化测量功能触发数据总线简化的检测仪器模型信号发生格式化数据总线简化的源仪器模型哈工大测控所20第二节SCPI语法与风格二.标准命令的句法和型式1.程控题头公用命令和询问题头﹡RST(复位)﹡OPC?(操作完成询问)﹡程控助记符?公用命令和询问句法流图哈工大测控所21第二节SCPI语法与风格仪器控制题头OUTPut:ATTenuation(控制输出衰减)MEASure:VOLTage:AC?:短型助记符长型助记符数值后缀?:仪器控制题头句法流图哈工大测控所22第二节SCPI语法与风格三.参数SCPI使用IEEE488.2中规定的参数型式,只是有附加限制字符程控数据(CharacterProgramData)十进制数值程控数据(DecimalNumericProgramData)布尔程控数据(BooleanProgramData)功能耦合(CouplingofFunctions)测量单位和后缀(UnitsofMeasureandSuffixes)哈工大测控所23第二节SCPI语法与风格某些字符程控数据被定义为特殊的数值程控数据DEFault:缺省值,它可能是仪器相关的,也可能是SCPI标准指定的值MINimum/MAXimum:最小/最大值UP/DOWN:上/下,增加/减少哈工大测控所24第二节SCPI语法与风格布尔程控数据Boolean实际上是ON|OFF|NRf的简写布尔数据没有单位,取值0或1作为字符程控数据时,ON代表1,OFF代表0作为输入时NRf被取整,非零就代表1作为仪器响应数据时,只能取0或1,而不能使用ON/OFF哈工大测控所25第二节SCPI语法与风格3.表达式数值表达式(NumericExpressions)(-5.0*1.000E-002)(5MOD3)通道列表(ChannelLists)(@1,2,4:7)(@1,2),(@3,4)(@1!1:2!3)数值列表(NumericLists)(1.0,2.0,5.0)(1:5)哈工大测控所26第二节SCPI语法与风格4.状态报告SCPI要求IEEE488.2规定的状态机制,包括完整实现事件状态寄存器结构(EventStatusregisterstructure)。SCPI器件的“最小状态报告结构”包含IEEE488.2定义的“标准状态数据结构”及SCPI定义的操作状态寄存器(OPERationStatusregister)和可疑数据/信号状态寄存器(QUEStionnabledata/signalStatusregister)。它是SCPI要求的状态报告能力的核心部分。哈工大测控所27SCPI要求的最小状态报告结构示意图哈工大测控所28第二节SCPI语法与风格四.SCPI命令树图命令树图用于定义SCPI的命令集,它描述了命令、命令之间的层次关系、相关的参数以及必要的注释命令树图通常由三部分构成:关键字(KEYWORD)、参数形式(PARAMETERFORM)和注释(NOTES)哈工大测控所29第二节SCPI语法与风格CONFigure子系统(部分)命令树示例KeywordParameterFormNotesCONFigure:VOLTage:DC{range|MIN|MAX|DEF}:AC{range|MIN|MAX|DEF}:CURRent:DC{range|MIN|MAX|DEF}:AC{range|MIN|MAX|DEF}CONFigure?[queryonly]哈工大测控所30第二节SCPI语法与风格关键字提供命令的名字;由于SCPI命令基于层次结构,一个实际的命令通常由一个或多个关键字构成,关键字之间用:分隔CONFigure:VOLTage:DC参数形式指明命令的参数个数和顺序,以及它们的合法取值注释通常命令的询问形式可以由命令形式加上问号构成;但是不是所有的命令都有询问形式,也有的命令只能有询问命令,注释部分的内容通常用于指示这样的情况哈工大测控所31第三节标准命令一、SCPI命令可分为两类公用命令SCPI仪器特定控制命令1.SCPI仪器公用命令SCPI把IEEE488.2要求仪器必须执行的公用命令作为SCPI仪器公用命令,这些公用命令用于控制仪器的某些基本功能操作,其句法和语义遵循IEEE488.2的规定哈工大测控所32第三节标准命令表5-1SCPI公用命令简表命令功能描述*CLS清除状态(ClearStatusCommand)*ESE标准事件状态使能(StandardEventStatusEnableCommand)*ESE?标准事件状态使能查询(StandardEventStatusEnableQuery)*ESR?标准事件状态寄存器查询(StandardEventStatusRegisterQuery)*IDN?仪器标识查询(IdentificationQuery)*OPC操作完成(OperationCompleteCommand)*OPC?操作完成查询(OperationCompleteQuery)*RST复位(ResetCommand)*SRE服务请求使能(ServiceRequestEnableCommand)*SRE?服务请求使能查询(ServiceRequestEnableQuery)*STB?读状态字节查询(ReadStatusBy