Keysight 雙向直流電源(RP7900/N6700/E36200)無公開 SCPI 命令可直接讀取 “上次校準偏差值”;只能讀校準日期 / 狀態(tài)、通過實測回讀間接算偏差,或進維修模式讀校準系數(shù)。
一、可直接查詢的校準信息(SCPI)
1. 校準日期 / 時間(推薦)
scpi
; 查詢上次校準日期(YYYY,MM,DD)
SYST:CAL:DATE?
; 查詢上次校準時間(HH,MM,SS)
SYST:CAL:TIME?
示例返回:2025.11.20、14.30.00
2. 校準狀態(tài) / 次數(shù)
scpi
; 查詢校準狀態(tài)(0=未校準,1=已校準)
SYST:CAL:STAT?
; 查詢校準次數(shù)(部分機型支持)
SYST:CAL:NUM?
3. 校準有效期(部分固件)
scpi
; 查詢建議校準周期(天)
SYST:CAL:PER?
二、間接計算校準偏差(最實用)
無直接 “偏差值” 指令,通過 “設定值 ? 回讀值” 差值計算當前偏差(可反映校準漂移)。
1. SCPI 實測 + 回讀(算偏差)
scpi
*CLS
; 設電壓=24V、電流=5A
VOLT 24.0
CURR 5.0
OUTP ON
; 回讀實際輸出電壓/電流
MEAS:VOLT?
MEAS:CURR?
偏差計算:電壓偏差=回讀值?24.0;電流偏差=回讀值?5.0
示例:設定 24V,回讀 24.003V → 偏差 **+3mV**
2. Python 批量測偏差(腳本)
python
運行
import pyvisa
rm = pyvisa.ResourceManager()
psu = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")
def calc_cal_deviation():
test_volts = [5. 12. 24. 48] # 多檔位測偏差
print("=== 輸出偏差(設定值 vs 回讀值)===")
for v in test_volts:
psu.write(f"VOLT {v}")
psu.write("OUTP ON")
actual = float(psu.query("MEAS:VOLT?"))
dev = actual - v
print(f"設定:{v:4.1f}V → 回讀:{actual:6.3f}V → 偏差:{dev:+.3f}V")
psu.write("OUTP OFF")
calc_cal_deviation()
psu.close()
三、維修模式讀校準系數(shù)(原廠 / 授權用)
僅維修密碼解鎖后可用,普通用戶無權限。
scpi
; 1. 進入維修模式(需密碼)
SYST:SERV:UNLOCK "123456"
; 2. 讀電壓/電流校準系數(shù)(偏移+增益)
CAL:VOLT:OFFS? ; 電壓偏移系數(shù)
CAL:VOLT:GAIN? ; 電壓增益系數(shù)
CAL:CURR:OFFS? ; 電流偏移系數(shù)
CAL:CURR:GAIN? ; 電流增益系數(shù)
; 3. 退出維修模式
SYST:SERV:LOCK
系數(shù)含義:實際值=設定值×增益+偏移;偏差由系數(shù)變化量反映。
四、前面板手動查校準信息
按 System → About → Calibration
查看:Last Cal Date、Cal Status、Next Due Date
無直接 “偏差” 顯示,需通過輸出比對測試獲取。
五、關鍵說明
無公開 “偏差值” SCPI:Keysight 未開放直接讀校準偏差的指令,只能間接計算或讀系數(shù)。
校準偏差≠故障:小偏差(如<0.05%+10mV)屬正常漂移;偏差超規(guī)格需重新校準。
校準周期:建議每年 1 次;高精密場景每 6 個月 1 次。
六、常見問題
Q:為何查不到 “上次校準偏差”?A:固件不存儲 “偏差歷史”,僅存校準日期 / 系數(shù);偏差需實測計算。
Q:可以用第三方軟件讀偏差嗎?A:只能通過SCPI 實測回讀計算,無軟件可直接讀取存儲的偏差值。