一、最重要结论(必须知道)
Keysight 双向直流电源(N6705、N6900、E36300、E36400 等)真正把配置写入 EEPROM 的只有 3 类 SCPI 命令:
*SAV <位置> —— 保存用户配置(最常用)
SYST:PON:xxx —— 保存上电状态
CAL:SAVE —— 保存校准数据(需解锁)
其他命令(VOLT/CURR/OUTP)只写 RAM,不写 EEPROM!
二、最常用:把当前配置保存到 EEPROM(推荐)
1. 保存到 EEPROM 存储位置(1~9)
scpi
*SAV 1 // 把当前所有配置写入 EEPROM 位置 1
*SAV 2 // 写入位置 2
...
*SAV 9 // 最多支持 9 组
保存内容(全部写入 EEPROM):
电压 / 电流设定值
输出状态 ON/OFF
过压 / 过流保护值
量程、模式、触发配置
所有当前运行参数
三、从 EEPROM 读取配置(验证用)
scpi
*RCL 1 // 从 EEPROM 位置 1 恢复配置
四、保存 “上电状态” 到 EEPROM(关键配置)
scpi
SYST:PON:OUT OFF // 上电输出关
SYST:PON:RCL 1 // 上电自动加载 EEPROM 1 号配置
这两条命令直接写入 EEPROM,断电不丢失。
五、保存校准数据到 EEPROM(工程用)
scpi
CAL:SAVE // 保存校准系数到 EEPROM(需先解锁)
六、如何 100% 确认配置已写入 EEPROM(必做)
只发 *SAV 1 不算成功,必须验证:
验证 SCPI 流程
scpi
*SAV 1 // 1. 写入 EEPROM
*RCL 1 // 2. 立即回读
SYST:ERR? // 3. 查错误
返回 +0."No error" = 写入 EEPROM 成功
七、完整可运行 Python 代码(保存 + 验证)
python
运行
import pyvisa
import time
# 连接仪器
rm = pyvisa.ResourceManager()
psu = rm.open_resource("USB0::0x0957::0x1707::MY49001234::INSTR")
psu.timeout = 5000
# ======================
# 1. 设置你要保存的配置
# ======================
psu.write("VOLT 10.0") # 电压 10V
psu.write("CURR 5.0") # 电流 5A
psu.write("VOLT:PROT 12") # 过压保护 12V
psu.write("OUTP OFF") # 输出关闭
# ======================
# 2. 保存到 EEPROM 位置 1
# ======================
psu.write("*SAV 1")
time.sleep(0.3) # 等待写入完成
# ======================
# 3. 验证是否写入成功
# ======================
err = psu.query("SYST:ERR?")
if "+0" in err:
print("✅ 配置已成功保存到 EEPROM")
else:
print("❌ EEPROM 写入失败:", err)
八、哪些命令不会写入 EEPROM?(避免误解)
以下命令只写 RAM,断电丢失,不会触发 EEPROM 写入:
VOLT
CURR
OUTP ON
VOLT:PROT
*RST
只有 *SAV / SYST:PON / CAL:SAVE 才会写 EEPROM
九、极简总结(你只需要记这一条)
把当前配置保存到 EEPROM:
scpi
*SAV 1
验证 EEPROM 保存成功:
scpi
*RCL 1
SYST:ERR?