资讯中心

联系我们

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

如何通过SCPI命令查询Keysight双向直流电源的输出限制是否过流锁定?

2026-03-10 09:50:05  点击:

  要通过SCPI命令查询Keysight双向直流电源的输出是否因过流而锁定,需结合电源型号的保护功能查询指令及输出状态指令,以下是具体步骤:

  1. 确认电源型号及保护功能支持

  查阅电源手册(如N6700、N8700、RP7900系列等),确认是否支持过流保护(OCP)及锁定功能。

  关键指令:部分电源支持通过SYSTem:PROTection:STATe?或OUTPut:PROTection:STATe?查询保护功能状态,但需确认手册中是否提及过流锁定相关指令。

  2. 查询过流保护状态(通用方法)

  若电源支持通过SCPI查询保护状态,可尝试以下指令:

  查询保护触发状态:

  scpi

  SYSTem:PROTection:TRIGgered?

  返回1(或ON)表示保护已触发(如过流锁定),0(或OFF)表示未触发。

  注意:部分电源可能使用OUTPut:PROTection:TRIGgered?或STATus:PROTection:CONDition?,需根据手册调整。

  查询具体保护类型:

  scpi

  SYSTem:PROTection:TYPE?

  返回结果可能包含OCP(过流保护),需结合手册确认是否支持锁定功能。

  3. 查询输出状态(辅助判断)

  若过流锁定导致输出关闭,可通过以下指令确认输出状态:

  scpi

  OUTPut:STATe?

  返回0(或OFF)可能表示输出因保护(如过流)被关闭。

  4. 清除保护状态(可选)

  若需复位保护状态(如解锁过流锁定),可发送:

  scpi

  SYSTem:PROTection:CLEar

  注意:执行此指令前需确认保护触发原因(如负载短路),避免重复触发。

  5. 厂商差异与指令扩展

  Keysight N6700系列:

  查询保护状态:SYSTem:PROTection:STATe?(返回ON/OFF)。

  查询触发条件:STATus:PROTection:CONDition?(返回位掩码,需解析手册确认过流位)。

  Keysight RP7900系列:

  支持通过SOURce:PROTection:OCP:STATe?查询过流保护状态。

  其他型号:

  若手册未明确支持SCPI查询保护状态,需通过前面板菜单或事件日志(SYSTem:ERRor:LOG?)间接确认。

  6. 错误处理与调试

  常见错误:

  -400 Parameter Error:指令参数超出范围(如查询未启用的保护状态)。

  -350 Command Error:指令语法错误(如拼写错误)。

  -107 No Protection Active:未触发保护时查询状态。

  调试建议:

  先确认保护功能已启用(如SYSTem:PROTection:STATe ON)。

  逐步查询状态,结合输出电压/电流(MEASure:VOLTage?/MEASure:CURRent?)验证保护触发原因。

  记录查询时间戳和返回值,分析保护触发规律。

  示例Python脚本(PyVISA)

  python

  import pyvisa

  # 连接电源

  rm = pyvisa.ResourceManager()

  power_supply = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR") # 替换为实际地址

  # 查询保护触发状态

  try:

  is_protected = power_supply.query("SYSTem:PROTection:TRIGgered?").strip() == "1"

  print(f"保护是否触发: {is_protected}")

  if is_protected:

  output_state = power_supply.query("OUTPut:STATe?").strip()

  print(f"输出状态: {'开启' if output_state == '1' else '关闭'}")

  # 尝试查询具体保护类型(需根据手册调整)

  try:

  protection_type = power_supply.query("SYSTem:PROTection:TYPE?").strip()

  print(f"保护类型: {protection_type}")

  except pyvisa.Error:

  print("无法查询保护类型,请参考手册")

  except pyvisa.Error as e:

  print(f"查询失败: {e}")

  # 关闭连接

  power_supply.close()