资讯中心

联系我们

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

如何用SCPI指令查询双向直流电源输出电流的峰值保持时间?

2025-12-16 09:46:26  点击:

使用SCPI指令查询双向直流电源输出电流的峰值保持时间,需结合序列模式(List Mode)的参数配置与状态查询功能,通过定义包含峰值电流的序列点并设置其持续时间来实现。以下是具体步骤与指令说明:

一、核心原理

双向直流电源的峰值保持时间通常指输出电流在达到峰值后维持该值的时间。通过序列模式可预设多个电流值及其持续时间,电源按顺序输出每个点。通过查询序列参数或状态,可间接获取峰值电流的保持时间。

二、关键SCPI指令与步骤

1. 定义序列参数

  • 设置序列点数:指定序列包含的点数(如3个点)。
    plaintextSOURce:LIST:COUNt 3
  • 配置每个序列点的电流值与持续时间
    • 示例:第1点为0A(初始值),第2点为峰值电流(如10A),第3点返回0A。
    plaintextSOURce:LIST:CURRent:DATA1 0, 2    ; 第1点:0A,持续2秒(或200ms,依设备而定)SOURce:LIST:CURRent:DATA2 10, 5   ; 第2点:10A(峰值),持续5秒
    SOURce:LIST:CURRent:DATA3 0, 2    ; 第3点:0A,持续2秒
    • 注意:部分电源(如Chroma 62000P系列)可能使用PROG:LIST:CURR:DATA#指令,需参考具体型号手册。

2. 启用序列模式

  • 激活序列功能并禁用循环(若需单次执行):
    plaintextSOURce:LIST:FUNCtion ONSOURce:LIST:CYCLe OFF

3. 启动序列输出

  • 内部触发(软件触发)
    plaintextTRIGger:SOURce IMMediateTRIGger:INITiate
  • 外部触发(TTL信号触发)
    plaintextTRIGger:SOURce EXTernalTRIGger:SLOPe POSitive  ; 上升沿触发
    OUTPut:STATe ON         ; 准备输出,等待触发

4. 查询峰值保持时间

  • 直接读取序列参数:若序列中已明确设置峰值点的持续时间(如SOURce:LIST:CURRent:DATA2 10, 5中的5秒),可直接从配置中获取。
  • 通过状态查询验证
    • 查询当前序列点索引,确认电源是否处于峰值点:
      plaintextSOURce:LIST:INDEx?
      • 返回示例:2(表示当前为第2点,即峰值点)。
    • 结合序列配置,确认该点的持续时间即为峰值保持时间。

三、完整操作流程示例

1. 初始化与复位

plaintextSYSTem:REMote  ; 切换至远程模式*RST           ; 复位设备(可选)

2. 配置序列参数

plaintextSOURce:LIST:COUNt 3                      ; 3个序列点SOURce:LIST:CURRent:DATA1 0, 2          ; 第1点:0A,持续2秒
SOURce:LIST:CURRent:DATA2 10, 5         ; 第2点:10A(峰值),持续5秒
SOURce:LIST:CURRent:DATA3 0, 2          ; 第3点:0A,持续2秒
SOURce:LIST:FUNCtion ON                  ; 启用序列
SOURce:LIST:CYCLe OFF                   ; 禁用循环

3. 启动序列输出(内部触发)

plaintextTRIGger:SOURce IMMediateTRIGger:INITiate

4. 查询峰值保持时间

  • 方法1:直接读取序列配置
    SOURce:LIST:CURRent:DATA2 10, 5中可知,峰值电流为10A,保持时间为5秒。

  • 方法2:通过状态查询验证

    pythonimport pyvisarm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")  # 替换为实际地址# 查询当前序列点索引current_index = int(power.query("SOURce:LIST:INDEx?"))print(f"当前序列点: {current_index}")  # 若返回2,表示处于峰值点# 结合序列配置,确认峰值保持时间为5秒power.close()

四、注意事项

  1. 指令兼容性:不同厂商的电源可能使用不同的SCPI指令(如Chroma 62000P系列使用PROG:LIST:CURR:DATA#),需参考具体型号手册。
  2. 时间单位:序列点持续时间单位可能为秒(s)或毫秒(ms),需根据设备规格确认。
  3. 实时性:部分电源的查询结果可能存在延迟,需结合实际需求调整查询频率。
  4. 权限控制:确保设备处于远程模式(SYSTem:REMote)且未被其他程序锁定。