Keysight 双向直流电源(如 N6705B/N6781A/E3630 系列)无专用 SCPI 命令直接导出完整校准历史日志,但可通过校准状态查询 + 错误日志读取 + 校准字符串记录三类命令,覆盖校准异常的核心查询需求。以下是可直接执行的 SCPI 命令与实操方案:
一、核心 SCPI 命令:查询校准状态与异常标识
1. 校准基础状态(必查)
scpi
*IDN? ; 设备型号/序列号(核对异常记录归属)
CAL:DATE? ; 上次校准日期(定位异常发生时间)
CAL:STAT? ; 校准状态:DONE(正常)/FAILED(校准失败)
CAL:VER? ; 校准固件版本(排查版本兼容性异常)
CAL:SEC:STAT? ; 校准锁状态:1=锁定(防篡改),0=解锁(异常开放)
2. 校准相关错误日志(关键:查异常代码)
scpi
SYST:ERR? ; 读取1条系统错误(含校准失败、校验和错误等)
SYST:ERR:ALL? ; 读取全部错误日志(含时间戳、错误码、描述)
常见校准异常错误码:
-241:校准数据损坏 / 丢失(EEPROM 故障)
-221:校准参数超差(标准器异常或环境不达标)
-101:校准过程断电 / 中断(异常终止)
601:内部电源故障导致校准失败
3. 校准字符串(CAL:STR):自定义异常记录(需实验室写入)
校准实验室可将校准异常详情(如超差点、标准器故障、环境波动)写入 CAL:STR,后续通过 SCPI 读取:
scpi
; 实验室写入(解锁状态)
CAL:SEC:STAT 0
CAL:STR "2025-12-01; WARN: V_RANGE_10V 超差0.08%; STD:3458A SN:MY1234"
CAL:SEC:STAT 1
; 用户查询
CAL:STR?
二、Python 实操脚本:一键读取校准异常全量信息
python
运行
import pyvisa
rm = pyvisa.ResourceManager()
psu = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR") ; 替换为你的电源地址
# 1. 基础校准状态
print("=== 校准基础状态 ===")
print("设备标识:", psu.query("*IDN?").strip())
print("上次校准日期:", psu.query("CAL:DATE?").strip())
print("校准状态:", psu.query("CAL:STAT?").strip())
print("校准固件版本:", psu.query("CAL:VER?").strip())
print("校准锁状态:", psu.query("CAL:SEC:STAT?").strip())
# 2. 校准相关错误日志
print("n=== 校准异常错误日志 ===")
while True:
err = psu.query("SYST:ERR?").strip()
if err.startswith("+0."): ; 无错误时退出
break
print("错误记录:", err)
# 3. 校准字符串(含自定义异常)
print("n=== 校准字符串(异常备注) ===")
print("CAL:STR:", psu.query("CAL:STR?").strip())
psu.close()
三、校准异常的完整溯源方案(SCPI + 证书 + 日志)
SCPI 查询:用CAL:STAT?确认校准是否失败,SYST:ERR:ALL?提取异常代码与描述。
证书核对:对比外部校准证书的 “校准异常说明” 栏,确认异常是否被记录。
日志导出:通过 Keysight 14585A 软件读取完整校准日志(含历史异常记录)。
CAL:STR 补充:要求实验室将异常详情写入 CAL:STR,便于后续快速查询。
四、常见问题与解决
SYST:ERR? 无校准异常:确认异常发生在本次校准周期内;历史异常需通过 14585A 软件查看。
CAL:STR? 为空:联系校准实验室补充写入异常详情(如超差点、标准器问题)。
CAL:STAT? 返回 FAILED:立即通过SYST:ERR:ALL?读取失败原因,排查标准器、环境或设备硬件故障。