通过SCPI指令设置双向直流电源输出电压序列的重复次数,需根据设备支持的编程模式(如LIST编程或WAVE编程)选择对应的指令,并明确重复次数的参数名称(如COUN、LOOP或REPEAT)。以下是具体方法及示例:
一、LIST编程模式:设置序列重复次数
LIST编程通常用于定义离散的电压/电流步骤序列,通过PROG:LIST:COUN指令设置重复次数。
指令格式
scpi
PROG:LIST:COUN <重复次数>
参数说明:
<重复次数>:整数,范围通常为0(无限循环)到设备允许的最大值(如9999)。
若设备不支持无限循环,0可能表示“单次执行”,需参考手册确认。
示例
设置序列重复5次后停止:
scpi
PROG:LIST:COUN 5
设置序列无限循环(持续运行直至手动停止):
scpi
PROG:LIST:COUN 0
完整流程
scpi
// 1. 定义电压序列(示例:3步)
PROG:LIST:VOLT:DATA1 10.0.1000 // 第1步:10V,保持1s
PROG:LIST:VOLT:DATA2 20.0.2000 // 第2步:20V,保持2s
PROG:LIST:VOLT:DATA3 15.0.1500 // 第3步:15V,保持1.5s
// 2. 设置重复次数(5次)
PROG:LIST:COUN 5
// 3. 加载并启动序列
PROG:LIST:LOAD 1 // 加载存储位置1的序列
PROG:LIST:INIT // 初始化序列
*TRG // 触发序列开始
二、WAVE编程模式:设置波形循环次数
WAVE编程适用于连续变化的波形(如线性斜坡、正弦波),通过PROG:WAVE:COUN或PROG:WAVE:LOOP设置循环次数。
指令格式
scpi
PROG:WAVE:COUN <循环次数>
参数说明:
<循环次数>:整数,0通常表示无限循环,具体需参考设备手册。
示例
设置波形循环3次后停止:
scpi
PROG:WAVE:COUN 3
设置波形无限循环:
scpi
PROG:WAVE:COUN 0
完整流程
scpi
// 1. 定义波形序列(示例:2步线性变化)
PROG:WAVE:VOLT:DATA1 10.0.500 // 从当前值线性变化至10V,耗时500ms
PROG:WAVE:VOLT:DATA2 20.0.1000 // 从10V线性变化至20V,耗时1s
// 2. 设置总步数
PROG:WAVE:SEGM 2
// 3. 设置循环次数(3次)
PROG:WAVE:COUN 3
// 4. 启动波形
PROG:WAVE:INIT
*TRG
三、通用注意事项
设备兼容性
不同厂商的双向直流电源可能使用不同的指令名称(如PROG:LIST vs PROG:SEQ),需参考具体设备的SCPI编程手册。
示例:Chroma 62000系列使用PROG:LIST:COUN,而Keysight N6700系列可能使用PROG:SEQ:LOOP。
无限循环的停止方法
若设置为无限循环(COUN 0),需通过以下指令手动停止:
scpi
ABORT // 立即停止所有输出
PROG:LIST:ABOR // 仅停止LIST序列(若支持)
查询当前循环状态
查询剩余循环次数(若设备支持):
scpi
PROG:LIST:COUN? // LIST模式查询
PROG:WAVE:COUN? // WAVE模式查询
查询当前执行步数:
scpi
PROG:LIST:STEP? // LIST模式当前步数
PROG:WAVE:STEP? // WAVE模式当前步数
存储与调用序列
将配置好的序列保存至设备非易失性存储器,便于后续直接调用:
scpi
PROG:LIST:STOR 1 // 保存LIST序列到存储位置1
PROG:WAVE:STOR 2 // 保存WAVE序列到存储位置2