要通過SCPI指令實現(xiàn)雙向直流電源輸出電流序列的斜坡觸發(fā)(Ramp Trigger),需結(jié)合序列模式(List Mode)、觸發(fā)控制(Trigger)和斜坡配置(Ramp)功能。以下是具體步驟和示例:
plaintextSOURce:LIST:COUNt <N>
<N>為序列點總數(shù)(如3表示3個點)。plaintextSOURce:LIST:CURRent:DATA<n> <I_n>, <T_n>
<n>:序列點序號(如DATA1)。<I_n>:目標(biāo)電流值(單位:A,如-5)。<T_n>:從當(dāng)前值到目標(biāo)值的斜坡時間(單位:秒,如2表示2秒斜坡)。plaintextSOURce:LIST:CURRent:DATA1 -5, 2 // 第1點:-5A,2秒斜坡SOURce:LIST:CURRent:DATA2 0, 1 // 第2點:0A,1秒斜坡
選擇觸發(fā)源
plaintextTRIGger:SOURce <source>
<source>:觸發(fā)源(如BUS為軟件觸發(fā),EXT為外部觸發(fā))。plaintextTRIGger:SOURce BUS // 通過SCPI命令觸發(fā)
設(shè)置觸發(fā)延遲(可選)
plaintextTRIGger:DELay <time>
<time>:觸發(fā)延遲時間(單位:秒)。plaintextSOURce:LIST:MODE RAMP
plaintextSOURce:CURRent:RAMP:STATe ON // 啟用斜坡模式SOURce:CURRent:RAMP:TIME <T> // 設(shè)置默認(rèn)斜坡時間(單位:秒)
plaintextINITiate
EXT觸發(fā)源時)。plaintextSYSTem:REMote // 進(jìn)入遠(yuǎn)程模式*RST // 復(fù)位設(shè)備(可選)
// 設(shè)置序列參數(shù)
SOURce:LIST:COUNt 3
SOURce:LIST:CURRent:DATA1 -5, 2 // 第1點:-5A,2秒斜坡
SOURce:LIST:CURRent:DATA2 0, 1 // 第2點:0A,1秒斜坡
SOURce:LIST:CURRent:DATA3 10, 3 // 第3點:10A,3秒斜坡
// 啟用斜坡模式
SOURce:LIST:MODE RAMP
TRIGger:SOURce BUS // 選擇軟件觸發(fā)
plaintextINITiate // 啟動序列(或發(fā)送外部觸發(fā)信號)
不同品牌電源的斜坡觸發(fā)指令可能不同:
plaintextSOURce:CURRent:RAMP:STATe ONSOURce:CURRent:RAMP:TIME 2 // 默認(rèn)斜坡時間
plaintextTRIGger:SOURce IMMediate // 立即執(zhí)行(無需外部觸發(fā))
plaintextLIST:RAMP:STATe ONLIST:RAMP:TIME 2 // 斜坡時間
plaintextLIST:TRIGger:SOURce BUS
plaintextPROG:LIST:RAMP ONPROG:LIST:RAMP:TIME 2
plaintextPROG:LIST:TRIGger IMM
plaintextSOURce:LIST:INDEx?
plaintextMEASure:CURRent?
plaintextSYSTem:ERRor?
-400 Parameter Error:斜坡時間超出范圍。-222 No Trigger Configured:未設(shè)置觸發(fā)源。pythonimport pyvisaimport timerm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")# 配置序列與斜坡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:MODE RAMP")power.write("TRIG:SOUR BUS")# 觸發(fā)序列power.write("INIT")# 監(jiān)控輸出for _ in range(10): current = float(power.query("MEAS:CURR?")) print(f"當(dāng)前電流: {current}A") time.sleep(0.5)power.close()
EXT觸發(fā),需確認(rèn)外部觸發(fā)信號已連接。-5A)。DATA1 -5, 2),而非單獨指令。通過以上步驟,可實現(xiàn)雙向直流電源的斜坡觸發(fā)序列輸出。如需更復(fù)雜控制(如循環(huán)斜坡),需結(jié)合SOURce:LIST:CYCLe和編程邏輯。