要用SCPI指令配置雙向直流電源輸出電流序列的重復(fù)次數(shù),需結(jié)合序列模式(List Mode)與循環(huán)控制指令,以下是具體步驟和示例:
設(shè)置序列點數(shù)量:
SOURce:LIST:COUNt <N><N>為序列點總數(shù)(如3表示3個點)。定義每個序列點的電流值與持續(xù)時間:
SOURce:LIST:CURRent:DATA<n> <I_n>, <T_n><n>:序列點序號(從1開始,如DATA1表示第1點)。<I_n>:當(dāng)前點的電流值(單位:A,如-10表示-10A)。<T_n>:當(dāng)前點的持續(xù)時間(單位:秒或電源支持的單位,如2表示2秒)。啟用循環(huán)功能并設(shè)置循環(huán)次數(shù):
SOURce:LIST:COUNt:REPeat <M><M>為循環(huán)次數(shù)(如3表示循環(huán)3次)。啟用序列模式:
SOURce:LIST:FUNCtion ON初始化與復(fù)位:
SYSTem:REMote:進入遠程模式。*RST:復(fù)位設(shè)備(可選)。配置序列參數(shù):
SOURce:LIST:COUNt 3:設(shè)置3個序列點。SOURce:LIST:CURRent:DATA1 -5, 2:第1點:-5A,持續(xù)2秒。SOURce:LIST:CURRent:DATA2 0, 1:第2點:0A,持續(xù)1秒。SOURce:LIST:CURRent:DATA3 10, 3:第3點:10A,持續(xù)3秒。啟用循環(huán)功能并設(shè)置循環(huán)次數(shù):
SOURce:LIST:CYCLe ON:啟用循環(huán)。SOURce:LIST:COUNt:REPeat 3:循環(huán)3次。啟動輸出:
OUTPut:STATe ON:開啟輸出,電源將按序列輸出電流。不同品牌電源的循環(huán)控制指令可能存在差異,以下為常見型號的示例:
Keysight N6700系列:
SOURce:LIST:FUNC REPeatSOURce:LIST:COUNt 3Chroma 62000P系列:
SOURce:LIST:LOOP 3ITECH IT6000系列:
LIST:CYCLe:STATe ONLIST:CYCLe:COUNt 5查詢當(dāng)前序列狀態(tài):
SOURce:LIST:INDEx?:返回當(dāng)前執(zhí)行的序列點序號。OUTPut:STATe?:返回輸出狀態(tài)(ON/OFF)。錯誤處理:
SYSTem:ERRor?:查詢錯誤代碼(如參數(shù)越限、觸發(fā)未配置)。若需通過腳本實現(xiàn)循環(huán)控制,可結(jié)合SCPI指令與編程邏輯:
pythonimport pyvisaimport timerm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")# 配置序列與循環(huán)power.write("SYST:REM")power.write("SOUR:LIST:COUN 3")power.write("SOUR:LIST:CURR:DATA1 -5, 2")power.write("SOUR:LIST:CURR:DATA2 0, 1")power.write("SOUR:LIST:CURR:DATA3 10, 3")power.write("SOUR:LIST:CYCL ON") # 啟用循環(huán)power.write("SOUR:LIST:COUN:REP 3") # 循環(huán)3次(若電源支持)# 啟動輸出(內(nèi)部觸發(fā))power.write("TRIG:INIT")# 監(jiān)控狀態(tài)(示例:循環(huán)3次后停止)for _ in range(3): while True: index = int(power.query("SOUR:LIST:INDEX?")) if index == 1: # 檢測序列重新開始(循環(huán)點) break time.sleep(6) # 等待一個完整循環(huán)power.write("OUTP OFF")power.close()