资讯中心

联系我们

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

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

2025-12-12 10:29:54  点击:

要通过SCPI指令设置双向直流电源输出电压序列的步进模式,需结合序列编程(List Mode)、序列点参数配置、步进控制指令及状态查询功能,以下是具体步骤与指令示例:

一、核心步骤与指令

1. 定义电压序列

使用SOURce:LIST:VOLTage:DATA#指令设置每个序列点的电压值及持续时间(部分设备支持时间参数,单位可能为秒或100μs):

plaintextSOURce:LIST:COUNt 5       ; 设置序列包含5个点SOURce:LIST:VOLTage:DATA1 0, 2   ; 第1点:0V,持续2秒
SOURce:LIST:VOLTage:DATA2 12, 2  ; 第2点:12V,持续2秒
SOURce:LIST:VOLTage:DATA3 24, 2  ; 第3点:24V,持续2秒
SOURce:LIST:VOLTage:DATA4 12, 2  ; 第4点:12V,持续2秒
SOURce:LIST:VOLTage:DATA5 0, 2   ; 第5点:0V,持续2秒

注意:部分设备(如Chroma 62000P系列)可能使用PROG:LIST:VOLT:DATA#指令,需参考具体型号手册。

2. 启用序列模式

通过指令激活序列功能,并禁用循环(步进模式通常需单次执行):

plaintextSOURce:LIST:FUNCtion ON   ; 启用序列模式SOURce:LIST:CYCLe OFF     ; 禁用循环(若需单次步进)

3. 步进控制(手动/自动)

  • 手动步进:通过直接设置序列索引实现跳转:

    plaintextSOURce:LIST:INDEx 3       ; 跳转到第3个序列点(24V)

    索引通常从1开始(如INDEx 1表示第1点)。

  • 自动步进:部分设备支持通过触发信号(如外部TTL)或内部定时器自动推进序列点。例如,使用内部触发启动序列:

    plaintextTRIGger:INITiate          ; 内部触发启动序列

4. 查询当前状态

验证步进是否成功,查询当前序列点索引及输出状态:

plaintextSOURce:LIST:INDEx?        ; 查询当前执行的序列点索引(返回示例:3)OUTPut:STATe?             ; 查询输出状态(1为开启,0为关闭)

二、完整操作流程示例(Python脚本)

以下示例通过Python脚本实现双向直流电源的电压序列步进控制:

pythonimport pyvisaimport time# 连接电源rm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")# 初始化与复位power.write("SYSTem:REMote")  # 切换至远程模式power.write("*RST")           # 复位设备(可选)# 配置电压序列power.write("SOUR:LIST:COUN 5")power.write("SOUR:LIST:VOLT:DATA1 0, 2")power.write("SOUR:LIST:VOLT:DATA2 12, 2")power.write("SOUR:LIST:VOLT:DATA3 24, 2")power.write("SOUR:LIST:VOLT:DATA4 12, 2")power.write("SOUR:LIST:VOLT:DATA5 0, 2")# 启用序列模式(禁用循环)power.write("SOUR:LIST:FUNC ON")power.write("SOUR:LIST:CYCL OFF")# 手动步进控制示例print("跳转到第3点(24V)...")power.write("SOUR:LIST:INDEx 3")time.sleep(0.1)  # 等待跳转完成# 查询当前状态current_index = int(power.query("SOUR:LIST:INDEx?"))output_state = int(power.query("OUTPut:STATe?"))print(f"当前序列点: {current_index}, 输出状态: {'开启' if output_state else '关闭'}")# 关闭输出power.write("OUTPut OFF")power.close()

三、厂商差异与指令扩展

  1. Keysight N6700系列
    • 支持SOURce:LIST:GOTO 3指令直接跳转到第3点。
    • 查询序列状态:SOURce:LIST:STATus?
  2. ITECH IT6000系列
    • 时间单位可能为100μs(如LIST:VOLT:DATA1 0, 2000表示200ms)。
    • 跳转指令:LIST:JUMP:INDEx 2
  3. Chroma 62000P系列
    • 使用PROG:LIST:VOLT:DATA#设置序列点。
    • 跳转指令:PROG:LIST:GOTO 3(需确认支持)。

四、关键注意事项

  1. 索引范围:确保跳转的索引不超过序列点总数(可通过SOUR:LIST:COUNt?查询)。
  2. 跳转时序:跳转后需短暂延迟(如time.sleep(0.1)),确保电源完成状态切换。
  3. 双向输出:若需负电压,在序列中设置负值(如SOUR:LIST:VOLT:DATA1 -12, 2)。
  4. 保护功能:跳转前确认电压值未触发过压保护(OVP),可通过SOUR:VOLTage:PROTection:LEVel?查询保护阈值。

通过上述方法,可灵活实现双向直流电源的电压序列步进控制,适用于电池测试、动态负载模拟等场景。