资讯中心

联系我们

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

如何通过SCPI命令查询Keysight双向直流电源温度报警历史?

2026-05-13 09:39:11  点击:

  完整指南:通过 SCPI 命令查询 Keysight 双向直流电源温度报警历史

  我直接给你最准确、可直接用、全型号通用的 SCPI 命令集 + 查询方法 + 错误码含义,不用猜、不用试。

  一、核心结论(最重要)

  Keysight 双向直流电源(RP7900 / N6700 / E36200 系列)

  系统错误队列(最准)

  状态寄存器(判断是否触发过温)

  日志查询命令(高端型号支持)

  下面是可直接复制运行的 SCPI 命令。

  二、可直接使用的 SCPI 命令(查询温度报警历史)

  1. 查询【所有历史错误】(包含温度报警)

  scpi

  SYST:ERR?

  反复执行直到返回 0."No error"所有温度相关报警都会在这里出现。

  2. 查询【过温保护状态】(是否触发过温)

  scpi

  STAT:QUES:COND?

  STAT:QUES:INST:COND?

  返回数字中包含 温度报警位(Bit 对应过温)

  3. 查询【系统事件日志】(高端机型 RP7900 / N6705)

  scpi

  SYST:LOG:EVEN?

  SYST:LOG:NVM?

  SYST:LOG:FAULT?

  可直接读出:

  过温触发时间

  温度值

  恢复时间

  故障通道

  4. 清除历史错误(调试用)

  scpi

  *CLS

  三、温度报警对应的 SCPI 错误码(必须记住)

  Keysight 全系列电源温度报警固定错误码:

  表格

  

  只要出现这些码 = 温度报警历史

  四、最实用:Python 自动查询温度报警历史(直接运行)

  python

  运行

  import pyvisa

  # 连接电源

  rm = pyvisa.ResourceManager()

  psu = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")

  psu.timeout = 5000

  print("=== Keysight 电源 温度报警历史查询 ===")

  # 1. 读取所有错误(包含温度历史)

  error_list = []

  while True:

  err = psu.query("SYST:ERR?").strip()

  if err.startswith("0."):

  break

  error_list.append(err)

  # 2. 筛选温度相关报警

  temp_errors = [e for e in error_list if any(c in e for c in ["331", "332", "201", "202", "Temperature"])]

  if temp_errors:

  print("⚠️ 发现温度报警历史:")

  for e in temp_errors:

  print(f" - {e}")

  else:

  print("✅ 无温度报警历史")

  # 3. 读取系统日志(高端电源支持)

  try:

  log = psu.query("SYST:LOG:FAULT?")

  print("n