一、两类日志区分(输出限制历史分 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()
五、最简速查命令汇总
表格