要用SCPI指令配置雙向直流電源輸出電流序列的重復(fù)次數(shù),需結(jié)合序列模式(List Mode)與循環(huán)控制指令,以下是具體步驟和示例:
設(shè)置序列點(diǎn)數(shù)量:
SOURce:LIST:COUNt <N><N>為序列點(diǎn)總數(shù)(如3表示3個(gè)點(diǎn))。定義每個(gè)序列點(diǎn)的電流值與持續(xù)時(shí)間:
SOURce:LIST:CURRent:DATA<n> <I_n>, <T_n><n>:序列點(diǎn)序號(hào)(從1開(kāi)始,如DATA1表示第1點(diǎn))。<I_n>:當(dāng)前點(diǎn)的電流值(單位:A,如-10表示-10A)。<T_n>:當(dāng)前點(diǎn)的持續(xù)時(shí)間(單位:秒或電源支持的單位,如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:進(jìn)入遠(yuǎn)程模式。*RST:復(fù)位設(shè)備(可選)。配置序列參數(shù):
SOURce:LIST:COUNt 3:設(shè)置3個(gè)序列點(diǎn)。SOURce:LIST:CURRent:DATA1 -5, 2:第1點(diǎn):-5A,持續(xù)2秒。SOURce:LIST:CURRent:DATA2 0, 1:第2點(diǎn):0A,持續(xù)1秒。SOURce:LIST:CURRent:DATA3 10, 3:第3點(diǎn):10A,持續(xù)3秒。啟用循環(huán)功能并設(shè)置循環(huán)次數(shù):
SOURce:LIST:CYCLe ON:?jiǎn)⒂醚h(huán)。SOURce:LIST:COUNt:REPeat 3:循環(huán)3次。啟動(dòng)輸出:
OUTPut:STATe ON:開(kāi)啟輸出,電源將按序列輸出電流。不同品牌電源的循環(huán)控制指令可能存在差異,以下為常見(jiàn)型號(hào)的示例:
Keysight N6700系列:
SOURce:LIST:FUNC REPeatSOURce:LIST:COUNt 3Chroma 62000P系列:
SOURce:LIST:LOOP 3ITECH IT6000系列:
LIST:CYCLe:STATe ONLIST:CYCLe:COUNt 5查詢(xún)當(dāng)前序列狀態(tài):
SOURce:LIST:INDEx?:返回當(dāng)前執(zhí)行的序列點(diǎn)序號(hào)。OUTPut:STATe?:返回輸出狀態(tài)(ON/OFF)。錯(cuò)誤處理:
SYSTem:ERRor?:查詢(xún)錯(cuò)誤代碼(如參數(shù)越限、觸發(fā)未配置)。若需通過(guò)腳本實(shí)現(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次(若電源支持)# 啟動(dòng)輸出(內(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: # 檢測(cè)序列重新開(kāi)始(循環(huán)點(diǎn)) break time.sleep(6) # 等待一個(gè)完整循環(huán)power.write("OUTP OFF")power.close()