资讯中心

联系我们

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

如何通过SCPI命令查询双向直流电源序列历史记录的文件保护设置是否可编程?

2026-06-09 10:34:06  点击:

  如何通过 SCPI 查询:双向直流电源序列历史记录文件保护是否可编程

  我给你最精准、最通用、可直接用的判断方法,完全适配 Agilent/Keysight N6705 / N7900 / N6900 双向直流电源。

  一、核心结论(一句话)

  要判断文件保护设置是否可编程,只需要验证一件事: 能否通过 SCPI 命令写入保护状态(不仅仅是查询)

  如果仪器支持:

  scpi

  ELOG:PROT 1

  ELOG:PROT 0

  SYST:FILE:LOCK 1

  SYST:FILE:LOCK 0

  → 文件保护就是可编程的。

  如果不支持这些写入命令 → 不可编程(只能硬件 / 面板设置)。

  二、最标准 SCPI 判断方法(官方机制)

  步骤 1:清除错误

  scpi

  *CLS

  步骤 2:尝试写入保护命令(关键!)

  测试 1:ELOG 历史记录写保护是否可编程

  scpi

  ELOG:PROT? // 先查询(不会报错)

  ELOG:PROT 0 // 尝试写入(能写=可编程)

  测试 2:文件系统锁是否可编程

  scpi

  SYST:FILE:LOCK? // 查询

  SYST:FILE:LOCK 0 // 尝试写入

  步骤 3:读取错误寄存器判断

  scpi

  SYST:ERR?

  三、结果判定规则(最重要)

  ✅ 如果返回:

  plaintext

  0."No error"

  → 文件保护设置 100% 可编程

  ❌ 如果返回:

  plaintext

  -113."Undefined header"

  -100."Command error"

  → 文件保护 不可编程(仅面板可操作,SCPI 无法修改)

  四、精简版 SCPI 一键查询指令(直接复制)

  scpi

  *CLS

  ELOG:PROT 0

  SYST:FILE:LOCK 0

  SYST:ERR?

  无错 = 可编程

  报错 = 不可编程

  五、Python 自动判断代码(最实用)

  python

  运行

  import pyvisa

  rm = pyvisa.ResourceManager()

  inst = rm.open_resource("TCPIP::192.168.1.100::INSTR")

  inst.write("*CLS")

  # 测试 ELOG 写保护是否可编程

  inst.write("ELOG:PROT 0")

  err1 = inst.query("SYST:ERR?")

  # 测试文件系统锁是否可编程

  inst.write("SYST:FILE:LOCK 0")

  err2 = inst.query("SYST:ERR?")

  # 判断结果

  elog_prog = "0." in err1

  file_prog = "0." in err2

  print(f"ELOG历史文件保护是否可编程:{elog_prog}")

  print(f"全局文件锁保护是否可编程:{file_prog}")

  inst.close()

  六、为什么要这样判断?(原理)

  很多仪器支持 查询保护状态,但不支持 SCPI 修改。 所以:

  能查询 ≠ 可编程

  能写入设置 = 可编程

  这是 SCPI 仪器的标准判断规则。

  七、速查总结

  你只需要记住:

  查询文件保护是否可编程 =

  尝试下发写入命令 → 看是否报错

  命令:ELOG:PROT 0 / SYST:FILE:LOCK 0

  无错 → 可编程

  报错 → 不可编程