要使用SCPI指令實(shí)現(xiàn)雙向直流電源輸出電壓與電流的同步控制,需結(jié)合序列模式(List Mode)、斜率控制(Slew Rate)及觸發(fā)同步機(jī)制,確保電壓和電流按預(yù)設(shè)參數(shù)同步變化。以下是具體實(shí)現(xiàn)方法與指令示例:
使用SOURce:LIST:VOLTage:DATA#和SOURce:LIST:CURRent:DATA#指令分別設(shè)置每個(gè)序列點(diǎn)的電壓和電流值。部分電源支持同時(shí)設(shè)置電壓和電流的復(fù)合指令(如SOURce:LIST:DATA#),需參考具體型號(hào)手冊(cè)。
plaintextSOURce:LIST:COUNt 3 ; 設(shè)置序列包含3個(gè)點(diǎn)SOURce:LIST:VOLTage:DATA1 0, 2 ; 第1點(diǎn):0V,持續(xù)2秒
SOURce:LIST:VOLTage:DATA2 12, 2 ; 第2點(diǎn):12V,持續(xù)2秒
SOURce:LIST:VOLTage:DATA3 0, 2 ; 第3點(diǎn):0V,持續(xù)2秒
SOURce:LIST:CURRent:DATA1 0, 2 ; 第1點(diǎn):0A,持續(xù)2秒
SOURce:LIST:CURRent:DATA2 2, 2 ; 第2點(diǎn):2A,持續(xù)2秒
SOURce:LIST:CURRent:DATA3 0, 2 ; 第3點(diǎn):0A,持續(xù)2秒
注意:部分電源(如Chroma 62000P系列)可能使用PROG:LIST:VOLT:DATA#和PROG:LIST:CURR:DATA#指令,需參考具體型號(hào)手冊(cè)。
通過指令啟用序列功能,并禁用循環(huán)(若需單次執(zhí)行):
plaintextSOURce:LIST:FUNCtion ON ; 啟用序列模式SOURce:LIST:CYCLe OFF ; 禁用循環(huán)
使用SOURce:VOLTage:SLEW和SOURce:CURRent:SLEW指令分別設(shè)置電壓和電流的變化率(單位:V/s或A/s),確保兩者同步變化:
plaintextSOURce:VOLTage:SLEW 1000 ; 設(shè)置電壓變化率為1000 V/sSOURce:CURRent:SLEW 1 ; 設(shè)置電流變化率為1 A/s
啟用斜率限制(部分電源需顯式啟用):
plaintextSOURce:VOLTage:SLEW:STATe ON ; 啟用電壓斜率限制SOURce:CURRent:SLEW:STATe ON ; 啟用電流斜率限制
選擇觸發(fā)源(內(nèi)部或外部)并啟動(dòng)序列:
plaintextTRIGger:SOURce IMMediate ; 選擇內(nèi)部觸發(fā)(軟件觸發(fā))TRIGger:INITiate ; 發(fā)送觸發(fā)信號(hào),啟動(dòng)序列
外部觸發(fā)示例(如TTL信號(hào)):
plaintextTRIGger:SOURce EXTernal ; 選擇外部觸發(fā)源TRIGger:SLOPe POSitive ; 上升沿觸發(fā)
OUTPut:TRIGger:DELay 0.1 ; 觸發(fā)后延遲0.1秒輸出(可選)
plaintextOUTPut:STATe ON ; 啟用輸出,等待觸發(fā)
以下示例通過Python腳本實(shí)現(xiàn)電壓和電流的同步序列控制:
pythonimport pyvisaimport timerm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")# 初始化與復(fù)位power.write("SYSTem:REMote") # 切換至遠(yuǎn)程模式power.write("*RST") # 復(fù)位設(shè)備(可選)# 配置電壓和電流序列power.write("SOUR:LIST:COUN 3")power.write("SOUR:LIST:VOLT:DATA1 0, 2")power.write("SOUR:LIST:VOLT:DATA2 12, 2")power.write("SOUR:LIST:VOLT:DATA3 0, 2")power.write("SOUR:LIST:CURR:DATA1 0, 2")power.write("SOUR:LIST:CURR:DATA2 2, 2")power.write("SOUR:LIST:CURR:DATA3 0, 2")# 設(shè)置斜率(同步變化)power.write("SOUR:VOLT:SLEW 1000")power.write("SOUR:CURR:SLEW 1")power.write("SOUR:VOLT:SLEW:STAT ON")power.write("SOUR:CURR:SLEW:STAT ON")# 啟用序列模式power.write("SOUR:LIST:FUNC ON")power.write("SOUR:LIST:CYCL OFF")# 啟動(dòng)輸出(內(nèi)部觸發(fā))power.write("OUTP ON")power.write("TRIG:INIT")# 查詢當(dāng)前狀態(tài)(可選)current_index = int(power.query("SOUR:LIST:INDEx?"))print(f"當(dāng)前序列點(diǎn): {current_index}")power.close()
PROG:LIST,Keysight使用SOUR:LIST),需參考具體型號(hào)手冊(cè)。