一、唯一正确的 SCPI 复位命令(所有双向电源通用)
scpi
OUTP:PROT:CLE
这是 Keysight 全系列双向直流电源(N6705、N6900、E36300、E36400 等)OVP / OCP / OTP / Reverse Polarity 保护统一复位命令。
二、必须先满足的前提(否则复位无效)
OVP 触发后,电压必须降到 OVP 恢复点(迟滞以下),否则你发什么命令都无法解除保护!
正确复位流程(必须按顺序)
降低输出电压(必须低于 OVP 迟滞恢复点)
scpi
VOLT 0.0
发送复位命令
scpi
OUTP:PROT:CLE
查询是否解除保护
scpi
STAT:QUES:COND?
返回值 bit4 = 0 → OVP 已解除
返回值 bit4 = 1 → 仍在保护
三、完整可运行 Python 代码(自动复位 OVP)
python
运行
import pyvisa
import time
rm = pyvisa.ResourceManager()
psu = rm.open_resource("USB0::0x0957::0x1707::MY49001234::INSTR")
psu.timeout = 5000
# ======================
# 正确的 OVP 复位流程
# ======================
# 1. 先把电压降到 0(必须低于恢复阈值)
psu.write("VOLT 0.0")
time.sleep(0.5)
# 2. 发送保护复位命令
psu.write("OUTP:PROT:CLE")
time.sleep(0.2)
# 3. 查询是否解除 OVP
status = int(psu.query("STAT:QUES:COND?"))
ovp_active = (status >> 4) & 1 # bit4 = OVP
if ovp_active == 0:
print("✅ OVP 保护已成功复位")
else:
print("❌ OVP 仍在触发状态(电压未降至恢复点)")
四、常用配套 SCPI 命令(你一定会用到)
1. 查询是否触发了 OVP
scpi
STAT:QUES:COND?
Bit4 = 1 → OVP 触发
Bit4 = 0 → 正常
2. 查询当前 OVP 阈值
scpi
VOLT:PROT?
3. 关闭输出(安全)
scpi
OUTP OFF
五、最常见错误(90% 的人都会踩坑)
❌ 直接发 OUTP:PROT:CLE → 无效原因:电压还在 OVP 阈值以上
❌ *用 RST 复位 → 不推荐会清空所有配置
❌ 用 OUTP ON 尝试重启 → 无效保护锁存必须用 OUTP:PROT:CLE 解除
六、一句话终极总结
OVP 触发后 → 先降压 → 再发送:OUTP:PROT:CLE → 复位完成