资讯中心

联系我们

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

如何用SCPI指令设置双向直流电源输出电流序列步进模式为同步?

2025-12-18 09:55:07  点击:

若要将双向直流电源的输出电流序列步进模式设置为同步(即多台电源或序列点按统一时序推进),需结合序列模式配置、同步触发设置及多设备协调三大核心环节,以下是具体步骤与指令示例:

一、核心配置步骤

  1. 启用序列模式

    • 指令:SOURce:LIST:FUNCtion ON
    • 作用:激活电源的序列输出功能,允许预设多个电流值及持续时间。
  2. 设置序列点数

    • 指令:SOURce:LIST:COUNt <N>
    • 示例:SOURce:LIST:COUNt 3(定义3个序列点)
    • 作用:指定序列中包含的电流点数量。
  3. 定义电流序列参数

    • 指令:SOURce:LIST:CURRent:DATA<n> <I_value>, <dwell_time>
    • 示例:
      • SOURce:LIST:CURRent:DATA1 0, 2(第1点:0A,持续2秒)
      • SOURce:LIST:CURRent:DATA2 5, 2(第2点:5A,持续2秒)
      • SOURce:LIST:CURRent:DATA3 0, 2(第3点:0A,持续2秒)
    • 作用:为每个序列点设置电流值及持续时间。
  4. 设置步进模式为同步触发

    • 通用指令(适用于多数电源)
      • 内部触发(软件同步):
        • 指令:TRIGger:SOURce IMMediate
        • 作用:通过软件指令(如TRIGger:INITiate)同步推进序列。
      • 外部触发(硬件同步):
        • 指令:TRIGger:SOURce EXTernal + TRIGger:SLOPe POSitive(或NEGative
        • 作用:通过外部TTL信号触发序列推进,上升沿或下降沿可选。
    • 厂商特定指令(以Keysight N6700系列为例)
      • 单步触发模式:
        • 指令:SOURce:LIST:ADVance:TRIGger SINGle
        • 作用:每发送一次TRIGger:INITiate推进一个序列点。
      • 连续触发模式:
        • 指令:SOURce:LIST:ADVance:TRIGger CONTinuous
        • 作用:通过持续触发信号(如外部脉冲)推进序列。

二、多设备同步配置(可选)

若需多台电源同步执行序列(如三相电源测试),需通过总线协议(如IEEE 488.2、LXI)或专用同步接口(如Sync Out/In)实现:

  1. 主设备配置

    • 指令:
      • SYSTem:COMMunicate:SYNC:ROLE MASTER(设为主设备)
      • SYSTem:COMMunicate:SYNC:OUTput ON(启用同步输出信号)
    • 作用:主设备通过外部信号(如TTL脉冲)触发后,通过Sync Out接口发送同步信号。
  2. 从设备配置

    • 指令:
      • SYSTem:COMMunicate:SYNC:ROLE SLAVE(设为从设备)
      • SYSTem:COMMunicate:SYNC:INput ON(启用同步输入)
    • 作用:从设备接收到主设备的同步信号后立即启动序列。

三、启动序列输出

  1. 内部触发启动

    • 指令:TRIGger:INITiate
    • 作用:发送触发信号,推进序列至下一步(或启动连续触发模式)。
  2. 外部触发启动

    • 操作:将TTL信号接入电源的Trigger In接口。
    • 作用:当信号到达时,电源自动开始执行序列。

四、状态查询与验证

  1. 查询当前序列点索引

    • 指令:SOURce:LIST:INDEx?
    • 返回值:当前正在执行的序列点序号(如“2”表示第2个点)。
  2. 查询输出状态

    • 指令:OUTPut:STATe?
    • 返回值:"ON"表示输出中,"OFF"表示停止。

五、完整操作示例(Python脚本)

pythonimport pyvisa# 连接电源rm = pyvisa.ResourceManager()power_supply = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")  # 替换为实际电源地址# 初始化与复位power_supply.write("SYSTem:REMote")power_supply.write("*RST")# 配置序列参数power_supply.write("SOURce:LIST:COUNt 3")power_supply.write("SOURce:LIST:CURRent:DATA1 0, 2")power_supply.write("SOURce:LIST:CURRent:DATA2 5, 2")power_supply.write("SOURce:LIST:CURRent:DATA3 0, 2")# 设置为同步触发模式(内部触发)power_supply.write("TRIGger:SOURce IMMediate")power_supply.write("SOURce:LIST:ADVance:TRIGger SINGle")  # Keysight N6700系列指令# 启动输出并手动推进(每步需发送TRIGger:INITiate)power_supply.write("OUTPut ON")input("按Enter键触发第一步...")power_supply.write("TRIGger:INITiate")  # 第1步input("按Enter键触发第二步...")power_supply.write("TRIGger:INITiate")  # 第2步input("按Enter键触发第三步...")power_supply.write("TRIGger:INITiate")  # 第3步# 关闭连接power_supply.close()