资讯中心

联系我们

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

如何用SCPI指令设置双向直流电源输出电流序列的步进值?

2025-12-11 10:16:40  点击:

要通过SCPI指令设置双向直流电源输出电流序列的步进值,需结合序列编程(List Mode)、电流参数配置及步进逻辑控制,以下是具体实现方法:

一、核心SCPI指令与参数

  1. 定义电流序列点
    使用 
    SOURce:LIST:CURRent:DATA# 或 PROG:LIST:CURR:DATA#(厂商差异)设置每个序列点的电流值和持续时间(单位可能为秒或100μs):

    plaintextSOURce:LIST:COUNt 3               ; 设置序列包含3个点SOURce:LIST:CURRent:DATA1 0, 2    ; 第1点: 0A, 持续2秒
    SOURce:LIST:CURRent:DATA2 2, 2    ; 第2点: 2A, 持续2秒
    SOURce:LIST:CURRent:DATA3 4, 2    ; 第3点: 4A, 持续2秒
    • 步进值逻辑:通过相邻序列点的电流值差值实现步进(如0A→2A→4A,步进为2A)。
  2. 启用序列模式

    plaintextSOURce:LIST:FUNCtion ON  ; 启用序列功能(部分电源需此指令)SOURce:LIST:CYCLe OFF   ; 禁用循环(若需单次执行)
  3. 动态调整步进值(可选)
    在序列执行前动态更新序列点参数(如修改 
    DATA2 的电流值):

    plaintextSOURce:LIST:CURRent:DATA2 3, 2    ; 将第2点电流改为3A(步进变为1A→3A→5A)

二、完整操作流程示例

1. 初始化与复位

plaintextSYSTem:REMote       ; 进入远程模式*RST                ; 复位设备(可选)

2. 配置电流序列与步进

plaintextSOUR:LIST:COUN 3                          ; 3个序列点SOUR:LIST:CURR:DATA1 0, 2000             ; 0A → 2秒(部分电源时间单位为100μs,2000=200ms需确认)
SOUR:LIST:CURR:DATA2 2, 2000             ; 2A → 2秒
SOUR:LIST:CURR:DATA3 4, 2000             ; 4A → 2秒
SOUR:LIST:FUNC ON                         ; 启用序列
SOUR:LIST:CYCL OFF                        ; 禁用循环

3. 启动输出

plaintextOUTPut:STATe ON      ; 开启输出(等待触发或立即执行)

4. 查询当前序列点(验证步进)

plaintextSOUR:LIST:INDEx?    ; 查询当前执行的序列点索引
  • 返回示例:2 表示当前为第2点(2A),验证步进是否按预期执行。

三、厂商差异与指令扩展

  1. Keysight N6700系列

    plaintextSOUR:LIST:CURR:DATA1 0, 2             ; 设置序列点SOUR:LIST:GOTO 3                       ; 跳转到第3点(部分型号支持)
  2. ITECH IT6000系列

    plaintextLIST:CURR:DATA1 0, 2000               ; 时间单位可能为100μsLIST:JUMP:INDEx 2                     ; 跳转到第2点
  3. Chroma 62000P系列

    plaintextPROG:LIST:CURR:DATA1 0, 2             ; 设置序列点PROG:LIST:GOTO 3                       ; 跳转到第3点(需确认指令支持)

四、关键注意事项

  1. 步进值范围
    • 确保电流值不超过电源规格(如最大电流100A)。
    • 查询电源手册确认时间单位(秒或100μs),避免持续时间设置错误。
  2. 动态调整步进
    • 在序列执行前修改 DATA# 参数可实时调整步进值,但需避免在序列执行中修改导致冲突。
  3. 多设备同步
    • 若需多台电源同步执行步进序列,可通过主从模式配置(如 SYST:COMM:SYNC:ROLE MASTER)。
  4. 错误处理
    • 若指令执行失败,通过 SYSTem:ERRor? 查询错误代码(如参数越限、触发未配置)。

五、Python脚本示例

pythonimport pyvisaimport timerm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")# 配置电流序列(步进值:0A→2A→4A)power.write("SYST:REM")power.write("SOUR:LIST:COUN 3")power.write("SOUR:LIST:CURR:DATA1 0, 2000")  # 0A, 2秒(假设单位为100μs)power.write("SOUR:LIST:CURR:DATA2 2, 2000")  # 2A, 2秒power.write("SOUR:LIST:CURR:DATA3 4, 2000")  # 4A, 2秒power.write("SOUR:LIST:FUNC ON")power.write("SOUR:LIST:CYCL OFF")# 启动输出power.write("OUTP ON")# 查询当前序列点(验证步进)for _ in range(3):    time.sleep(2.5)  # 等待序列点切换    index = int(power.query("SOUR:LIST:INDEx?"))    print(f"当前序列点: {index}")  # 应依次输出1→2→3power.close()

六、扩展应用

  • 双向电流输出:在序列中设置负值(如 SOUR:LIST:CURR:DATA1 -2, 2)实现双向步进。
  • 结合电压序列:同时配置电压和电流序列(如 SOUR:LIST:VOLT:DATA1 12, 2),实现复杂测试场景。