Keysight 双向直流电源(如 RP7900 系列)的 ELOG(事件日志)本身没有独立的 “通道状态查询命令”;通道状态是嵌在每条日志记录里,需要用 SYSTem:ELOG:DATA? 逐条读取解析。
下面给你完整可用 SCPI 命令和返回格式。
1. 先查 ELOG 基本信息(含内存深度)
scpi
*IDN? ; 仪器识别(可选)
SYSTem:ELOG:DEPTH? ; 查询日志最大条数(内存深度)
SYSTem:ELOG:COUNt? ; 查询当前已存日志条数
示例返回:
plaintext
100 ; DEPTH=100条
23 ; COUNT=23条
2. 读取单条日志(含通道状态 / 事件)
scpi
SYSTem:ELOG:DATA?
典型返回字段(逗号分隔):
plaintext
<时间戳>,<事件码>,<通道号>,<状态/描述>,<附加信息>
通道号:1= 通道 1.2= 通道 2(多机型固定)
事件码 / 状态示例:
0:无事件
1:OVP(过压保护)
2:OCP(过流保护)
3:OTP(过温保护)
4:Reverse Power Limit(反向功率限制)
5:Output On(通道输出开启)
6:Output Off(通道输出关闭)
示例:
scpi
SYSTem:ELOG:DATA? 0
→ 1622501234.5.1."Output On",0.0
含义:通道 1 在该时间点输出开启。
3. 批量读取所有日志(遍历通道状态)
scpi
SYSTem:ELOG:COUNt? ; 先得条数 → N
; 然后循环 index=0 到 N-1:
SYSTem:ELOG:DATA? 0
SYSTem:ELOG:DATA? 1
...
SYSTem:ELOG:DATA? N-1
4. 直接查询 “当前通道状态”(非日志)
如果你要的不是历史日志,而是此刻通道状态:
scpi
OUTPut:STATe? CH1 ; 通道1输出状态 1=ON,0=OFF
OUTPut:STATe? CH2
SOURce:VOLTage:PROTection:STATe? CH1 ; CH1 OVP 是否触发
SOURce:CURRent:PROTection:STATe? CH1 ; CH1 OCP 是否触发
小结
ELOG 历史里的通道状态:用 SYSTem:ELOG:DATA?
ELOG 内存深度:SYSTem:ELOG:DEPTH?。
当前通道状态:用 OUTPut:STATe? 与保护状态命令。