要使用SCPI指令将双向直流电源的电流序列重复次数设置为 0(无限循环) 或 指定次数(包括0次),需通过 SOURce:LIST:CYCLe 或 SOURce:LIST:COUNt(部分设备) 指令实现。以下是具体方法及注意事项:
SOURce:LIST:CYCLe <N><N> = 0:无限循环(持续运行直到手动停止)。<N> = 1:运行一次后停止。<N> = N:运行N次后停止。scpiSOURce:LIST:CYCLe 0 ; 无限循环
SOURce:LIST:CYCLe?scpiprint(power.query("SOUR:LIST:CYCLe?")) # 输出如 "0"(无限循环)
scpiSYSTem:REMote
scpi*RST
scpiSOURce:LIST:COUNt 3 ; 定义3个序列点
scpiSOURce:LIST:CURRent 0, 5, -5 ; 电流值(单位:A)
scpiSOURce:LIST:DWELl 2, 5, 3 ; 持续时间(单位:秒,依设备而定)
scpiSOURce:LIST:CYCLe 0
scpiSOURce:LIST:FUNCtion ON
scpiTRIGger:SOURce IMMediateTRIGger:INITiate
scpiTRIGger:SOURce EXTernalTRIGger:SLOPe POSitive
OUTPut:STATe ON ; 准备输出,等待触发
SOURce:LIST:CYCLe,且 0 表示无限循环。scpiSOUR:LIST:CYCL 0 ; 无限循环
LIST:CYCLe:COUNt 或类似指令,需参考手册。scpiLIST:CYCL:COUN 0 ; 无限循环(假设指令格式)
PROG:LIST:REPeat 设置循环次数。scpiPROG:LIST:REPeat 0 ; 无限循环
scpiOUTPut:STATe OFF ; 关闭输出
scpiTRIGger:ABORt ; 发送中止信号
scpiSOURce:LIST:CYCLe:COUNt? ; 返回已完成的循环次数(部分设备支持)
scpiOUTPut:STATe?
pythonimport pyvisarm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR") # 替换为实际电源地址# 配置序列power.write("SYST:REM")power.write("*RST")power.write("SOUR:LIST:COUN 3")power.write("SOUR:LIST:CURR 0, 5, -5") # 电流序列power.write("SOUR:LIST:DWEL 2, 5, 3") # 持续时间power.write("SOUR:LIST:CYCL 0") # 无限循环power.write("SOUR:LIST:FUNC ON")# 启动输出(内部触发)power.write("TRIG:SOUR IMM")power.write("TRIG:INIT")# 停止输出(示例:5秒后停止)import timetime.sleep(5)power.write("OUTP:STAT OFF")power.close()
SOURce:LIST:CYCLe 0(设置无限循环)。OUTPut:STATe OFF 或触发中止信号。SOUR:LIST:CYCLe?)确认设置生效。