一、先给结论(Keysight N6705C/N6781A 等双向电源)
没有一条 SCPI 能直接读出 “EEPROM 被锁死、命令无法解锁” 的布尔状态。 你只能通过:
读当前写保护状态;
尝试解锁并观察是否报错;
读系统错误 / 事件日志; 三者组合判断:是否锁定 + 是否命令不可解。
下面给你可直接运行的 SCPI 命令和判断逻辑。
二、1)查询当前 EEPROM 写保护状态(必查)
scpi
:SYST:SEC:EEPROM:PROT?
返回 1:EEPROM 写保护已启用(锁定)
返回 0:未锁定(可写)
这是唯一官方、直接可读的 “锁定状态”。
三、2)判断 “是否无法通过命令解锁”(关键:试探解锁 + 查报错)
当 PROT?=1 时,执行标准解锁流程并检查是否失败:
scpi
; 先输入密码(尝试默认/常用密码)
:SYST:SEC:EEPROM:PASS "0000"
; 尝试关闭保护
:SYST:SEC:EEPROM:PROT OFF
; 1)立即读保护状态,看是否真的解开
:SYST:SEC:EEPROM:PROT?
; 2)读仪器错误队列,看是否报安全/锁定类错误
:SYST:ERR?
判定规则(你要的结论)
若 PROT? 仍返回 1.且 :SYST:ERR? 返回类似:
-213. Security locked
-214. Password incorrect
-215. EEPROM locked → EEPROM 已锁定,且当前密码 / 命令无法解锁。
若 PROT? 返回 0 → 正常解锁,不是 “锁死”。
四、3)读系统事件日志(ELOG)辅助确认锁死事件
scpi
; 日志条数
:SYST:LOG:COUN?
; 读全部日志(含时间戳+事件码)
:SYST:LOG:DATA:ALL?
你会看到类似事件码(不同固件略有差异):
SEC_EEPROM_PROT_ON:写保护开启
SEC_EEPROM_PASS_FAIL:密码验证失败
SEC_EEPROM_LOCKED:EEPROM 永久锁定(命令不可解)
注意:没有 “永久锁定” 专用查询位,只能靠事件码 + 解锁失败组合判断。
五、“锁死且命令不可解” 的典型场景
多次输错密码触发硬锁定(防暴力破解);
校准 / 安全位被置 1(售后专用,用户命令无法清除);
EEPROM 硬件损坏 / 写保护熔丝烧断。
这些情况:
PROT? 始终 = 1;
任何 PASS+OFF 都报错;
日志里有 SEC_EEPROM_LOCKED 类事件;
只能送 Keysight 售后,用专用工具解锁 / 修复。
六、最简自动化判断脚本(直接复制跑)
scpi
; 1. 查保护状态
:SYST:SEC:EEPROM:PROT?
; 2. 试解锁(密码0000)
:SYST:SEC:EEPROM:PASS "0000"
:SYST:SEC:EEPROM:PROT OFF
; 3. 再查状态
:SYST:SEC:EEPROM:PROT?
; 4. 查错误
:SYST:ERR?
; 5. 查日志(可选)
:SYST:LOG:DATA:ALL?