SCPI命令表

可编程直流电源
4.3.1 IEEE488.2共同命令 
*CLS 
*ESE 
*ESE? 
*ESR? 
*IDN? 
*OPC 
*OPC? 
*PSC 
*PSC? 
*RST 
*SRE 
*SRE? 
*STB? 
*SAV 
*RCL 




4.3.2 SCPI标准命令 
SYSTem 
:ERRor? 
:VERSion? 
:BEEPer[:IMMediate] 
:ADDRess? 




 STATus 


 :QUEStionable 
:ENABle <enable value> 
:ENABle? 
[:EVENt]? 


23 



 :CONDition?


 :OPERation 
:ENABle <enable value> 
:ENABle? 
[:EVENt]? 
:CONDition? 
:INSTrumenu 




[:EVENt]? 
:ENABle <value> 
:ENABle? 
CONDition?




 INSTrument 
[:SELect] {FIRst|SECOnd|THIrd} 
[:SELect]? 
NSELect {1|2|3} 
NSELect? 


OUTPut 
[:STATe] {0|1} 
[:STATe]? 


[SOURce:] 
CURRent[:LEVel][:IMMediate][:AMPLitude] {<current>|MIN|MAX} 
CURRent[:LEVel][:IMMediate][:AMPLitude]? {MIN|MAX} 
VOLTage[:LEVel][:IMMediate][:AMPLitude] {<voltage>|MIN|MAX} 
VOLTage[:LEVel][:IMMediate][:AMPLitude]? {MIN|MAX} 
VOLTage:PROTection[:LEVel][:IMMediate][:AMPLitude] 


 VOLTage:PROTection[:LEVel][:IMMediate][:AMPLitude]? 


4.3.3 非 
SCPI标准命令 
CALibration 
:SECure[:STATe] {ON|OFF,<quoted code>} 
:SECure[:STATe]? 
:VOLTage 


 LEVel <level> 
[:DATA] <voltage value> 




:CURRent 
LEVel <level> 
[:DATA] <current value> 




:CODE 
:SAVe 
:INITital 




OUTPut 


24



 :TIMer 
:DATA <time> 
:DATA?




 SYSTem 
:LOCal 
:REMote 
:RWLock 




DISPlay: 
[:WINDow][:STATe] {OFF|ON} 
[:WINDow][:STATe]? 




 MEASure[:SCALer] 
:CURRent[:DC]? 
[:VOLTage][:DC]? 
:POWer[:DC]? 




4.4 SCPI命令描述 
4.4.1 SCPI状态寄存器
你可以通过读取操作状态寄存器的值来确定电源的当前状态。电源通过七个状态寄存器组
记录了不同的仪器状态,这七个状态寄存器组分为状态位组寄存器,标准事件寄存器,查
询状态寄存器和操作状态寄存器(包含三个子寄存器)。状态位组寄存器记录了其它状态
寄存器的信息。下表给出了各个状态寄存器的定义。


位代号含义 
操作状态子寄存器 
0 CAL 电源正在计算新的标定系数 
1 UNR 电源状态不确定 
2 CV 电源正处在定电压输出状态 
3 CC 电源正处在定电流输出状态
4 RI 未使用 
0 OV 未使用
查询状态寄存器 
1 OT 电源处于过温度状态 
0 OPC 操作完成,电源并行操作被完成 
2 QYE 查询错误,输出队列数据丢失 
3 DDE 仪器相关错误 
标准状态寄存器 
4 EXE 执行错误,命令参数溢出或操作条件不一致 
5 CME 命令错误,在接受的命令信息中有语法或语义误。
7 PON 开机位:开机后该位为 

3 QUES 如果一个使能的查询状态寄存器的状态发生变化,则 
QUES位置 

4 未使用 
5 ESB 若一个使能的标准事件状态寄存器的状态发生变化,则 
ESB位置 
1
状态字节寄存器 
6 MSS 自身


 25



7 OPER 若一个使能的操作状态寄存器的状态发生变化,则 
OPER位置 

操作状态寄存器 
1 INST1 如果一个操作状态子寄存器的状态发生变化,则 
INST1位置 

2 INST2 同上
3 INST3 同上


 26 



下图定义了电源状态寄存器的结构


 condition event enable condition event enable condition event enable 


CAL CAL CAL CAL CAL CAL CAL CAL CAL 
UNR UNR UNR UNR UNR UNR UNR UNR UNR 
CV CV CV CC CC CC CV CV CV 
CC CC CC CV CV CV CC CC CC 









操作状态子寄存器(通道 1)操作状态子寄存器(通道 2)操作状态子寄存器(通道 3) 
condition event enable 



操作状态寄存器 
condition event enable event enable 


或 



标准事件寄存器状态位元组寄存器 
condition event enable 



注: 
各寄存器中位的位置
如右图所示,最低位
在上,最高位在下 
INST1 INST1 INST1 
INST2 INST2 INST2 
INST3 INST3 INST3 
OPC OPC OPC 
QYE QYE QYE 
DDE DDE DDE QUES QUES 
EXE EXE EXE 
CME CME CME ESB ESB 
RQS RQS 
PON PON PON OPER OPER 
OV OV OV 最低位 0 
第一位 1 
第二位 2 
第三位 3 
第四位 4 
第五位 5 
第六位 6 
最高位 7 
OT OT OT
查询状态寄存器





4.4.2 SCPI解释 
IEEE488.2共同命令 
*CLS 




这条命令清除下面的寄存器:标准事件寄存器、查询事件寄存器、操作状态寄存器、操作


状态子寄存器、状态字节寄存器的错误信息。
命令语法:*CLS。
例:*CLS 




*ESE 


这条命令编辑了标准事件使能寄存器的值。编程参数判定了标准事件寄存器中哪些位为 
1


时将会引起状态字节寄存器中 
ESC位置 
1。
命令语法:*ESE <参数> 
参数:0~255 
上电值:参考*PSC命令。
例:*ESE 110 




*ESR? 


这条命令可以用来读取标准事件寄存器的值。在该命令被执行后,标准事件寄存器的值被


清零。标准事件寄存器的位与标准事件使能寄存器的位定义相同。
命令语法:*ESR? 
返回参数:<NR1>
例:*ESR? 




*IDN?
这条命令可以读电源的相关信息,它返回的参数包含了四个段。
命令语法:*IDN?
返回参数:”制造商“,”产品标号“,”产品序列号“,”软件版本号“。
例:ITECH,6322,000000000000111101,V1.68 
*OPC 


当在这条命令这前的所有命令被执行完成后,标准事件寄存器的 
OPC位被置 
1。
命令语法:*OPC 
上电值:参考*PSC命令。
例:*OPC 




*PSC 


该命令用来控制当电源上电时是否会产生一个服务请求。 
1|ON:当电源上电时,所有使能寄存器的值被清零。 
0|OFF:当电源上电时。所有使能寄存器的值为上次保存的值。
命令语法:*PSC <参数> 
参数:0|1|ON|OFF 
上电值:上次保存的值。




 28 



例:*PSC ON 


*RST 


这条命令复位电源所有的参数到出厂状态。
命令语法:*RST 
例:*RST 


*SRE 


这条命令编辑了状态位组使能寄存器的值。编程参数决定了状态位组寄存器中哪些位为 
1
时将会引起状态位组寄存器中 
RQS位置 
1。状态位组使能寄存器的位定义与状态位组寄存
器的位定义相同。


命令语法:*SRE <参数> 
参数:0~255 
上电值:参考*PSC命令。
例:*SRE 110 


*STB?
这条命令用来读取状态字节寄存器的值。在该命令被执行后,状态字节寄存器的值被清零。
命令语法:*STB?
返回参数:<NR1> 
例:*STB? 




*SAV


这条命令用来保存电源的当前用户设定值(当前电流、电压、最大电压、步进位)到指定


单元。
命令语法:*SAV <参数> 
参数:0~49 
例:*SAV 10 


*RCL 


这条命令将从指定单元中恢复*SAV命令保存的设定值。
命令语法:*RCL <参数> 
参数:0~49 
例:*RCL 10 


SCPI标准命令 
SYSTem:ERRor


这条命令用来读取电源的出错信息。
命令语法:SYSTem:ERRor? 
返回参数:参见表 

例:SYST:ERR? 


29



SYSTem:VERSion 
这条命令用来查询软件的版本号。


命令语法:SYSTem:VERSion? 


返回参数:软件的版本号。


例:SYST:VERS? 


SYSTem:BEEPer 


这条命令用来测试蜂鸣器,执行后电源应鸣叫一声。


命令语法:SYSTem:BEEPer[:IMMediate] 


例:SYST:BEEP 


SYSTem:LOCal 


这条命令用来设置电源为本地操作状态。


命令语法:SYSTem:LOCal 


例:SYST:LOC 


SYSTem:REMote 


这条命令用来设置电源为远程操作状态。


命令语法:SYSTem:REMote 


例:SYST:REM 


SYST:RWLock
这条命令也是用来设置电源为远程操作状态的。但与上一条不同的是,本命令无法在电
源上按(LOCATE)键切换到本地操作状态,需用命令才能恢复。
命令语法:SYSTem:RWLock 


例:SYST:RWL 


SYSTem:ADDRess 


这条命令用来查询电源的本机地址。


命令语法:SYSTem:ADDRess? 


例:SYST:ADDR? 


STATus:QUEStionable:ENABle


这条命令编辑了查询事件使能寄存器的值。编程参数决定了查询事件寄存器中哪些位为 
1时将会引起状态位组寄存器中 
QUES位置 

命令语法:STATus:QUEStionable:ENABle <参数> 
参数:0~255 
上电值:参考 
PSC命令。
例:STAT:QUES:ENAB 110 


STATus:QUEStionable:ENABle?
这条命令用来读取查询事件使能寄存器的值。该命令被执行后,查询事件使能寄存的值
被清零。


命令语法:STATus:QUEStionable:ENABle?


 30 



返回参数:<NR1> 
例:STAT:QUES:ENAB? 


STATus:QUEStionable? 


这条命令可以用来读取查询事件寄存器的值。在该命令被执行后,查询事件寄存器的值
被清零。
命令语法:STATus:QUEStionable[:EVENt]? 
返回参数:<NR1>。
例:STAT:QUES? 


STATus:QUEStionable:CONDition? 


这条命令可以用来读取查询条件寄存器的值。当查询条件寄存器中某位的值变化时,则
查询事件寄存器中对应的位被置 

命令语法:STATus:QUEStionable:CONDition? 
返回参数:<NR1> 
例:STAT:QUES:COND? 


STATus:OPERation ENABle 


这条命令编辑了操作事件使能寄存器的值。编程参数决定了操作事件寄存器中哪些位为 




1时将会引起状态位组寄存器中 
OPER位置 
1。
命令语法:STATus: OPERation:ENABle <参数> 
参数:0~255 
上电值:参考 
PSC命令。
例:STAT:OPER:ENAB 110 


STATus:OPERation:ENABle? 


这条命令可以用来读取操作使能寄存器的值。在该命令被执行后,操作使能寄存器的值


被清零。
查询语法:STATus:OPERation:ENABle? 
返回参数:<操作使能寄存器的值> 
例:STAT:OPER:ENAB? 


STATus:OPERation?


这条命令可以用来读取操作事件寄存器的值。在该命令被执行后,操作事件寄存器的
值被清零。
查询语法:STATus:OPERation[:EVENt]? 
返回参数:<操作事件寄存器的值> 
例:STAT:OPER? 


STATus:OPERation:INSTrument? 


这条命令用来读取操作事件子寄存器的值。在该命令被执行后,操作事件子寄存器的值
被清零。(注意:仅对当前通道的寄存器有效)
查询语法:STATus:OPERation:INSTrument[:EVENt]? 
返回参数:<操作事件子寄存器的值> 


31



例:STAT:OPER:INST? 


STATus:OPERation:INSTrument:ENABle 


这条命令用来设置操作事件使能子寄存器的值,编程参数决定了操作事件使能子寄存器
中哪些位为 
1时将会引起状态字节寄存器中 
OPER位位置 
1。(注意:仅对当前通道的寄
存器有效) 


命令语法:STATus:OPERation:INSTrument:ENABle <value> 
参数:0~255 
上电值:参考 
PSC命令。
例:STAT:OPER:INST:ENAB 110 




STATus:OPERation:INSTrument:ENABle?


这条命令用来读取操作使能子寄存器的值。在该命令被执行后,操作使能子寄存器的值


被清零。(注意:仅对当前通道的寄存器有效)
查询语法:STATus:OPERation:INSTrument:ENABle?
返回参数:<操作事件使能子寄存器的值> 
例:STAT:OPER:INST:ENAB? 




STATus:OPERation:INSTrument:CONDition? 


这条命令用来读取操作条件子寄存器的值,在该命令被执行后,操作条件子寄存器的值


被清零。(注意:仅对当前通道的寄存器有效)
查询语法:STATus:OPERation:INSTrument:CONDition?
返回参数:<操作条件寄存器的值> 
例:STAT:OPER:INST:COND? 




INSTrument[SELect] 


这条命令用来选择当前的通道。
命令语法:INSTrument[:SELect] <参数> 
参数:FIRst|SECOnd|THIrd,表示三个通道。
上电值:FIRst 
例:INST SECO 




INSTrument[:SELect]? 


这条命令用来读取当前选择的通道。
查询语法:INSTrument[:SELect]?
返回参数:FIRst(第一通道)|SECOnd(第二通道)|THIrd(第三通道) 
例:INST? 




INSTrument:NSELect 


这条命令与 
INSTrument[SELect]命令相似,不同仅在用数字表示通道。
命令语法:INSTrument:NSELect <参数> 
参数:1~3 
上电值:1 
例:INST:NSEL?




 32



INSTrument:NSELect?


这条命令用来读取当前选择的通道。它与 
INSTrument[:NSELect]不同仅在用数字表示


通道。
查询语法:INSTrument:NSELect? 
返回参数:1~3 
例:INST:NSEL? 


OUTPut[:STATe] 


这条命令用来设置电源的当前通道为开启和关闭状态。
命令语法:OUTPut[:STATe] <参数> 
参数:1(ON)|0(OFF) 
例:OUTP 1 




OUTPut[:STATe]? 


这条命令用来查询电源的当前通道为开启和关闭状态。
查询语法:OUTPut[:STATe]? 
返回参数:0|1 
例:OUTP? 




OUTPut:TIMer:DATA


这条命令用来设置电源的当前通道的输出定时器的时间。
命令语法:OUTPut:TIMer:DATA <参数> 
参数:0~999999秒。(0秒为关闭定时器)。
上电值:与菜单设置有关。
例:OUTPut:TIMer:DATA 100 


OUTPut:TIMer:DATA? 


这条命令用来查询电源的当前通道的输出定时器的时间。
查询语法:OUTPut:TIMer:DATA? 
返回参数:0~999999 
单位:秒。
例:OUTP:TIM:DATA? 


[SOURce:]CURRent[:LEVel][:IMMediate][:AMPLitude] 


这条命令用来设置电源的当前通道的输出电流值。
命令语法:[SOURce:]CURRent[:LEVel][:IMMediate][:AMPLitude] <参数> 
参数:MIN|MAX|MIN TO MAX 
单位:A mA uA
上电值:参考菜单设置。
复位值:MAX 
例:CURR 2A 


[SOURce:]CURRent[:LEVel][:IMMediate][:AMPLitude]? 


这条命令用来查询电源的当前通道的设置电流。


 33 



查询语法:[SOURce:]CURRent[:LEVel][:IMMediate][:AMPLitude]? <参数> 


参数:MIN | MAX |无
返回参数:MIN TO MAX 
单位:A 
例:CURR? 


[SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude] 


这条命令用来设置电源的当前通道的输出电压值。
命令语法:[SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude] 
参数:MIN|MAX|MIN TO MAX 
单位:V mV uV kV 
上电值:参考菜单设置。
复位值:MIN 
例:VOLT 10V 


[SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude]? 


这条命令用来查询电源的当前通道的设置电压值。
命令语法:[SOURce:]VOLTage[:LEVel][:IMMediate][:AMPLitude]? <参数> 
参数:MIN|MAX|无
返回参数:MIN TO MAX 
单位:V 
例:VOLT? 




[SOURce:]VOLTage:PROTection[:LEVel][:IMMediate][:AMPLitude] 


这条命令用来设置电源的当前通道的最大输出电压值。


命令语法:[SOURce:]VOLTage:PROTection[:LEVel][:IMMediate][:AMPLitude] <参数> 
参数:不超过电源所能输出的最大电压。
单位:V mV kV uV 
上电值:参考菜单设置。
复位值:电源所能输出的最大电压。
例:VOLT:PROT 20V 


[SOURce:]VOLTage:PROTection[:LEVel][:IMMediate][:AMPLitude]? 


这条命令用来查询电源的当前通道的最大设置电压。


命令语法:[SOURce:]VOLTage:PROTection[:LEVel][:IMMediate][:AMPLitude]? 
返回参数:电源的当前通道的最大输出电压值
单位:V 
例:VOLT:PROT? 


MEASure[:SCALer]:CURRent[:DC]? 


读取实际输出电流。
命令语法:MEASure[:SCALer]:CURRent[:DC]? 
返回参数:实际输出电流。
单位:A 


34



例:MEAS:CURR? 


MEAS[:SCALer][:VOLTage][:DC]? 


读取实际输出电压。
命令语法:MEAS[:SCALer][:VOLTage][:DC]? 
返回参数:实际输出电压。
单位:V 
例:MEAS? 


MEASure[:SCALer]:POWer[:DC]? 


读取实际输出功率。
命令语法:MEASure[:SCALer]:POWer[:DC]? 
返回参数:实际输出功率。
单位:W 
例:MEAS:POW? 


DISPlay[:WINDow][:STATe] 


开启显示屏/关闭显示屏。
命令语法:DISPlay[:WINDow][:STATe] <参数> 
参数:0(关闭)|1(开启) 
上电值:1(开启) 
复位值:1(开启) 
例:DISP 1 




DISPlay[:WINDow][:STATe]? 


开启显示屏/关闭显示屏状态查询。
返回参数:1(开启)|0(关闭) 
例:DISP? 


CALibration:SECure[:STATe] 


关闭/开启校准保护,当校准保护被禁止后才能进行校准。且在校准保护被禁止后命令
表中除标准命令外其它的命令都不能用,且仅能校准当前通道。
命令语法:CALibration:SECure[:STATe] <参数 
1>,<参数 
2> 
参数 
1:0(关闭)|1(开启) 
参数 
2:校验密码
单位:无。
上电值:1|(开启) 
复位值:1|(开启) 
例:CAL:SEC 0,"6322" 


CALibration:SECure[:STATe]? 


读取校准保护位的状态。
查询语法:CALibration:SECure[:STATe]? 
返回参数:0(关闭)|1(开启) 


35



例:CAL:SEC? 


CALibration:VOLTage:LEVel 


设置电压校准的校准点。
命令语法:CALibration:VOLTage:LEVel <参数> 
参数:P1<第 
1点>|P2<第 
2点> 
例:CAL:VOLT P1 


CALibration:VOLT[:DATA] 


设置电压校准的校准点电压。
命令语法:CALibration:VOLT[:DATA] <参数> 
参数:当前的实际输出电压。
单位:V mV uV kV 
例:CAL:VOLT 1V 


CALibration:CURRent:LEVel 


设置电流校准的校准点。
命令语法:CALibration:CURRent:LEVel <参数> 
参数:P1<第 
1点>|P2<第 
2点> 
例:CAL:CURR:LEV P1 


CALibration:CURRent[:DATA] 


设置电流校准的校准点电流。
命令语法:CALibration:CURRent[:DATA] <参数> 
参数:P1<第 
1点>|P2<第 
2点> 
例:CAL:CURR 0.3A 


CALibration:SECure:CODE 


设置新的校准密码
命令语法:CALibration:SECure:CODE <参数> 
参数:长度为 
4的校准密码字符串。
例:CAL:SEC:CODE "1234" 


CALibration:STRing


设置校准时的校准信息。


命令语法:CALibration:STRing <参数> 
参数:最大长度为 
24个字母的字符串,也就是用户校准时记录的相关信息。如校准时
的时间、次数等。


例:CAL:STR "2005-1-9 20:12" 


CALibration:STRing? 


查看当时的校准信息。
查询语法:CALibration:STRing? 
返回参数:保存在电源中的校准信息


 36



例:CAL:STR? 


CALibration:SAVe


保存校准系数到 
EEPROM 
命令语法:CALibration:SAVe
例:CAL:SAV 
说明:校准后的校准数据只有保存后才会在下次生效。 




CALibration:INITital 


初始化校准系数,恢复到出厂值。
命令语法:CALibration:INITital 
例:CAL:INIT 
说明:当校准失败后可用此命令恢复。


第五章 PV6300软件使用说明 





SCPI程控仪器标准命令,六十年代的自动测试系统{ATS) 没有 标准的接121和程序、接口电路}{{设计者自行考 虑, 用汇编语言编程。那时微型it 算机尚未问 世、接口总线标准难以确定。结果是测量仪器 之间的连接和通信不能兼容、编程结果不能互 换和共享,对设计者和使用者都不方便: 七十年代徽处理器的普及和智能仪器的出 现,使IEEE 488.1总线接口标准获得公-^. 对 于自动测试系统的影响非常深远。到目前为止, 约 分之八十的ATS仍使用正E E 488.1总线。 总线控制器大都由微型计算机担当.BA S Ic 语青作为通用的编程手段,代替编程效率较低 的汇编语言。换句话说,ATs的接VI总线在硬 件和遥控信息两方面作出明确规定、ATS本身 也获得迅速的发展= 八十年代ATS 要求对接VI总线有进一步 的提高,于是IEEE48 8.1升级至1EEE488.2,对 数据格式、状态报告、命令设置、误差处理、 器件命令等更高的消息层次作出规定,使A、 B.C三胫的消息通信都有规叮循(见图l】。 但是程控仪器的最高层D 【器件消息层)仍然由 仪器设计者自行规定。同时微处理器也迅速从 字长8位发展到16位、32位。达到以三个l0M 作为征的水平(即时钟10MH z,内存lcMB. 运算速度10MIP), 数据传输速度和运算能力 显著提高。编程语青除BAsIc外,也使用更 高级的c语言。并出现专供ATS编程用的机 辅设计工具。 由于超大规模集成电路使测量仪器的体积 缩小, 出现单片AsIC电路的仪器, 或者一个 机箱式仪器由一一块插卡来代替:以32位的V ME微机E业总线为雎础的程控仪器V xI总线随 之诞生,V xI对软件和语言并无规定,实际上 执fflEEE 48 8.2协议。V x I总线为九十年代 A T s的小) 化提供更良§r的硬件条件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值