一、关键底层事实(N6705C / N7900 / N6900 全系双向电源)
没有全局 SCPI 指令 DLOG:PREF? / ELOG:PREF? 预设固定文件名前缀 仪器固件不存在可读写的 “默认前缀配置寄存器”,无法一键查询全局预设前缀;
分两种场景:手动自定义导出、保护触发自动存盘默认命名,二者查询方式完全不同。
场景 1:DLOG 保护触发自动保存(仪器自动生成文件名,有固定默认前缀模板)
保护触发自动录波时,仪器自动生成文件名格式: YYYYMMDD_chanX_prot.后缀
固定前缀片段:YYYYMMDD_chanX_prot
无用户可修改的全局前缀开关,模板固化;只能读取已生成文件反推当前自动前缀
查询自动生成的 DLOG 文件(拿到当前自动前缀)
列出 DLOG 目录全部自动存储文件
scpi
DLOG:FILE:CAT?
返回示例:20260609_chan1_prot.csv,20260609_chan2_prot.bin 2. 查看单文件完整路径(校验前缀)
scpi
SYST:FILE:LIST? "INT:/dlog/"
如需提取当前日期 + 通道构成的动态前缀,可先读系统时间与选中通道:
scpi
SYST:TIME? // 获取仪器系统时间,拼接日期前缀
INST:SEL? // 获取当前选中通道号
上位机脚本可拼接出本次触发会使用的自动前缀字符串。
场景 2:手动 DLOG:SAVE / ELOG:EXPORT(文件名、前缀完全由用户在指令内手写)
每次保存 / 导出时,前缀、主体、后缀全部手动填写,仪器无记忆式默认前缀:
scpi
! 手动自定义前缀:limit_test_
ELOG:EXPORT "INT:/logs/limit_test_chan1.csv"
! 手动自定义前缀:wave_prot_
DLOG:SAVE "INT:/dlog/wave_prot_chan1.bin"
这种模式下仪器没有存储 “上次使用的前缀” 参数,没有 SCPI 可以查询上一次手写的前缀;只能通过读取磁盘目录里已存在的文件,人工解析文件名里的前缀文本。
二、如何反向查询历史导出文件里使用过的前缀
1. ELOG 导出日志目录遍历
scpi
! 列出ELOG导出文件夹所有文件
SYST:FILE:LIST? "INT:/logs/"
返回例如:limit_2026.csv,ovp_back.bin,event.log limit_、ovp_ 就是过往使用的自定义前缀。
2. DLOG 波形目录遍历
scpi
SYST:FILE:LIST? "INT:/dlog/"
提取所有文件名开头字符串即为历史前缀。
3. Python 示例:自动提取目录内所有文件前缀
python
运行
import pyvisa
rm = pyvisa.ResourceManager()
inst = rm.open_resource("TCPIP::192.168.1.100::INSTR")
# 读取ELOG目录文件列表
file_list = inst.query('SYST:FILE:LIST? "INT:/logs/"').strip().split(",")
print("ELOG目录文件列表:", file_list)
# 简单拆分提取前缀(示例逻辑)
for fname in file_list:
if "event.log" not in fname:
prefix = fname.split("_")[0]
print(f"识别文件前缀:{prefix}")
inst.close()
三、ELOG 原生系统日志说明
内置常驻保护日志 INT:/logs/event.log 文件名永久固定、不可改前缀,不存在前缀配置参数,无需查询。
四、补充:有没有替代方案实现 “固定可查询自定义前缀”
虽然没有硬件寄存器存前缀,但可以用两种标准化方案实现可读写、可查询的自定义前缀:
方案 A:用仪器内部文本文件存储自定义前缀(读写查询)
写入自定义前缀文本文件(只写一次)
scpi
SYST:TRANSFER "INT:/prefix.txt",#0limit_prot_
随时查询读取预设前缀
python
运行
inst.write('SYST:TRANSFER? "INT:/prefix.txt"')
custom_prefix = inst.read_raw().decode().strip()
# 后续导出拼接使用
export_name = f"INT:/logs/{custom_prefix}chan1.csv"
inst.write(f'ELOG:EXPORT "{export_name}"')
方案 B:上位机变量托管前缀(最常用自动化架构)
Python/LabVIEW 脚本内部定义全局前缀变量,全程由 PC 程序保存、修改、读取,仪器仅负责存储文件,无需依赖仪器寄存器。
五、速查总结
无专用 XXX:PREF? SCPI 指令读取全局预设前缀(硬件无此参数)
DLOG 保护自动存盘:固定模板YYYYMMDD_chanX_prot,通过DLOG:FILE:CAT?看生成文件拿到前缀
手动 ELOG:EXPORT / DLOG:SAVE:前缀手写在路径内,只能遍历目录文件反向提取历史前缀
如需持久可查询自定义前缀,用SYST:TRANSFER读写一个 txt 配置文件托管前缀字符串