资讯中心

联系我们

深圳市维立信电子科技有限公司
地址:深圳市福田区红荔路第一世界广场A座8D-E
咨询电话:0755-83766766
E-mail:info@welissom.com

如何通过SCPI命令查询Keysight双向直流电源输出限制历史记录的触发次数?

2026-06-02 10:18:05  点击:

  Keysight RP7900 双向直流电源没有一条直接返回 “限制触发次数” 的 SCPI 命令;必须通过 ELOG(事件日志)逐条读取 → 按事件类型 / 通道统计,才能得到 OVP/OCP/ 反向功率限制等的触发次数。

  下面给你完整 SCPI 流程、事件码对照表,以及可直接套用的统计思路。

  一、先查 ELOG 总体信息

  scpi

  *IDN? ; 确认仪器型号

  SYSTem:ELOG:DEPTH? ; 日志最大条数(内存深度)

  SYSTem:ELOG:COUNt? ; 当前已记录事件总数

  示例返回:

  plaintext

  100 ; 最多存 100 条

  23 ; 目前有 23 条事件

  二、逐条读取事件日志(含限制触发)

  命令:

  scpi

  SYSTem:ELOG:DATA?; index 从 0 开始

  返回格式(逗号分隔):

  plaintext

  ,,,,

  常见 “输出限制 / 保护” 事件码(RP7900)

  1:OVP 过压保护触发

  2:OCP 过流保护触发

  3:OTP 过温保护触发

  4:Reverse Power Limit(反向功率限制)触发

  5:Output On

  6:Output Off

  示例:

  scpi

  SYSTem:ELOG:DATA? 0

  → 1718923456.4.1."Reverse Power Limit",-120.5

  含义:通道 1 在该时间点触发了 反向功率限制。

  三、统计 “输出限制触发次数”(核心)

  SCPI 本身不直接汇总次数,需要上位机 / 脚本做循环 + 统计:

  1)获取总条数

  scpi

  SYSTem:ELOG:COUNt? → N

  2)循环读取并计数(伪代码)

  python

  运行

  count_ovp_ch1 = 0

  count_ocp_ch1 = 0

  count_rev_plimit_ch1 = 0

  for i in range(N):

  data = query(f"SYSTem:ELOG:DATA? {i}")

  ts, code, ch, desc, val = data.split(',')

  code = int(code)

  ch = int(ch)

  if ch == 1:

  if code == 1: count_ovp_ch1 += 1

  if code == 2: count_ocp_ch1 += 1

  if code == 4: count_rev_plimit_ch1 += 1

  你就能得到:

  通道 1 OVP 触发次数

  通道 1 OCP 触发次数

  通道 1 反向功率限制触发次数

  同理 CH2

  四、可选:清除历史计数(重置统计)

  scpi

  SYSTem:ELOG:CLEar ; 清空所有事件日志(次数归零)

  五、如果你要 “当前是否处于限制状态”

  不是历史次数,而是此刻是否被限制:

  scpi

  OUTPut:PROTection:STATe? CH1 ; CH1 是否有保护/限制激活

  SOURce:VOLTage:PROTection:STATe? CH1 ; OVP 是否触发

  SOURce:CURRent:PROTection:STATe? CH1 ; OCP 是否触发

  小结

  无直接 “触发次数” SCPI,必须读 ELOG 后统计。

  关键命令:SYSTem:ELOG:DEPTH?、SYSTem:ELOG:COUNt?、SYSTem:ELOG:DATA? idx。

  事件码 1/2/4 对应 OVP/OCP/ 反向功率限制。