要通过SCPI指令实现电源输出电压序列的循环播放,需结合电源的序列编程(List Mode)和循环控制功能。以下是具体步骤和指令示例,涵盖不同品牌电源的通用方法及常见差异:
大多数双向直流电源(如Keysight、Chroma、ITECH等)的序列模式支持以下循环方式:
使用SOURce:LIST:VOLTage命令设置序列的电压值列表:
scpiSOURce:LIST:VOLTage:DATA 1.0, 5.0, 10.0, 15.0 ; 设置序列为1V→5V→10V→15V
若需控制每个电压点的保持时间(如阶跃测试):
scpiSOURce:LIST:TIME:DATA 1000, 2000, 3000, 4000 ; 每个点保持1s→2s→3s→4s
SOURce:LIST:DWELl替代TIME。根据电源型号选择以下指令之一:
无限循环:
scpiSOURce:LIST:CYCLe:INFinite ON ; 启用无限循环(Keysight/ITECH常见)
或:
scpiSOURce:LIST:COUNt INFinite ; 设置循环次数为无限(Chroma常见)
有限次循环(如播放3次):
scpiSOURce:LIST:COUNt 3 ; 设置循环次数为3次
scpiSOURce:LIST:ACTive ON ; 激活序列模式OUTPut ON ; 打开电源输出
scpi*RSTSOURce:LIST:VOLTage:DATA 1.0, 5.0, 10.0
SOURce:LIST:TIME:DATA 1000, 2000, 3000
SOURce:LIST:CYCLe:INFinite ON ; 无限循环
SOURce:LIST:ACTive ON
OUTPut ON
scpi*RSTSOURce:LIST:VOLTage 1.0, 5.0, 10.0 ; Chroma可能省略:DATA子命令
SOURce:LIST:DWELl 1000, 2000, 3000 ; 使用DWELl而非TIME
SOURce:LIST:COUNt INFinite ; 无限循环
SOURce:LIST:ACTive ON
OUTPut ON
scpi*RSTSOURce:LIST:VOLTage:DATA 1.0, 5.0, 10.0
SOURce:LIST:TIME:DATA 1000, 2000, 3000
SOURce:LIST:LOOP:INFinite ON ; ITECH可能使用LOOP子命令
SOURce:LIST:ACTive ON
OUTPut ON
立即停止:
scpiOUTPut OFF ; 关闭输出(部分电源会同时停止序列)
或:
scpiSOURce:LIST:ACTive OFF ; 直接禁用序列模式
完成当前循环后停止(部分电源支持):
scpiSOURce:LIST:COUNt 1 ; 设置为播放1次(覆盖之前设置)
scpiSOURce:LIST:ACTive?
scpiSOURce:LIST:COUNt?
scpiMEASure:VOLTage?
TIME或DWELl的单位(毫秒/秒),部分电源需显式设置:scpiSOURce:LIST:TIME:UNIT MS ; 设置为毫秒(如ITECH)
scpiTRIGger:SOURce EXTernalTRIGger:SLOPe POSitive
scpiSENSe:VOLTage:PROTection:LEVel 20.0 ; 设置过压保护为20VSENSe:VOLTage:PROTection:STATe ON
scpi*RST; 配置序列
SOURce:LIST:VOLTage:DATA 1.0, 3.0, 5.0, 7.0
SOURce:LIST:TIME:DATA 500, 1000, 1500, 2000 ; 0.5s→1s→1.5s→2s
; 启用无限循环
SOURce:LIST:CYCLe:INFinite ON
; 激活序列并输出
SOURce:LIST:ACTive ON
OUTPut ON
; 查询状态(可选)
SOURce:LIST:ACTive?
MEASure:VOLTage?
通过以上方法,可灵活实现电源输出电压序列的循环播放,适用于自动化测试、老化测试等场景。如遇特定品牌电源指令不兼容,建议查阅对应设备的《SCPI编程手册》。