Keysight 双向直流电源(N6790A/N6705C 等)查询校准保护状态、EEPROM 写保护、密码权限、前面板锁定等安全设置及其关联的完整 SCPI 命令清单 + 查询关系说明,并说明这些状态之间如何联动。
一、核心安全状态与 SCPI 查询命令
1. 校准 / EEPROM 保护锁状态(最关键)
控制校准数据、EEPROM、密码修改权限。
scpi
*IDN? ; 先确认仪器型号
:SYSTem:SECurity:CALibration? ; 查询校准保护锁状态
; 返回:0=未锁定(可改校准/EEPROM),1=已锁定(保护)
2. EEPROM 写保护状态
scpi
:SYSTem:SECurity:EEPROM? ; 查询EEPROM写保护
; 返回:0=允许写入,1=写保护激活
3. 校准密码启用状态
scpi
:SYSTem:PASSword:CALibration:ENABle?
; 返回:0=密码关闭,1=密码开启(修改校准/EEPROM需密码)
4. 前面板按键锁定(本地操作锁)
scpi
:SYSTem:KLOCk? ; 查询前面板锁定
; 返回:0=解锁,1=锁定(防止误操作)
5. 远程访问权限(LAN/GPIB/USB)
scpi
:SYSTem:REMote:ENABle? ; 远程控制总开关
:SYSTem:LAN:ENABle? ; LAN接口单独开关
6. 安全事件日志(密码 / 解锁 / 修改记录)
scpi
:SYSTem:SECurity:LOG? ; 查询安全事件历史(含密码修改、解锁时间戳)
二、各安全设置之间的关系(重点)
1. 校准锁 :SYST:SEC:CAL? 是总开关
CAL=1(锁定):
EEPROM 自动进入写保护(:SYST:SEC:EEPROM? → 1)
禁止校准系数修改、密码修改、EEPROM 写入
不影响 ** 输出、测量、保护(OVP/OCP)** 功能
CAL=0(解锁):
EEPROM 可写
可改密码、校准、EEPROM
通常需要输入校准密码才能解锁
2. 校准密码 :SYST:PASS:CAL:ENAB? 控制解锁权限
ENAB=1(启用密码):解锁 CAL 必须输入正确密码
ENAB=0(关闭密码):解锁 CAL 无需密码(不安全)
3. 前面板锁 :SYST:KLOC? 与校准锁独立但互补
KLOC=1:仅禁止本地按键操作,不影响远程 SCPI
CAL=1:禁止校准 / EEPROM 修改,不影响本地输出操作
常见组合:KLOC=1 + CAL=1(本地锁 + 校准锁,最安全)
4. EEPROM 写保护 :SYST:SEC:EEPROM? 是 CAL 锁的直接结果
永远遵循:CAL=1 → EEPROM=1
不可单独设置 EEPROM 写保护(由 CAL 锁联动)
三、查询安全状态关联的 SCPI 脚本(可直接用)
python
运行
import pyvisa
rm = pyvisa.ResourceManager()
inst = rm.open_resource('TCPIP0::192.168.1.100::INSTR') # 改为你的仪器地址
# 1. 校准保护锁
cal_lock = inst.query(':SYSTem:SECurity:CALibration?').strip()
print("校准保护锁(1=锁定):", cal_lock)
# 2. EEPROM写保护
eeprom_wp = inst.query(':SYSTem:SECurity:EEPROM?').strip()
print("EEPROM写保护(1=激活):", eeprom_wp)
# 3. 校准密码启用
cal_pass_en = inst.query(':SYSTem:PASSword:CALibration:ENABle?').strip()
print("校准密码启用(1=开启):", cal_pass_en)
# 4. 前面板锁定
keylock = inst.query(':SYSTem:KLOCk?').strip()
print("前面板锁定(1=锁定):", keylock)
# 5. 安全日志(最近10条)
sec_log = inst.query(':SYSTem:SECurity:LOG?').strip()
print("安全事件日志:n", sec_log)
四、关键结论(你最关心的)
校准锁 CAL 是核心:锁定后自动保护 EEPROM、禁止密码 / 校准修改。
密码仅控制解锁 CAL:不影响正常输出与测量。
前面板锁与校准锁独立:可组合使用增强安全。
安全日志记录所有敏感操作:可追溯密码修改、解锁时间。