在双向直流电源中,通过SCPI指令设置输出电压序列的插值时间间隔与延迟时间的关系,需结合列表(List)模式或任意波(Arbitrary Wave)模式的参数配置实现。以下是具体方法及指令示例:
列表模式通过定义电压序列和每个点的保持时间实现时间控制,插值时间间隔由相邻电压点的保持时间决定,延迟时间可通过额外指令设置。
scpi*RST ; 复位电源PROG:LIST:VOLT:DATA1 12.0,1000 ; 第1步:电压12V,保持1000ms(1s)
PROG:LIST:VOLT:DATA2 24.0,2000 ; 第2步:电压24V,保持2000ms(2s)
PROG:LIST:VOLT:DATA3 0.0,500 ; 第3步:电压0V,保持500ms(0.5s)
PROG:LIST:COUN INFinite ; 无限循环播放序列
PROG:LIST:ACTive ON ; 激活列表模式
OUTPut ON ; 启动输出
PROG:LIST:VOLT:DATA#中的第二个参数(保持时间)决定。例如,从12V切换到24V的时间间隔为1000ms(第1步保持时间)结束后立即切换。scpiOUTPut:DELay:RUN 500 ; 输出接通前延迟500msPROG:LIST:TIME:DATA1 100 ; 在列表模式中为第1步单独设置延迟(部分电源支持)
任意波模式允许更灵活地定义电压变化曲线,通过设置变化时间(Slew Rate)控制插值间隔,延迟时间可通过触发或输出控制实现。
scpi*RSTPROG:WAVE:VOLT:DATA1 12.0,500 ; 第1点:电压12V,变化时间500ms(从0V到12V的上升时间)
PROG:WAVE:VOLT:DATA2 24.0,1000 ; 第2点:电压24V,变化时间1000ms(从12V到24V的上升时间)
PROG:WAVE:VOLT:DATA3 0.0,200 ; 第3点:电压0V,变化时间200ms(从24V到0V的下降时间)
PROG:WAVE:SEGM 3 ; 设置波形步数为3
PROG:WAVE:COUN INFinite ; 无限循环
PROG:WAVE:INITiate ; 激活任意波模式
OUTPut ON ; 启动输出
PROG:WAVE:VOLT:DATA#中的第二个参数(变化时间)决定。例如,从12V到24V的插值间隔为1000ms。scpiTRIGger:DELay 1000 ; 触发后延迟1000ms启动波形OUTPut:DELay:RUN 300 ; 输出接通前延迟300ms
| 参数类型 | 列表模式指令 | 任意波模式指令 | 作用 |
|---|---|---|---|
| 电压值 | PROG:LIST:VOLT:DATA# | PROG:WAVE:VOLT:DATA# | 定义序列中每个点的电压幅值。 |
| 保持/变化时间 | PROG:LIST:VOLT:DATA#(第2参数) | PROG:WAVE:VOLT:DATA#(第2参数) | 控制相邻电压点间的插值时间间隔。 |
| 序列循环次数 | PROG:LIST:COUN | PROG:WAVE:COUN | 设置序列重复播放次数(支持无限循环)。 |
| 输出延迟 | OUTPut:DELay:RUN | TRIGger:DELay | 控制输出启动前的等待时间。 |
scpiTRIGger:SOURce EXTernal ; 设置触发源为外部TRIGger:EDGE:SLOPe POSitive ; 设置触发沿为上升沿
scpiPROG:LIST:VOLT:DATA1? ; 查询列表模式第1步电压和时间PROG:WAVE:VOLT:DATA1? ; 查询任意波模式第1点电压和时间
OUTPut:DELay:RUN? ; 查询输出接通延迟时间