资讯中心

联系我们

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

如何通过SCPI命令查询Keysight双向直流电源OVP保护是否被永久锁定?

2026-05-19 09:31:24  点击:

  Keysight 双向直流电源(N7900/N6700 等)没有单独一条 SCPI 叫 “查询 OVP 是否永久锁定”,但可以通过三类 SCPI 组合判断:(1) OVP 状态;(2) 保护是否锁存(latch);(3) 输出能否被远程清除 / 恢复。下面给你可直接用的 SCPI、判断逻辑和 Python 示例。

  一、OVP “永久锁定” 含义(Keysight 电源)

  Keysight 双向电源 OVP 有两种:

  非锁存(自动恢复):过压消失后,输出可自动恢复;

  锁存 / 永久锁定(latch):OVP 触发后保持锁死,必须手动 / 远程清除故障才能恢复输出,也就是你说的 “永久锁定”。

  SCPI 能查:当前是否在 OVP 锁存态、OVP 是否使能、故障寄存器、能否清除。

  二、必备 SCPI 命令(N7900/N6700 双向电源)

  1)查询 OVP 配置(是否开启 OVP)

  scpi

  :SOUR:VOLT:PROT:OVP? // 查询 OVP 使能:1=ON,0=OFF

  :SOUR:VOLT:PROT:OVP:LEV? // 查询 OVP 阈值(V)

  2)查询当前 OVP 保护状态(是否触发)

  scpi

  :STAT:QUES:COND? // 疑问状态寄存器,含 OVP 位

  :STAT:OPER:COND? // 操作状态寄存器

  :SYST:ERR? // 读错误码,OVP 一般是 +501 或类似

  3)查询保护是否 “锁存(latch)”—— 关键

  scpi

  :SOUR:VOLT:PROT:LATCH? // 查询电压保护是否锁存:1=锁存(永久锁定),0=不锁存

  这条就是判断 “OVP 触发后会不会永久锁死” 的核心命令。

  4)查询当前输出是否因保护关闭

  scpi

  :OUTP:STAT? // 输出状态:1=开,0=关(保护关断)

  5)清除锁存故障(验证是否真锁死)

  scpi

  :SOUR:VOLT:PROT:CLE // 清除电压保护锁存

  三、判断 “OVP 是否被永久锁定” 的逻辑

  满足下面两条 → OVP 处于永久锁定态:

  :SOUR:VOLT:PROT:LATCH? == 1(保护配置为锁存)

  :SYST:ERR? 返回 OVP 错误(如 501)且 :OUTP:STAT? == 0(OVP 已触发并关断输出)

  如果 LATCH=1 但没 OVP 错误 → 只是 “配置成锁存模式”,还没触发;如果 LATCH=0 → 永远不会 “永久锁定”,过压消失自动恢复。

  四、可直接复制的 SCPI 查询脚本

  scpi

  *RST

  :SYST:REM

  ; 1. OVP 配置

  :SOUR:VOLT:PROT:OVP?

  :SOUR:VOLT:PROT:OVP:LEV?

  ; 2. 是否锁存(永久锁定使能)

  :SOUR:VOLT:PROT:LATCH?

  ; 3. 当前故障与输出状态

  :SYST:ERR?

  :STAT:QUES:COND?

  :OUTP:STAT?

  五、Python 示例(VISA + SCPI,直接判断)

  python

  运行

  import pyvisa

  rm = pyvisa.ResourceManager()

  inst = rm.open_resource("TCPIP::192.168.1.100::INSTR")

  inst.timeout = 3000

  # 1. 查 OVP 锁存配置

  latch = int(inst.query(":SOUR:VOLT:PROT:LATCH?"))

  ovp_en = int(inst.query(":SOUR:VOLT:PROT:OVP?"))

  # 2. 查当前错误与输出状态

  err = inst.query(":SYST:ERR?")

  out_stat = int(inst.query(":OUTP:STAT?"))

  print("=== OVP 锁定状态 ===")

  print(f"OVP 使能: {ovp_en}")

  print(f"保护锁存(永久锁定)配置: {latch} (1=是, 0=否)")

  print(f"系统错误: {err.strip()}")

  print(f"输出状态: {out_stat} (1=开, 0=关)")

  # 判断逻辑

  if latch == 1 and "+501" in err and out_stat == 0:

  print("结论:OVP 已被永久锁定(锁存态)")

  else:

  print("结论:OVP 未处于永久锁定态")

  inst.close()

  六、常见坑

  老固件可能用 :OUTP:PROT:LATCH?,新固件(≥4.x)统一为 :SOUR:VOLT:PROT:LATCH?;

  有些机型 OVP 锁存是全局保护锁存,和 OCP 共用同一 LATCH 设置;

  想 “解除永久锁定”:发 :SOUR:VOLT:PROT:CLE,再 :OUTP ON。