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。