通过 SCPI 设置 Keysight 双向直流电源校准密码(完整流程)
前提条件
必须先解锁校准安全锁(知道当前旧校准密码);
仪器处于校准权限开放状态;
适用于 N6705/N678xA/E3630 等是德双向直流电源,SCPI 指令集通用。
一、SCPI 完整设置流程(分步命令)
1. 查询当前校准锁状态
scpi
CAL:SEC:STAT?
返回:
1:已锁定(必须输旧密码解锁)
0:已解锁,可直接改密码
2. 用旧密码解锁校准安全锁
scpi
CAL:SEC:PWD <旧密码>
示例(旧密码是默认 0000):
scpi
CAL:SEC:PWD 0000
3. 设置新校准密码
scpi
CAL:SEC:PWD <新密码>
示例:改成 123456
scpi
CAL:SEC:PWD 123456
4. 重新锁定校准安全锁(安全必做)
scpi
CAL:SEC:STAT 1
5. 验证是否生效
scpi
CAL:SEC:STAT?
CAL:SEC:PWD 123456
CAL:SEC:STAT?
能正常维持锁定、不报错,即设置成功。
二、完整一条流程示例(默认密码改新密码)
scpi
CAL:SEC:PWD 0000 ; 用旧默认密码解锁
CAL:SEC:PWD 668899 ; 设置新密码
CAL:SEC:STAT 1 ; 重新加锁防篡改
三、关键规则限制
不能直接强制改密码忘记旧密码 → SCPI 无法绕过,只能找是德售后后台重置或整机校准恢复。
密码格式一般为4~6 位数字,不支持字母 / 符号。
锁定后保护范围密码锁定后,以下操作都会报错禁止修改:
改写校准系数
修改校准日期
写入 / 修改 CAL:STR
进入内部校准流程
无单独 “删除密码” 命令只能改回出厂默认 0000 等效清空。
四、Python 可直接运行脚本(设置校准密码)
python
运行
import pyvisa
# 仪器地址、新旧密码自行修改
ip_addr = "TCPIP0::192.168.1.100::inst0::INSTR"
old_pwd = "0000"
new_pwd = "123456"
rm = pyvisa.ResourceManager()
inst = rm.open_resource(ip_addr)
# 1. 解锁
inst.write(f"CAL:SEC:PWD {old_pwd}")
# 2. 设置新密码
inst.write(f"CAL:SEC:PWD {new_pwd}")
# 3. 重新锁定
inst.write("CAL:SEC:STAT 1")
# 验证
stat = inst.query("CAL:SEC:STAT?").strip()
print(f"校准锁当前状态(1锁定/0解锁): {stat}")
print("校准密码设置完成")
inst.close()
五、常见报错排查
-281 Password error:旧密码错误,解锁失败
-241 Calibration locked:未解锁就尝试改密码
命令不识别:确认型号支持 CAL:SEC 子系统,是德主流双向电源都支持。