要通过SCPI指令设置双向直流电源的序列输出延迟,需结合序列模式(List Mode)或定时器(Timer)功能,具体指令取决于电源支持的模块。以下是分场景的详细实现方法:
若电源支持列表模式(可预设多段电压/电流输出),可通过以下指令设置每段输出的持续时间(即延迟):
初始化设置
scpiSYSTem:REMote // 切换至远程模式*RST // 复位电源(可选)
配置序列参数
scpiSOURce:LIST:COUNt <N> // N为序列点数(如5个点)
scpiSOURce:LIST:VOLTage <V1>, <V2>, ..., <VN> // 设置N个电压点(单位:V)SOURce:LIST:CURRent <I1>, <I2>, ..., <IN> // 设置N个电流点(单位:A)
scpiSOURce:LIST:DWELl <T1>, <T2>, ..., <TN> // T1~TN为每段持续时间(单位:秒)
示例:设置5个点,每段延迟分别为1s、10s、5s、5s、10s:scpiSOURce:LIST:DWELl 1, 10, 5, 5, 10
启动序列输出
scpiTRIGger:SOURce IMMediate // 选择内部触发TRIGger:INITiate // 启动序列输出
scpiTRIGger:SOURce EXTernal // 选择外部触发TRIGger:SLOPe POSitive // 上升沿触发
查询序列状态
scpiSOURce:LIST:INDEx? // 返回当前正在执行的点序号(如"2"表示第2个点)
scpiOUTPut:STATe? // 返回"ON"表示输出中,"OFF"表示停止
若电源支持独立定时器功能(如Keysight N6700系列),可通过定时器控制输出延迟:
配置定时器参数
scpiTIMer:FUNCtion ON // 定时器功能设为“开启输出”TIMer:PERiod <T> // 设置定时器周期为T秒(如10秒)
TIMer:STARt // 启动定时器
示例:设置定时器10秒后开启输出:
scpiTIMer:PERiod 10TIMer:STARt
结合触发同步(多设备场景)
scpiSYSTem:COMMunicate:SYNC:ROLE MASTER // 设置为主设备SYSTem:COMMunicate:SYNC:OUTput ON // 启用同步输出信号
scpiSYSTem:COMMunicate:SYNC:ROLE SLAVE // 设置为从设备SYSTem:COMMunicate:SYNC:INput ON // 启用同步输入
说明:主设备定时器触发后,通过Sync Out信号同步从设备输出。
SOURce:LIST:VOLTage:LEVel和SOURce:LIST:CURRent:LEVel设置列表值。TIMer子系统实现,支持周期性触发。SOURce:LIST:VOLTage:DATA和SOURce:LIST:CURRent:DATA设置列表值。SYSTem:SYNC:MASTER和SYSTem:SYNC:SLAVE配置。LIST:VOLTage:POINT 1, 24)。OUTPut:TIMer:DATA设置延迟时间。DWELl)单位通常为秒(s),部分电源支持毫秒(ms),需参考手册。PERiod)单位需与电源规格一致。SYSTem:ERRor?查询错误代码(如-221表示设置冲突)。SYSTem:REMote)、触发源是否配置正确(如TRIG:SOURce是否为EXT)。场景:设置双向直流电源按序列输出3个电压点(0V→24V→12V),每段延迟5秒。
指令流程:
scpiSYSTem:REMote // 切换至远程模式*RST // 复位电源
// 配置序列参数
SOURce:LIST:COUNt 3 // 设置3个序列点
SOURce:LIST:VOLTage 0, 24, 12 // 设置电压列表
SOURce:LIST:DWELl 5, 5, 5 // 每段延迟5秒
// 启动序列输出(内部触发)
TRIGger:SOURce IMMediate
TRIGger:INITiate
// 查询状态(可选)
SOURce:LIST:INDEx? // 查询当前执行点序号
OUTPut:STATe? // 查询输出状态
说明:
TRIGger:SOURce改为EXTernal,并连接TTL信号至Trigger In接口。SYSTem:COMMunicate:SYNC指令配置主从设备。