要将双向直流电源输出电流序列的步进模式设置为自动(即电源按预设序列自动执行,无需手动或外部触发每一步),需结合序列模式配置、循环控制及状态查询指令。以下是具体步骤与指令示例:
plaintextSOURce:LIST:FUNCtion ON
plaintextSOURce:LIST:COUNt <N>
<N>为序列总点数(如3点序列:SOURce:LIST:COUNt 3)。plaintextSOURce:LIST:CURRent:DATA<n> <I_value>, <dwell_time>
<n>:序列点序号(如DATA1、DATA2)。<I_value>:电流值(单位:A)。<dwell_time>:持续时间(单位依设备而定,如秒或毫秒)。plaintextSOURce:LIST:CURRent:DATA1 0, 2 ; 第1点:0A,持续2秒SOURce:LIST:CURRent:DATA2 5, 2 ; 第2点:5A,持续2秒
SOURce:LIST:CURRent:DATA3 0, 2 ; 第3点:0A,持续2秒
plaintextSOURce:LIST:CYCLe:STATe ON
plaintextSOURce:LIST:CYCLe:COUNt INF
plaintextOUTPut:STATe ON
plaintextSYSTem:REMote ; 切换至远程模式*RST ; 复位设备(可选)
SOURce:LIST:FUNCtion ON ; 启用序列模式
SOURce:LIST:COUNt 3 ; 设置3个序列点
SOURce:LIST:CURRent:DATA1 0, 2 ; 第1点:0A,2秒
SOURce:LIST:CURRent:DATA2 5, 2 ; 第2点:5A,2秒
SOURce:LIST:CURRent:DATA3 0, 2 ; 第3点:0A,2秒
SOURce:LIST:CYCLe:STATe ON ; 启用循环(可选)
SOURce:LIST:CYCLe:COUNt INF ; 无限循环(可选)
OUTPut:STATe ON ; 启动输出(自动执行序列)
plaintextSOURce:LIST:STATe? ; 返回"RUNNING"或"IDLE"
plaintextSOURce:LIST:CURRent:DATA2 10, 2 ; 修改为10A,2秒
LIST:LOOP控制循环:plaintextLIST:LOOP:COUNt 5 ; 循环5次
plaintextSOURce:CURRent:RAMP:TIME 0.1 ; 全局斜坡时间0.1秒
plaintextSOURce:CURRent:PROTection:LEVel? ; 查询电流保护阈值
plaintextSYSTem:ERRor?
-221:设置冲突(如循环模式未启用但设置循环次数)。-350:指令语法错误(如拼写错误)。plaintext; 主设备SYSTem:COMMunicate:SYNC:ROLE MASTER
SYSTem:COMMunicate:SYNC:OUTput ON
; 从设备
SYSTem:COMMunicate:SYNC:ROLE SLAVE
SYSTem:COMMunicate:SYNC:INput ON
pythonimport pyvisarm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR") # 替换为实际地址# 初始化与复位power.write("SYSTem:REMote")power.write("*RST")# 配置序列power.write("SOURce:LIST:COUNt 3")power.write("SOURce:LIST:CURRent:DATA1 0, 2")power.write("SOURce:LIST:CURRent:DATA2 5, 2")power.write("SOURce:LIST:CURRent:DATA3 0, 2")# 启用循环(可选)power.write("SOURce:LIST:CYCLe:STATe ON")power.write("SOURce:LIST:CYCLe:COUNt INF")# 启动输出power.write("OUTPut:STATe ON")# 查询状态(示例)current_point = int(power.query("SOURce:LIST:ADVance:COUNter?"))print(f"当前序列点: {current_point}")power.close()
SOURce:LIST:FUNCtion ON启用序列模式后,电源按预设点自动执行,无需额外触发。SOURce:LIST:CYCLe指令实现重复执行,适用于长时间测试。PROG:LIST前缀),需参考具体手册。