资讯中心

联系我们

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

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

2025-12-18 09:53:24  点击:

要将双向直流电源的输出电流序列步进模式设置为手动触发(即每一步需通过外部或软件指令触发),可按照以下步骤使用SCPI指令进行配置,同时需注意不同厂商电源的指令差异:

一、核心配置步骤

  1. 启用序列模式
    发送指令开启序列功能,确保电源进入序列输出状态:

    plaintextSOURce:LIST:FUNCtion ON

    部分电源(如ITECH IT6000系列)可能需先配置序列参数后再启用模式。

  2. 设置序列点数
    定义电流序列的总点数(如3点序列):

    plaintextSOURce:LIST:COUNt 3
  3. 定义电流序列参数
    为每个序列点设置电流值和持续时间(单位依设备而定,如秒或毫秒):

    plaintextSOURce: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秒

    部分电源(如Chroma 62000P系列)可能使用PROG:LIST:CURR:DATA#指令。

  4. 设置步进模式为手动触发
    发送指令将步进模式设为手动,每一步需通过触发指令推进:

    • 通用指令(适用于Keysight等多数电源):
      plaintextSOURce:LIST:ADVance MANual
    • Keysight电源专用指令(需结合单步触发):
      plaintextSOURce:LIST:ADVance:TRIGger SINGle  ; 设置为单步触发模式TRIGger:INITiate                     ; 每发送一次推进一步
    • ITECH电源指令
      plaintextLIST:ADVance:MODE MAN  ; 手动模式LIST:ADVance:TRIGger    ; 推进一步(需配合软件按钮或脚本)

二、启动输出与手动推进

  1. 开启输出
    发送指令启动电源输出,但序列不会自动运行,需等待触发:

    plaintextOUTPut ON
  2. 手动推进序列

    • 内部触发(软件触发)
      发送
      TRIGger:INITiate指令推进至下一步(如Keysight电源需先设置SOURce:LIST:ADVance:TRIGger SINGle)。
    • 外部触发(硬件触发)
      若配置为外部触发(如
      TRIGger:SOURce EXTernal),需通过TTL信号推进序列。

三、厂商差异与指令扩展

  1. Keysight N6700系列
    • 单步触发需结合SOURce:LIST:ADVance:TRIGger SINGleTRIGger:INITiate
    • 示例流程:
      plaintextSOURce:LIST:ADVance:TRIGger SINGleTRIGger:INITiate  ; 执行第1步
      TRIGger:INITiate  ; 执行第2步
  2. ITECH IT6000系列
    • 使用LIST:ADVance:MODE MAN启用手动模式,通过LIST:ADVance:TRIGger推进。
    • 示例流程:
      plaintextLIST:ADVance:MODE MANLIST:ADVance:TRIGger  ; 推进一步
  3. Chroma 62000P系列
    • 可能支持SOURce:LIST:STEP:MODE MANSOURce:LIST:STEP:TRIGger
    • 示例流程:
      plaintextSOURce:LIST:STEP:MODE MANSOURce:LIST:STEP:TRIGger  ; 触发下一步

四、注意事项

  1. 触发源选择
    • 若需外部硬件触发(如TTL信号),需配置触发源和边沿:
      plaintextTRIGger:SOURce EXTernal  ; 选择外部触发TRIGger:SLOPe POSitive    ; 上升沿触发(或NEGative)
  2. 状态查询
    • 查询当前序列点位置:
      plaintextSOURce:LIST:ADVance:COUNter?
    • 查询序列状态:
      plaintextOUTPut:STATe?  ; 确认输出是否开启
  3. 错误处理
    • 若指令执行失败,查询错误代码(如SYSTem:ERRor?):
      • -400 Parameter Error:参数超出范围(如步进模式不支持MANual)。
      • -350 Command Error:指令语法错误(如拼写错误)。

五、完整Python脚本示例(PyVISA)

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("SOURce:LIST:ADVance MANual")# 启动输出并手动推进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()