资讯中心

联系我们

深圳市维立信电子科技有限公司
地址:深圳市福田区红荔路第一世界广场A座8D-E
咨询电话:0755-83766766
E-mail:info@welissom.com

如何通过SCPI命令设置Keysight双向直流电源模块的阶跃响应测试参数?

2026-04-03 09:58:51  点击:

  要通过SCPI命令设置Keysight双向直流电源模块的阶跃响应测试参数,需结合序列编程、触发同步及参数配置等关键技术,以下是分步骤的详细实现方案:

  一、核心实现步骤

  定义电压阶跃序列

  使用SOURce:LIST:VOLTage:DATA指令预设每个序列点的电压值及持续时间(单位依设备而定,如秒或毫秒)。

  示例:

  plaintext

  SOUR:LIST:COUN 3 ; 设置3个序列点

  SOUR:LIST:VOLT 0. 12. 0 ; 电压序列:0V → 12V → 0V

  SOUR:LIST:DWEL 2. 2. 2 ; 每段持续时间2秒

  COUN指定序列点总数,DWEL设置每个点的保持时间,若需动态调整,可通过脚本实时修改。

  启用序列模式

  示例:

  plaintext

  SOUR:LIST:FUNC ON ; 激活序列功能(部分电源需此指令)

  SOUR:LIST:CYCL OFF ; 禁用循环(若需随机访问,避免自动重复)

  同步触发配置

  场景1:外部信号触发(如TTL脉冲)

  plaintext

  TRIG:SOUR EXT ; 选择外部触发源

  TRIG:SLOP POS ; 上升沿触发

  OUTP:STAT ON ; 准备输出,等待触发

  场景2:内部软件触发

  plaintext

  TRIG:SOUR IMM ; 选择内部触发

  TRIG:INIT ; 立即启动序列

  时间戳记录(可选)

  若需量化同步精度,启用电源的时间戳功能(如Keysight N6700系列):

  plaintext

  SYST:TIME:SYNC:EXT ON ; 启用外部时间同步(如GPS或IEEE 1588)

  SYST:EVENT:LEV 1 ; 启用事件记录

  SYST:EVENT:STAT? ; 查询事件日志(含序列启动时间戳)

  多设备同步(主从模式)

  主设备配置:

  plaintext

  SYST:COMM:SYNC:ROLE MASTER ; 设为主设备

  SYST:COMM:SYNC:OUTP ON ; 输出同步信号

  从设备配置:

  plaintext

  SYST:COMM:SYNC:ROLE SLAVE ; 设为从设备

  SYST:COMM:SYNC:INP ON ; 接收同步信号

  二、随机访问序列点的实现方法

  直接跳转指令

  通过SOURce:LIST:INDEx指令直接跳转到指定序列点:

  plaintext

  SOUR:LIST:INDEx 2 ; 跳转到第2点(12V)

  验证跳转:

  plaintext

  SOUR:LIST:INDEx? ; 查询当前序列点索引

  动态修改序列参数

  在跳转前实时更新序列点电压值(如将第2点改为15V):

  plaintext

  SOUR:LIST:VOLT 0. 15. 0 ; 修改序列数据

  SOUR:LIST:INDEx 2 ; 跳转到更新后的第2点

  三、完整操作流程示例(Python脚本)

  python

  import pyvisa

  import time

  rm = pyvisa.ResourceManager()

  power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")

  # 1. 配置序列

  power.write("SYST:REM")

  power.write("SOUR:LIST:COUN 3")

  power.write("SOUR:LIST:VOLT 0. 12. 0")

  power.write("SOUR:LIST:DWEL 2. 2. 2")

  # 2. 设置外部触发(TTL信号)

  power.write("TRIG:SOUR EXT")

  power.write("TRIG:SLOP POS")

  power.write("OUTP:STAT ON")

  # 3. 随机跳转到第2点(12V)

  power.write("SOUR:LIST:INDEx 2")

  time.sleep(0.1) # 等待跳转完成

  # 4. 查询当前点验证

  current_index = int(power.query("SOUR:LIST:INDEx?"))

  print(f"当前序列点: {current_index}") # 应输出:当前序列点: 2

  # 5. 多设备同步示例(主设备触发从设备)

  # 主设备发送触发信号(需硬件连接)

  # power.write("SYST:COMM:SYNC:PULS") # 部分电源支持同步脉冲

  power.close()

  四、关键注意事项

  指令兼容性:不同厂商电源的指令可能差异显著(如Chroma使用LIST:LOOP代替CYCL),需参考具体型号手册。

  硬件延迟:外部触发到电源实际输出的延迟通常<1ms,可通过校准补偿。

  保护功能:跳转前确认电压值未触发OVP(过压保护)。

  时间戳精度:若需亚毫秒级同步,优先使用电源内置时间戳功能,或通过示波器捕捉触发信号与输出变化的时差。

  动态序列修改:在跳转前通过SOUR:LIST:VOLT:DATA实时更新序列参数。

  循环控制:通过SOUR:LIST:CYCL ON启用循环,结合SOUR:LIST:COUNt:REPeat设置循环次数(部分型号支持)。