要使用SCPI指令将双向直流电源的电流序列重复次数设置为0(无限循环) 或指定次数(包括0次),需通过
SOURce:LIST:CYCLe
或
SOURce:LIST:COUNt(部分设备) 指令实现。以下是具体方法及注意事项:
SOURce:LIST:CYCLe
= 0
:无限循环(持续运行直到手动停止)。
= 1
:运行一次后停止。
= 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?
)确认设置生效。