在双向直流电源中,SCPI指令通常不直接用于底层PWM控制,而是通过配置输出参数(如电压、电流、定时、触发等)间接实现PWM相关的功能。若需实现类似PWM的定时输出或周期性切换,可结合序列输出、定时器、触发同步等功能,通过SCPI指令配置电源的输出模式和时间参数。以下是具体实现方法及示例:
双向直流电源的PWM控制需求通常表现为周期性切换输出电压/电流方向(如正负电压交替输出)或定时启停输出。由于SCPI指令主要用于高层参数配置,而非直接操作PWM寄存器,因此需通过以下方式间接实现:
scpiSOURce:LIST:COUNt <N> ; 设置序列点数(如N=2表示正负电压各一步)SOURce:LIST:VOLT <v1>, <v2> ; 设置电压序列(如12V, -12V)
SOURce:LIST:DWEL <t1>, <t2> ; 设置每步持续时间(如1s, 1s)
SOURce:LIST:ENABle ON ; 启用序列输出
scpiOUTPut:TIMer:ON <state> ; 启用/禁用定时器(1=启用,0=禁用)OUTPut:TIMer:TIME <t> ; 设置定时时间(单位:秒)
OUTPut:STATe ON ; 启动输出(定时器到期后自动关闭)
scpiTRIGger:SOURce EXT ; 选择外部触发源(如TTL信号)TRIGger:SLOPe POS ; 上升沿触发
OUTPut:TRIGger:DELay <t> ; 触发后延迟输出时间(单位:秒)
scpi*RST ; 复位电源SYSTem:REMote ; 切换至远程模式
SOURce:LIST:COUNt 2 ; 设置2个序列点
SOURce:LIST:VOLT 12, -12 ; 电压序列:+12V → -12V
SOURce:LIST:DWEL 1, 1 ; 每步持续1秒
SOURce:LIST:ENABle ON ; 启用序列
OUTPut:STATe ON ; 启动输出
效果:电源输出+12V持续1秒,然后切换为-12V持续1秒,循环执行。
scpi*RSTSYSTem:REMote
OUTPut:TIMer:ON 1 ; 启用定时器
OUTPut:TIMer:TIME 5 ; 定时5秒
OUTPut:STATe ON ; 启动输出(5秒后自动关闭)
效果:电源立即启动输出,5秒后自动关闭。
主设备配置:
scpiSYSTem:REMoteSYSTem:COMMunicate:SYNC:ROLE MASTER ; 设置为主设备
SYSTem:COMMunicate:SYNC:OUTput ON ; 启用同步输出
TRIGger:SOURce EXT ; 外部触发
TRIGger:SLOPe POS ; 上升沿触发
OUTPut:STATe ON ; 准备输出
从设备配置:
scpiSYSTem:REMoteSYSTem:COMMunicate:SYNC:ROLE SLAVE ; 设置为从设备
SYSTem:COMMunicate:SYNC:INput ON ; 启用同步输入
OUTPut:STATe ON ; 准备输出
操作步骤:
SOURce:LIST可能简写为SOUR:LIST),需参考具体型号的编程手册。SYSTem:ERRor?查询错误代码,定位问题原因。