要实现电源输出与示波器时基同步,需通过SCPI指令配置电源序列输出模式,并利用外部触发信号同步示波器的时基扫描。以下是具体操作步骤与指令示例:
设置序列点参数
使用SOURce:LIST指令定义电压序列的每个点及其持续时间。例如,设置3个序列点(0V→12V→0V,每个点持续2秒):
plaintextSOUR:LIST:COUN 3 ; 定义3个序列点SOUR:LIST:VOLT 0, 12, 0 ; 电压序列:0V → 12V → 0V
SOUR:LIST:DWEL 2, 2, 2 ; 每个点持续时间2秒
启用序列模式并禁用循环
激活序列功能并确保单次执行(避免自动重复):
plaintextSOUR:LIST:FUNC ON ; 启用序列模式SOUR:LIST:CYCL OFF ; 禁用循环
配置外部触发同步
选择外部TTL信号作为触发源,并设置为上升沿触发:
plaintextTRIG:SOUR EXT ; 外部触发源TRIG:SLOP POS ; 上升沿触发
OUTP:STAT ON ; 启用输出,等待触发
设置触发源与模式
将示波器的触发源设置为外部通道(如EXT或AUX),并匹配电源的触发边沿:
plaintext:TRIGger:SOURce EXTernal ; 外部触发源(需根据示波器型号调整):TRIGger:SLOPe POSitive ; 上升沿触发(与电源一致)
调整时基参数
根据序列持续时间设置合适的时基档位(如每格2秒,覆盖总时长6秒):
plaintext:TIMebase:SCALe 2 ; 时基每格2秒:TIMebase:POSition 50 ; 触发点位于屏幕中心(50%)
启用单次触发模式
若需捕获单次序列输出,关闭自动触发并启用单次触发:
plaintext:TRIGger:MODE SINGle ; 单次触发模式
Trigger Out信号(TTL脉冲)连接至示波器的外部触发输入(如EXT Trig接口)。CH1)。SYST:EVENT:LEV 1),查询序列启动时间戳。pythonimport timeext_trigger_time = time.time() # 外部信号发送时刻while True: index = int(power.query("SOUR:LIST:INDEx?")) if index == 1: # 序列已启动 actual_start_time = time.time() breaksync_error = (actual_start_time - ext_trigger_time) * 1000 # 误差(毫秒)
若需同步多台电源或示波器,可通过主从模式实现:
plaintextSYST:COMM:SYNC:ROLE MASTER ; 设为主设备SYST:COMM:SYNC:OUTP ON ; 输出同步信号
plaintextSYST:COMM:SYNC:ROLE SLAVE ; 设为从设备SYST:COMM:SYNC:INP ON ; 接收同步信号
SYNC Out接口发送脉冲,从设备接收后同步启动序列输出和时基扫描。PROG:LIST:VOLT:DATA#),需参考具体型号手册。