一、核心前置结论(N6705C / N7900 / N6900 双向电源)
无专用 SCPI 指令直接设置单文件最大字节上限(FILE:SIZE:LIMIT这类指令不存在)
有两套可控容量约束:
ELOG 保护事件日志:按记录条数硬性容量上限(可读写配置)
DLOG 波形日志:靠采样点数 DLOG:POIN间接锁定单文件体积;整机 INT 盘有物理总存储上限
磁盘全局无配额分区限制,只能上位机逻辑判断文件大小、做切分 / 删除保护
二、ELOG(输出限制 OVP/OCP 历史)容量限制配置
1. 查询 ELOG 分区最大存储条数(硬件固定分区上限)
scpi
ELOG:CAP?
返回格式:最大总条数, 当前已存条数 例:1000.216 → 分区最多存 1000 条故障记录,满了循环覆盖最早记录
2. 无法修改 ELOG 分区硬件总容量,但可手动控制有效存储量
没有ELOG:CAP
定时导出 + 清空日志,人为限制实际存量
scpi
ELOG:EXPORT "INT:/logs/elog_back.csv"
ELOG:CLE
上位机轮询ELOG:CAP?,当前条数达到阈值就自动备份清理
python
运行
cap_ret = inst.query("ELOG:CAP?")
max_cap, curr = map(int, cap_ret.split(","))
if curr >= max_cap * 0.9: # 90%阈值触发备份
inst.write('ELOG:EXPORT "INT:/logs/auto_back.csv"')
inst.write("ELOG:CLE")
3. 原生 event.log 文件行为
文件持续追加,分区塞满自动轮转覆盖旧事件;不能设置单文件 KB/MB 尺寸阈值。
三、DLOG 波形日志:间接控制单文件大小(唯一可靠硬件约束)
DLOG 单文件体积完全由总采样点数 + 存储格式(ASC/BIN) 决定,通过DLOG:POIN精准锁定文件大小。
1. 配置采样点数(核心大小约束)
scpi
DLOG:POIN
DLOG:POIN?
N6705C 单通道最大:500.000.000 点
N7900/N6900 模块型:单通道上限百万~千万级(看机型内存)
2. 点数 → 文件大小快速估算
BIN 二进制:每个点 (电压 + 电流)≈8 Byte 文件字节 ≈ POIN × 8
ASCII CSV:每个点文本约 60~90 Byte,体积大很多 文件字节 ≈ POIN × 70(均值估算)
示例:限制单 BIN 文件最大 1MB 1MB = 1048576 Byte 最大点数 = 1048576 ÷ 8 = 131072 点
scpi
DLOG:FORM BIN
DLOG:POIN 131072
采集保存后文件体积严格约束在 1MB 以内。
3. 采集缓存与存盘逻辑
DLOG:STAT ON开始采集,填满 POIN 点数自动停止;再执行DLOG:SAVE生成固定大小文件
若用DLOG:TRIG:MODE PROT保护触发:预点数 + 后点数之和 = 总点数,同样锁定触发后波形文件大小
scpi
DLOG:TRIG:PRE 2000
DLOG:TRIG:POST 8000
! 总点数10000.文件体积固定
四、整机内置盘 INT: 全局空间监控(防止磁盘爆满)
1. 查询 INT 总空间、已用、空闲字节
scpi
SYST:FILE:SIZE? INT:
返回:总字节,已用字节,空闲字节
2. 上位机磁盘满保护逻辑(无 SCPI 配额开关,软件实现)
python
运行
disk_info = inst.query("SYST:FILE:SIZE? INT:")
total, used, free = map(int, disk_info.split(","))
free_ratio = free / total
# 空闲低于10%自动删除最旧DLOG文件
if free_ratio < 0.10:
file_list = inst.query('SYST:FILE:LIST? "INT:/dlog/"').split(",")
# 删除最早一批日志文件
for old_file in file_list[:3]:
inst.write(f'SYST:FILE:DEL "INT:/dlog/{old_file}"')
五、单文件尺寸校验(保存后读取真实大小做校验)
任意仪器内文件(ELOG 导出、DLOG 波形)读取实际字节:
scpi
SYST:FILE:SIZE? "INT:/dlog/chan1_wave.bin"
返回首数值 = 文件 Byte 大小,上位机可判断是否超限、是否重新采集 / 分割。
六、USB 外接盘同样适用逻辑
导出到 USB 存储时,大小约束规则完全一致:
ELOG 导出文件大小由当前事件条数决定
DLOG 文件大小由 DLOG:POIN 决定
SYST:FILE:SIZE? USB:可查 U 盘总容量
七、完整约束配置示例(限制 DLOG 单文件≤2MB,ELOG 存量预警)
scpi
*CLS
INST:SEL 1
! DLOG限制单BIN文件最大2MB
DLOG:FORM BIN
DLOG:POIN 262144 ! 262144 ×8 = 2.097.152 Byte ≈2MB
DLOG:SAMP:PER 0.001
DLOG:TRIG:MODE PROT
DLOG:TRIG:PRE 5000
DLOG:TRIG:POST 257144
DLOG:TRIG:PROT:ENAB ON
DLOG:STAT ON
! 定时查询ELOG占用
ELOG:CAP?
! 保存波形后校验文件大小
DLOG:SAVE "INT:/dlog/limit_wave.bin"
SYST:FILE:SIZE? "INT:/dlog/limit_wave.bin"
速查指令汇总
表格
关键局限重申
仪器固件没有 SCPI 参数可以直接写 “单文件最大 5MB” 这种字节阈值;只能通过点数、条数间接管控。
ELOG 无法扩容分区,只能靠定期备份清理;DLOG 靠点数精准控单文件尺寸是工业标准方案。
老款 E36xx 无 DLOG 大容量存储,仅 ELOG 少量事件,无尺寸管控能力。