若要通过SCPI指令设置双向直流电源输出电压序列的插值时间间隔为非均匀分布,需结合电源的列表编程(LIST Programming)或高级编程(ADVanced Programming)功能,通过自定义每一步的电压值和保持时间实现。以下是具体方法及示例:
双向直流电源通常支持通过SCPI命令定义输出电压序列,每一步可单独设置电压值和保持时间。通过为每一步分配不同的保持时间,可实现非均匀分布的插值时间间隔。例如:
确认电源支持的功能
通过查询设备手册或发送以下命令,确认电源是否支持列表编程或高级编程:
scpi*IDN? ; 查询设备型号和厂商SYSTem:CAPability? ; 查询设备功能列表
若返回信息中包含LIST或ADV关键字,则支持相关功能。
进入编程模式并清除状态
发送以下命令清除设备状态,避免残留设置影响:
scpi*CLS ; 清除设备状态*RST ; 恢复出厂设置(可选,谨慎使用)
定义电压序列的每一步参数
使用PROG:LIST:VOLT:DATA#命令设置每一步的电压值和保持时间,其中#为步数编号(1~100)。参数格式为<电压值>,<保持时间(单位:100μs)>。
示例:设置3步电压序列
scpiPROG:LIST:VOLT:DATA1 10.0,1000 ; 第1步:10V,保持时间1000×100μs=100msPROG:LIST:VOLT:DATA2 15.0,5000 ; 第2步:15V,保持时间5000×100μs=500ms
PROG:LIST:VOLT:DATA3 20.0,2000 ; 第3步:20V,保持时间2000×100μs=200ms
配置编程模式参数
设置循环次数、触发模式等参数:
scpiPROG:LIST:COUN 1 ; 设置循环次数为1(单次执行)PROG:LIST:TRIG AUTO ; 设置触发模式为自动(立即执行)
启动电压序列输出
发送以下命令启动编程模式:
scpiPROG:LIST:INIT ; 初始化列表编程
电源将按定义的电压值和保持时间依次输出。
查询当前执行状态(可选)
通过以下命令查询当前执行的步数或状态:
scpiPROG:LIST:SEGMent? ; 查询当前执行的步数PROG:LIST:CONTinuous? ; 查询连续触发状态
保持时间单位
保持时间的单位为100μs(部分电源可能为ms或s,需参考设备手册)。例如,PROG:LIST:VOLT:DATA1 10.0,1000中的1000表示100ms(1000×100μs)。
步数限制
单次列表编程的步数通常有限制(如1~100步)。若需更长的序列,可分多次发送或使用PROG:LIST:LOAD命令从存储位置加载预设序列。
触发同步
若需与其他设备同步,可配置外部触发信号(如TRIG:SOURce EXT)或设置特定的触发延迟(如OUTPut:DELay:RISE 0.1)。
参数校验
发送命令前,确保电压值和保持时间在电源能力范围内。例如,若电源最大输出电压为60V,则PROG:LIST:VOLT:DATA#中的电压值不得超过60V。
假设需测试双向直流电源在非均匀时间间隔下的动态响应,电压序列如下:
SCPI命令序列:
scpi*CLSPROG:LIST:VOLT:DATA1 0.0,500 ; 0V,50ms
PROG:LIST:VOLT:DATA2 12.0,5000 ; 12V,500ms
PROG:LIST:VOLT:DATA3 24.0,2000 ; 24V,200ms
PROG:LIST:COUN 1
PROG:LIST:TRIG AUTO
PROG:LIST:INIT