资讯中心

联系我们

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

如何用SCPI指令设置双向直流电源输出电流序列的终止条件?

2025-12-12 10:18:00  点击:

要使用SCPI指令设置双向直流电源输出电流序列的终止条件,需结合序列编程功能,通过配置序列点数量、循环模式及状态查询指令实现灵活控制。以下是具体方法与指令示例:

一、核心控制指令

  1. 定义序列点数量
    使用 
    SOURce:LIST:COUNt 指令设置电流序列的总点数,间接控制序列终止条件。
    示例

    plaintextSOURce:LIST:COUNt 5  ; 设置序列包含5个点
  2. 配置序列点参数
    通过 
    SOURce:LIST:CURRent:DATA# 指令为每个序列点定义电流值及持续时间(部分电源支持时间参数)。
    示例

    plaintextSOURce:LIST:CURR:DATA1 0, 2    ; 第1点:0A,持续2秒SOURce:LIST:CURR:DATA2 5, 2    ; 第2点:5A,持续2秒
    SOURce:LIST:CURR:DATA3 10, 2   ; 第3点:10A,持续2秒
    SOURce:LIST:CURR:DATA4 5, 2    ; 第4点:5A,持续2秒
    SOURce:LIST:CURR:DATA5 0, 2    ; 第5点:0A,持续2秒
  3. 启用序列模式
    使用 
    SOURce:LIST:FUNCtion ON 指令启动序列输出功能。
    示例

    plaintextSOURce:LIST:FUNCtion ON  ; 启用序列模式
  4. 控制序列循环行为

    • 禁用循环(单次执行后终止):
      plaintextSOURce:LIST:CYCLe OFF  ; 序列执行一次后停止
    • 启用循环(需额外终止条件):
      plaintextSOURce:LIST:CYCLe ON   ; 序列循环执行,需通过其他条件终止

二、终止条件实现方式

1. 基于序列点数量的自然终止

  • 原理:序列执行完预设点数后自动停止。
  • 适用场景:需固定执行完整序列的测试(如电池充放电循环测试)。
  • 验证指令
    plaintextSOURce:LIST:COUNt?  ; 查询当前序列点总数

2. 通过跳转指令提前终止

  • 原理:使用 SOURce:LIST:INDEx 指令直接跳转到指定序列点,实现随机访问或提前终止。
  • 示例(跳转到第3点后终止):
    plaintextSOURce:LIST:INDEx 3  ; 跳转到第3点(10A)SOURce:LIST:CYCLe OFF ; 确保序列不循环

3. 外部触发终止

  • 原理:结合触发信号(如TTL电平)和延迟控制,通过外部事件终止序列。
  • 配置步骤
    1. 设置触发源为外部信号:
      plaintextTRIGger:SOURce EXTernal  ; 外部触发TRIGger:SLOPe POSitive    ; 上升沿触发
    2. 配置触发后延迟输出时间(可选):
      plaintextOUTPut:TRIGger:DELay 0.5  ; 触发后延迟0.5秒输出
    3. 发送触发信号(硬件操作)或通过软件指令触发:
      plaintextTRIGger:INITiate  ; 软件触发

4. 查询状态终止

  • 原理:通过查询当前序列点索引或输出状态,动态决定终止时机。
  • 查询指令
    plaintextSOURce:LIST:INDEx?  ; 查询当前执行的序列点索引OUTPut:STATe?       ; 查询输出状态(ON/OFF)

三、完整操作流程示例

场景:执行3个电流序列点后终止

  1. 初始化与复位
    plaintextSYSTem:REMote  ; 进入远程模式*RST           ; 复位设备
  2. 配置序列
    plaintextSOURce:LIST:COUNt 3          ; 3个序列点SOURce:LIST:CURR:DATA1 0, 2  ; 0A → 2秒
    SOURce:LIST:CURR:DATA2 5, 2  ; 5A → 2秒
    SOURce:LIST:CURR:DATA3 10, 2 ; 10A → 2秒
    SOURce:LIST:CYCLe OFF         ; 禁用循环
  3. 启动序列
    plaintextSOURce:LIST:FUNCtion ON  ; 启用序列模式OUTPut:STATe ON          ; 开启输出
  4. 验证终止
    plaintextSOURce:LIST:INDEx?  ; 查询当前点(执行完第3点后停止)

四、厂商差异与注意事项

  1. 指令兼容性
    • Keysight N6700系列可能使用 SOURce:LIST:GOTO 跳转指令。
    • ITECH IT6000系列支持 LIST:JUMP:INDEx 实现类似功能。
    • Chroma 62000P系列可能需通过 PROG:LIST:CURR:DATA# 配置序列点。
  2. 关键限制
    • 确保跳转的索引不超过 SOURce:LIST:COUNt? 查询的总点数。
    • 跳转后需短暂延迟(如 time.sleep(0.1)),确保电源完成状态切换。
    • 双向输出时,序列点电流值可设置为负值(如 SOURce:LIST:CURR:DATA1 -5, 2)。
  3. 错误处理
    • 通过 SYSTem:ERRor? 查询错误代码(如参数越限、触发未配置)。
    • 触发保护功能(如OCP)时,需先清除保护状态(OUTPut:PROTect:CLEar)。