通过SCPI指令查询双向直流电源输出序列的当前状态或错误信息,需结合系统状态查询指令和输出控制相关指令。以下是具体方法及示例:
一、查询电源输出序列的当前状态
1. 查询输出是否启用
scpiOUTP:STAT? ; 返回"1"表示输出已启用,"0"表示禁用
示例响应:
1 ; 输出已启用
2. 查询输出模式(如序列模式、固定模式等)
scpiOUTP:MODE? ; 返回当前输出模式(如"LIST"表示序列模式)
示例响应:
LIST ; 当前处于序列输出模式
3. 查询序列运行状态(如运行中、暂停、停止)
scpiPROG:LIST:STAT? ; 返回序列运行状态(如"RUN"、"HOLD"、"DONE")
示例响应:
RUN ; 序列正在运行
4. 查询当前序列步数及总步数
scpiPROG:LIST:COUN? ; 返回当前已执行的步数PROG:LIST:SIZE? ; 返回序列总步数
示例响应:
5 ; 当前已执行到第5步10 ; 序列总步数为10
5. 查询当前步的电压/电流值
scpiPROG:LIST:VOLT:DATA? <步数> ; 查询指定步的电压值(若未指定步数,可能返回当前步)PROG:LIST:CURR:DATA? <步数> ; 查询指定步的电流值
示例响应:
10.0 ; 当前步电压为10V
二、查询错误信息
1. 查询最近一次错误代码
scpiSYST:ERR? ; 返回最近一次错误代码及描述(格式:<错误代码>,<错误描述>)
示例响应:
-100."Command error" ; 错误代码-100表示命令语法错误
2. 查询所有错误队列(部分设备支持)
scpiSYST:ERR:ALL? ; 返回错误队列中的所有错误(按时间顺序排列)
示例响应:
-100."Command error",-200."Over voltage" ; 两个错误依次为命令错误和过压
3. 清除错误队列
scpiSYST:ERR:CLE ; 清除错误队列(执行后再次查询`SYST:ERR?`将返回"0."No error")
三、查询序列配置参数
1. 查询序列插值模式(如线性插值、无插值)
scpiPROG:LIST:INTERP? ; 返回插值模式(如"LIN"表示线性插值)
示例响应:
LIN ; 当前使用线性插值
2. 查询序列循环次数(若支持循环)
scpiPROG:LIST:LOOP:COUN? ; 返回序列循环次数(0表示无限循环)
示例响应:
3 ; 序列将循环3次
3. 查询序列触发源(如内部触发、外部触发)
scpiTRIG:SOUR? ; 返回触发源(如"BUS"表示通过SCPI命令触发)
示例响应:
BUS ; 通过SCPI命令触发序列
四、完整查询示例
场景:查询序列输出状态及错误信息
scpi*RST ; 复位设备(可选)OUTP:STAT? ; 查询输出是否启用
PROG:LIST:STAT? ; 查询序列运行状态
PROG:LIST:COUN? ; 查询当前步数
SYST:ERR? ; 查询错误信息
示例响应:
1 ; 输出已启用RUN ; 序列正在运行5 ; 当前第5步0."No error" ; 无错误
五、注意事项
设备兼容性:
不同厂商的电源可能使用不同的SCPI子系统(如PROG:LIST、SOUR:LIST等),需参考设备手册调整命令。
部分低端电源可能不支持序列查询功能,仅支持基本状态查询(如OUTP:STAT?)。
错误处理:
若查询命令返回错误(如-100."Command error"),检查命令语法是否符合设备规范。
频繁查询错误队列可能影响设备性能,建议在调试阶段使用。
实时性要求:
序列状态查询(如PROG:LIST:STAT?)返回的是瞬时状态,若需持续监控,需通过编程实现循环查询。
扩展功能:
部分电源支持通过SYST:COMM:LOG?查询通信日志,辅助排查SCPI命令执行问题。
通过上述指令,可全面监控双向直流电源的序列输出状态及错误信息,为自动化测试或远程控制提供可靠的数据支持。