要使用SCPI指令设置双向直流电源输出电流序列的终止条件,需结合序列编程功能,通过配置序列点数量、循环模式及状态查询指令实现灵活控制。以下是具体方法与指令示例:
定义序列点数量
使用 SOURce:LIST:COUNt 指令设置电流序列的总点数,间接控制序列终止条件。
示例:
plaintextSOURce:LIST:COUNt 5 ; 设置序列包含5个点
配置序列点参数
通过 SOURce:LIST:CURRent:DATA# 指令为每个序列点定义电流值及持续时间(部分电源支持时间参数)。
示例:
plaintextSOURce:LIST:CURR:DATA1 0, 2 ; 第1点:0A,持续2秒SOURce:LIST:CURR:DATA2 5, 2 ; 第2点:5A,持续2秒
SOURce:LIST:CURR:DATA3 10, 2 ; 第3点:10A,持续2秒
SOURce:LIST:CURR:DATA4 5, 2 ; 第4点:5A,持续2秒
SOURce:LIST:CURR:DATA5 0, 2 ; 第5点:0A,持续2秒
启用序列模式
使用 SOURce:LIST:FUNCtion ON 指令启动序列输出功能。
示例:
plaintextSOURce:LIST:FUNCtion ON ; 启用序列模式
控制序列循环行为
plaintextSOURce:LIST:CYCLe OFF ; 序列执行一次后停止
plaintextSOURce:LIST:CYCLe ON ; 序列循环执行,需通过其他条件终止
plaintextSOURce:LIST:COUNt? ; 查询当前序列点总数
SOURce:LIST:INDEx 指令直接跳转到指定序列点,实现随机访问或提前终止。plaintextSOURce:LIST:INDEx 3 ; 跳转到第3点(10A)SOURce:LIST:CYCLe OFF ; 确保序列不循环
plaintextTRIGger:SOURce EXTernal ; 外部触发TRIGger:SLOPe POSitive ; 上升沿触发
plaintextOUTPut:TRIGger:DELay 0.5 ; 触发后延迟0.5秒输出
plaintextTRIGger:INITiate ; 软件触发
plaintextSOURce:LIST:INDEx? ; 查询当前执行的序列点索引OUTPut:STATe? ; 查询输出状态(ON/OFF)
plaintextSYSTem:REMote ; 进入远程模式*RST ; 复位设备
plaintextSOURce:LIST:COUNt 3 ; 3个序列点SOURce:LIST:CURR:DATA1 0, 2 ; 0A → 2秒
SOURce:LIST:CURR:DATA2 5, 2 ; 5A → 2秒
SOURce:LIST:CURR:DATA3 10, 2 ; 10A → 2秒
SOURce:LIST:CYCLe OFF ; 禁用循环
plaintextSOURce:LIST:FUNCtion ON ; 启用序列模式OUTPut:STATe ON ; 开启输出
plaintextSOURce:LIST:INDEx? ; 查询当前点(执行完第3点后停止)
SOURce:LIST:GOTO 跳转指令。LIST:JUMP:INDEx 实现类似功能。PROG:LIST:CURR:DATA# 配置序列点。SOURce:LIST:COUNt? 查询的总点数。time.sleep(0.1)),确保电源完成状态切换。SOURce:LIST:CURR:DATA1 -5, 2)。SYSTem:ERRor? 查询错误代码(如参数越限、触发未配置)。OUTPut:PROTect:CLEar)。