资讯中心

联系我们

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

如何通过SCPI查询双向直流电源是否支持文件系统锁定?

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

  一、核心判定指令(N6705C / N7900 / N6900 平台通用)

  文件系统锁定用于防止日志写入、文件删除 / 覆盖,SCPI 以文件锁状态查询判断硬件固件是否支持该功能。

  1. 查询全局文件系统锁定状态

  scpi

  SYST:FILE:LOCK?

  返回值定义:

  0:无锁定、解锁状态;指令可正常读写文件

  1:全局文件系统已锁定

  若仪器返回 Command error / -113 Undefined header:代表本机固件不支持文件锁定功能

  2. 锁定 / 解锁文件系统(功能存在时才可执行)

  scpi

  SYST:FILE:LOCK 1 // 开启全局锁定

  SYST:FILE:LOCK 0 // 解除全局锁定

  锁定后限制操作:

  禁止 ELOG:EXPORT、DLOG:SAVE 写入新文件

  禁止 SYST:FILE:DEL、SYST:FILE:RENAME、SYST:FILE:COPY 修改文件

  仅允许 SYST:TRANSFER? 读取、SYST:FILE:ATTR?/SIZE?/LIST? 查询

  二、分步校验是否支持锁定功能

  先发送状态查询指令

  scpi

  *CLS

  SYST:FILE:LOCK?

  读取仪器状态寄存器判断报错

  scpi

  SYST:ERR?

  返回 0."No error":指令识别正常 → 本机支持文件系统锁定

  返回 -113."Undefined header":无此指令 → 不支持锁定

  三、分区单独锁定补充(部分高版本固件)

  少数新版 N7900 高级固件支持单盘符独立锁,查询指令:

  scpi

  SYST:FILE:LOCK? INT:

  SYST:FILE:LOCK? USB:

  同样用SYST:ERR?校验指令有效性;老固件仅支持全局锁SYST:FILE:LOCK?无盘符参数。

  四、ELOG 专属写保护(区分文件系统锁)

  之前提到的 EEPROM / 事件日志写保护是独立机制,不属于SYST:FILE:LOCK文件系统锁:

  ELOG 分区写保护查询

  scpi

  ELOG:PROT?

  1=ELOG 事件日志禁止覆盖清除;0= 可清除覆盖;这条和磁盘文件锁是两套隔离保护逻辑。

  五、完整校验自动化流程(Python 示例)

  python

  运行

  import pyvisa

  rm = pyvisa.ResourceManager()

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

  inst.timeout = 5000

  inst.write("*CLS")

  # 尝试查询文件系统锁

  resp = inst.query("SYST:FILE:LOCK?")

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

  if "-113" in err:

  print("本机固件【不支持】文件系统锁定功能")

  else:

  lock_state = int(resp)

  print(f"文件系统锁定状态:{'已锁定' if lock_state==1 else '未锁定'}")

  print("本机支持SYST:FILE:LOCK锁定功能")

  # 额外查询ELOG事件写保护状态

  elog_prot = int(inst.query("ELOG:PROT?"))

  print(f"ELOG事件日志写保护:{'开启' if elog_prot==1 else '关闭'}")

  inst.close()

  六、机型兼容说明

  支持文件锁 N6705C(固件≥1.40)、N7970A/N7971A/N7972A、N6950A/N6952A 高功率双向模块

  不支持文件锁 老旧 E3631A/E3646A 等基础双向电源、早期低固件 N6705B、紧凑型 N6900 入门版;无SYST:FILE:LOCK指令,仅 ELOG 基础写保护。

  速查对照

  表格