要实现双向直流电源的输出电压序列与外部信号同步,需利用电源的外部触发功能(External Trigger)或同步接口(如TTL脉冲、BNC接口),结合SCPI指令配置触发模式和序列参数。以下是具体方法和SCPI指令示例:
Trigger In接口,通过SCPI指令配置触发模式(上升沿/下降沿触发)。Trigger In接口(通常为BNC接口)。plaintext* 复位电源并禁用输出*RST
OUTPut OFF
* 配置触发模式:外部触发,上升沿响应
TRIGger:SOURce EXTernal ; 触发源为外部
TRIGger:SLOPe POSitive ; 上升沿触发
* 定义电压序列(示例:4步序列,正负电压交替)
SOURce:LIST:VOLTage:DATA 12, -5, 8, 0 ; 序列值:12V → -5V → 8V → 0V
SOURce:LIST:TIME:DATA 1, 0.5, 0.2, 1 ; 每步持续时间(秒)
SOURce:LIST:RANGe:DATA AUTO, AUTO, AUTO, AUTO ; 自动量程
SOURce:LIST:COUNt 4 ; 序列步数
* 启用序列模式
SOURce:LIST:FUNCtion ON
* 准备触发(等待外部信号)
INITiate:IMMediate
效果:每次外部触发信号的上升沿到来时,电源输出切换到序列的下一步。
部分电源支持单步触发模式(Step Trigger),即每次触发仅执行序列中的一步:
plaintext* 配置触发模式:单步触发TRIGger:SOURce EXTernal
TRIGger:SLOPe POSitive
TRIGger:MODE STEP ; 每次触发执行一步
* 定义序列(同上)
SOURce:LIST:VOLTage:DATA 12, -5, 8, 0
SOURce:LIST:TIME:DATA 1, 0.5, 0.2, 1
SOURce:LIST:COUNt 4
* 启用序列模式
SOURce:LIST:FUNCtion ON
OUTPut ON ; 开启输出(等待触发)
效果:每次外部触发信号仅触发序列中的一步,适合需要精确控制步进的应用。
若需序列循环运行并同步到外部信号(如周期性触发):
plaintext* 配置序列循环SOURce:LIST:CYCLes INFinite ; 无限循环
SOURce:LIST:COUNt 4
* 配置触发模式:外部触发启动循环
TRIGger:SOURce EXTernal
TRIGger:SLOPe POSitive
TRIGger:MODE LIST ; 触发后执行完整序列
* 启用序列模式
SOURce:LIST:FUNCtion ON
OUTPut ON
效果:每次外部触发信号启动一次完整的序列循环。
SOURce:LIST:TIME:DATA定义每步的持续时间,需确保外部触发信号的间隔时间 ≥ 序列总时间。-5),双向电源会自动切换极性。SOURce:POLarity指令(部分电源支持)。TRIGger:DELay微调(如TRIGger:DELay 0.001延迟1ms)。TRIGger:MODE LIST/STEP。PROG:LIST:TRIG配置触发模式。LIST:TRIG:SOURce选择触发源。SYSTem:LOG或编程语言(如Python)记录触发时间和输出值,分析同步精度。TRIGger:SOURce配置。SOURce:LIST:FUNCtion ON和OUTPut ON已启用。pythonimport pyvisarm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")# 配置外部触发序列power.write("*RST")power.write("OUTPut OFF")power.write("TRIGger:SOURce EXTernal")power.write("TRIGger:SLOPe POSitive")power.write("SOURce:LIST:VOLTage:DATA 12, -5, 8, 0")power.write("SOURce:LIST:TIME:DATA 1, 0.5, 0.2, 1")power.write("SOURce:LIST:COUNt 4")power.write("SOURce:LIST:FUNCtion ON")power.write("OUTPut ON")print("等待外部触发信号...")# 此时电源处于触发等待状态,外部信号上升沿将启动序列
通过合理配置触发模式和序列参数,可实现双向直流电源与外部信号的高精度同步。