资讯中心

联系我们

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

如何通过SCPI命令查询Keysight双向直流电源输出限制历史记录的文件大小?

2026-06-09 09:47:32  点击:

  一、两类日志区分(输出限制历史分 ELOG 保护事件、DLOG 触发波形)

  1. ELOG(OVP/OCP/OTP 输出限制事件日志)

  ELOG 无独立单文件尺寸查询指令,有两种口径获取占用体量:

  方式 1:查询 ELOG 分区容量与已存条数(最常用)

  scpi

  ELOG:CAP?

  返回:最大可存储事件条数,当前已存储条数 例:1000.326 → 分区最多存 1000 条保护记录,现有 326 条限制历史

  方式 2:导出后用文件系统指令查物理字节大小

  ELOG 常驻INT:/logs/event.log,用系统文件尺寸命令读取真实文件字节:

  scpi

  SYST:FILE:SIZE? "INT:/logs/event.log"

  返回格式:文件总字节数,占用簇,剩余 单位:Byte

  2. DLOG(保护触发采样波形日志,限制前后电压电流波形)

  DLOG 有标准文件尺寸 SCPI,分已保存文件与当前缓存两种查询:

  (1)查询已存储 DLOG 日志文件物理大小

  scpi

  SYST:FILE:SIZE? "INT:/dlog/xxx.csv"

  先列出 DLOG 文件名再查尺寸:

  scpi

  DLOG:FILE:CAT?

  SYST:FILE:SIZE? "INT:/dlog/20260609_chan1_prot.csv"

  (2)查询当前 DLOG 缓存占用(未存盘内存数据)

  scpi

  DLOG:MEM:SIZE?

  返回当前采集缓存占用字节;配合总点数可估算存储体积

  二、通用文件系统尺寸指令(全系 N6705C/N7900/N6900 通用)

  1. 指令标准格式

  scpi

  SYST:FILE:SIZE? "<盘符:/路径/文件名>"

  盘符:INT:内置盘、USB:外接 U 盘、RAM:临时内存

  2. 批量查看 INT 盘总空间、剩余空间

  scpi

  SYST:FILE:SIZE? INT:

  返回:内置盘总字节,已使用字节,空闲字节

  3. 列出日志目录全部文件 + 尺寸循环查询示例

  scpi

  !1. 列出ELOG目录文件

  SYST:FILE:LIST? "INT:/logs/"

  !2. 对返回的event.log查大小

  SYST:FILE:SIZE? "INT:/logs/event.log"

  三、关键限制说明

  ELOG 是分区式存储 老旧机型 E36xx 双向电源 ELOG 固化在 EEPROM 小分区,无单独文件,只能用ELOG:CAP?看条数,无法读 Byte 尺寸;N6705C/N7900 闪存机型支持SYST:FILE:SIZE?读取 event.log 字节大小。

  ELOG 不可迁移存储介质,只能导出到 USB 后查 U 盘内备份文件尺寸:

  scpi

  ELOG:EXPORT "USB:/ovp_back.csv"

  SYST:FILE:SIZE? "USB:/ovp_back.csv"

  DLOG 二进制格式文件远小于 ASCII CSV;同采样点数下 bin 体积≈csv 1/10.

  四、Python 完整读取示例(ELOG 条数 + 文件字节大小)

  python

  运行

  import pyvisa

  rm = pyvisa.ResourceManager()

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

  # 1. 查询ELOG容量条数

  cap = inst.query("ELOG:CAP?").strip()

  max_rec, curr_rec = cap.split(",")

  print(f"ELOG最大记录数:{max_rec}, 当前输出限制历史:{curr_rec}条")

  # 2. 查询event.log物理字节大小

  file_size_raw = inst.query('SYST:FILE:SIZE? "INT:/logs/event.log"').strip()

  file_bytes = int(file_size_raw.split(",")[0])

  print(f"ELOG日志文件大小:{file_bytes} Byte ≈ {file_bytes/1024:.2f} KB")

  # 3. DLOG当前缓存大小

  dlog_cache = int(inst.query("DLOG:MEM:SIZE?"))

  print(f"DLOG波形缓存占用:{dlog_cache} Byte")

  inst.close()

  五、最简速查命令汇总

  表格