Keysight 双向直流电源(N6705B/C、N6900、E36300/E36400 等)没有专门 SCPI 指令 “查询 / 设置过流保护迟滞(OCP hysteresis / 恢复阈值)”;迟滞是固件固定值,只能间接测、不能改。
下面分三部分讲:官方 SCPI、如何查 OCP、如何实测迟滞。
一、官方 SCPI:只有 OCP 触发点,没有迟滞指令
1. 查询 / 设置过流保护触发阈值(OCP)
scpi
CURR:PROT? // 查询 OCP 触发电流(保护动作点)
CURR:PROT 5.0 // 设置 OCP 为 5A(超过就保护)
这是动作阈值:电流超过 → 触发 OCP(关断 / 打嗝)
官方无: CURR:PROT:HYST? 或 :OCP:HYSTERESIS 这类命令
2. 查询是否处于 OCP 状态
scpi
STAT:QUES:COND? // 位 2 表示 OCP 触发
3. 清除 OCP 锁存
scpi
OUTP:PROT:CLE // 解除 OCP 保护锁(需先排除故障)
二、迟滞是什么(你要的 “恢复阈值”)
OCP 迟滞 = 保护恢复点 = OCP 动作点 × 固定比例(常见 80%–90%)
举例(假设):
OCP 动作点:5.0A(超过就保护)
迟滞:10%
恢复点:5.0 × 0.9 = 4.5A→ 电流降到 4.5A 以下才会自动恢复(或允许手动 CLE)
Keysight 固件里这个比例是写死的,SCPI 不开放读写。
三、如何用 SCPI + 负载 实测迟滞(唯一可行办法)
测试步骤(可自动化)
设 OCP = 5A
scpi
CURR:PROT 5.0
电子负载拉流,缓慢上升直到 OCP 触发(记录 I_trip ≈ 5A)
缓慢降流,同时循环查询保护状态:
scpi
STAT:QUES:COND?
记录 OCP 标志清零时的电流 I_recover
迟滞 = I_trip − I_recover;迟滞比例 = I_recover / I_trip
简易 Python 伪代码(思路)
python
运行
while True:
cond = int(psu.query("STAT:QUES:COND?"))
if (cond & (1<<2)) == 0: # OCP 解除
I_recover = float(psu.query("MEAS:CURR?"))
break
time.sleep(0.1)
四、总结(直接回答你问题)
没有 SCPI 指令直接查询 OCP 迟滞
只能查 OCP 动作阈值:CURR:PROT?
迟滞是固件固定值,通常在 10% 左右
想知道确切迟滞:必须用电子负载 + SCPI 实测恢复点