资讯中心

联系我们

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

如何通过SCPI指令设置双向直流电源的电压限制?

2025-11-26 09:42:28  点击:

要通过SCPI指令设置双向直流电源的电压限制,核心步骤是使用SOURce:VOLTage:PROTectionVOLTage:PROT指令设置过压保护阈值,同时需结合电源型号调整指令格式,并确保设备处于远程控制模式。以下是具体操作流程与注意事项:

一、核心指令与参数

  1. 设置过压保护阈值
    多数双向直流电源通过以下指令设置电压上限(单位:伏特):

    plaintextSOURce:VOLTage:PROTection <value>  // 示例:SOUR:VOLT:PROT 30.0(设置保护电压为30V)

    或简写为:

    plaintextVOLTage:PROT <value>  // 示例:VOLT:PROT 30.0

    部分型号可能使用SOURce:VOLTage:LIMitVOLTage:MAX,需参考手册确认。

  2. 启用/禁用保护功能
    若需单独启用或禁用保护,可追加状态指令:

    plaintextSOURce:VOLTage:PROTection:STATe ON  // 启用过压保护SOURce:VOLTage:PROTection:STATe OFF // 禁用过压保护
  3. 查询当前设置
    通过查询指令验证保护阈值是否生效:

    plaintextSOURce:VOLTage:PROTection?  // 返回当前保护电压值(如"30.0")

二、完整操作流程示例

  1. 连接电源并切换至远程模式

    plaintextSYSTem:REMote  // 确保电源处于远程控制状态
  2. 设置输出电压与保护阈值

    plaintextSOURce:VOLTage 24.0  // 设置目标输出电压为24VSOURce:VOLTage:PROTection 25.0  // 设置过压保护阈值为25V
  3. 启用保护功能(可选)

    plaintextSOURce:VOLTage:PROTection:STATe ON  // 启用保护(若默认未启用)
  4. 触发输出并验证

    plaintextOUTPut:STATe ON  // 启动输出SOURce:VOLTage:PROTection?  // 查询保护阈值确认设置

三、注意事项

  1. 指令兼容性
    • 不同厂商指令可能差异显著,例如:
      • Keysight/AgilentSOUR:VOLT:PROT 30.0
      • ChromaVOLT:PROT 30.0
      • ITECHSOUR:VOLT:LIM 30.0
        务必查阅设备手册的“SCPI Command Tree”章节确认指令格式。
  2. 单位与量程
    • 确保电压值在设备量程内(如0-60V电源设置70V会导致错误)。
    • 部分电源需显式指定量程(如VOLT:RANGe 60)。
  3. 保护逻辑
    • 过压保护触发后,电源可能自动关闭输出或进入保护状态,需通过OUTPut:STATe?SYSTem:ERRor?查询状态。
    • 若需恢复输出,需先排除故障(如降低电压)后手动重启(如OUTPut:STATe ON)。
  4. 动态修改
    • 在测试过程中可通过SCPI动态调整保护阈值(如软启动场景中逐步提高保护电压)。

四、Python代码示例(PyVISA)

pythonimport pyvisarm = pyvisa.ResourceManager()power_supply = rm.open_resource('GPIB0::1::INSTR')  # 根据实际接口修改# 切换至远程模式power_supply.write("SYSTem:REMote")# 设置输出电压与保护阈值power_supply.write("SOURce:VOLTage 24.0")power_supply.write("SOURce:VOLTage:PROTection 25.0")# 启用保护并启动输出power_supply.write("SOURce:VOLTage:PROTection:STATe ON")power_supply.write("OUTPut:STATe ON")# 查询保护阈值protection_voltage = power_supply.query("SOURce:VOLTage:PROTection?")print(f"当前过压保护阈值: {protection_voltage.strip()} V")power_supply.close()