要通过SCPI命令查询Keysight双向直流电源的输出限制是否因过压保护(OVP)触发而锁定,可按照以下步骤操作,结合状态寄存器查询和错误队列分析实现精准判断:
使用OUTPut:STATe?命令检查输出是否被关闭(可能因过压保护触发):
scpiOUTP:STAT? ; 返回"1"表示开启,"0"表示关闭
0:输出已关闭,需进一步确认是否因过压保护触发。1:输出未关闭,可排除过压锁定(但需结合其他命令确认是否误报)。通过查询状态寄存器或错误队列,确认是否触发过压保护:
使用STATus:OPERation:CONDition?命令查询操作状态寄存器,返回二进制加权和。需参考设备手册解析寄存器位,确认是否包含“过压保护触发”标志位(通常为特定位,如第3位表示OVP):
scpiSTAT:OPER:COND? ; 返回二进制值(如"1000"表示第3位触发)
8(二进制1000)则表示触发过压保护。使用SYSTem:ERRor?命令查询错误队列,返回最近发生的错误代码。若触发过压保护,可能返回特定错误代码(如-112表示输出过压):
scpiSYST:ERR? ; 返回错误代码和描述(如"-112,"Output over voltage"")
-112:明确表示触发过压保护。0,"No error":无错误,可排除过压锁定。通过MEASure:VOLTage?命令查询实际输出电压,确认是否超过设定的过压保护阈值:
scpiMEAS:VOLT? ; 返回实际电压值(如"65.0"表示65.0V)
scpi; 1. 查询输出状态OUTP:STAT? ; 预期返回"0"(关闭)或"1"(开启)
; 2. 查询操作状态寄存器(假设第3位为OVP标志位)
STAT:OPER:COND? ; 预期返回二进制值(如"1000"表示触发)
; 3. 查询错误队列(备选)
SYST:ERR? ; 预期返回"-112,"Output over voltage""(触发)或"0,"No error""(未触发)
; 4. 查询实际电压(辅助验证)
MEAS:VOLT? ; 预期返回超过阈值的电压值(如"65.0")
VOLTage:PROTection:LEVel)已合理设置,避免误触发。OUTPut:PROTection:VOLTage:CLEar命令清除保护状态。