适用机型:Keysight N79xxA / N89xxA 大功率双向直流电源
DLOG(序列采样记录)、ELOG(序列事件历史)拥有独立路径配置指令,自动保存位置由存储介质 MEDium + 自定义子目录 DIRectory两层组合决定,仪器自动以 介质:LOG子目录 作为序列运行后日志的默认落盘路径。
一、核心设置指令(写入 = 配置自动保存路径;?= 查询当前配置)
1. ELOG 序列事件历史(启停、保护、触发记录)自动路径设置
scpi
! 1. 设置存储介质:INT内部闪存 / USB外接U盘
MEMory:ELOG:MEDium INT
MEMory:ELOG:MEDium USB
! 2. 设置LOG下自定义子文件夹(自动保存到此文件夹)
! 留空=直接保存在 LOG根目录
MEMory:ELOG:DIRectory "SEQ_EVENT"
! 查询当前配置
MEMory:ELOG:MEDium?
MEMory:ELOG:DIRectory?
拼接完整自动路径示例:
MED=INT、DIR=SEQ_EVENT → INT:LOGSEQ_EVENT
MED=USB、DIR="" → USB:LOG
2. DLOG 序列波形采样记录自动路径设置
scpi
! 切换存储盘
MEMory:DLOG:MEDium INT
MEMory:DLOG:MEDium USB
! 自定义采样日志子目录
MEMory:DLOG:DIRectory "SEQ_SAMPLE"
! 读取当前参数
MEMory:DLOG:MEDium?
MEMory:DLOG:DIRectory?
3. 全局通用日志兜底路径(未单独配置 DLOG/ELOG 时生效)
scpi
MEMory:LOG:MEDium INT
MEMory:LOG:DIRectory "GLOBAL_LOG"
MEMory:LOG:MEDium?
MEMory:LOG:DIRectory?
二、完整配置流程(一步到位设置自动保存)
场景 1:全部序列日志统一存内部闪存,子目录 RUN_LOG
scpi
*CLS
MEM:LOG:MED INT
MEM:LOG:DIR "RUN_LOG"
! 同步同步给DLOG/ELOG
MEM:DLOG:MED INT
MEM:DLOG:DIR "RUN_LOG"
MEM:ELOG:MED INT
MEM:ELOG:DIR "RUN_LOG"
序列跑完后,.dlog/.elog 文件自动写入:INT:LOGRUN_LOG
场景 2:全部日志自动保存到 U 盘独立文件夹 USB_SEQ
scpi
*CLS
MEM:DLOG:MED USB
MEM:DLOG:DIR "USB_SEQ"
MEM:ELOG:MED USB
MEM:ELOG:DIR "USB_SEQ"
三、配套前置校验指令(防止路径非法、保存失败)
目录名称字符合法性、长度预检(发送后看系统错误)
scpi
*CLS
MEM:ELOG:DIR "TEST_123"
SYST:ERR?
+0:目录合法;-257:含特殊字符 / 名称超长
验证介质是否就绪(U 盘未插会报错)
scpi
*CLS
MEM:DLOG:MED USB
SYST:ERR?
-259 Media error:未识别 USB 存储
四、自动保存开启开关(必须打开才会运行序列自动落盘)
仅配置路径不会自动存,需要开启自动记录使能:
scpi
! ELOG事件自动保存开启/关闭 1=开启 0=关闭
MEM:ELOG:AUTO 1
! DLOG采样波形自动保存开启
MEM:DLOG:AUTO 1
! 查询自动保存开关状态
MEM:ELOG:AUTO?
MEM:DLOG:AUTO?
五、手动保存单条日志(对比自动路径)
scpi
! 强制把当前ELOG存到已配置的自动路径下,自定义文件名
MEM:ELOG:SAVE "run_001.elog"
! DLOG同理
MEM:DLOG:SAVE "wave_001.dlog"
文件会直接生成在 MED:LOGDIRrun_001.elog
六、型号差异说明
N79xxA / N89xxA:完整支持 MEDium/DIRectory/AUTO 全套 DLOG/ELOG 独立配置
E36100 BT 小型双向源:无独立 DLOG/ELOG 分支,只用全局MEM:LOG:MED / DIR / AUTO
老款 N6705B:无自定义DIRectory子目录,仅能切换 INT/USB 根目录INT:LOG
七、Python 一键配置示例
python
运行
import pyvisa
rm = pyvisa.ResourceManager()
inst = rm.open_resource("TCPIP::192.168.1.100::INSTR")
# 配置全部序列日志自动存INT:LOGSEQ_AUTO
inst.write("*CLS")
inst.write("MEM:LOG:MED INT")
inst.write('MEM:LOG:DIR "SEQ_AUTO"')
inst.write('MEM:DLOG:MED INT')
inst.write('MEM:DLOG:DIR "SEQ_AUTO"')
inst.write('MEM:ELOG:MED INT')
inst.write('MEM:ELOG:DIR "SEQ_AUTO"')
# 开启自动保存
inst.write("MEM:DLOG:AUTO 1")
inst.write("MEM:ELOG:AUTO 1")
# 回读校验
print("DLOG介质:", inst.query("MEM:DLOG:MED?").strip())
print("DLOG子目录:", inst.query("MEM:DLOG:DIR?").strip())
print("ELOG自动开启:", inst.query("MEM:ELOG:AUTO?").strip())
inst.close()
八、关键错误码
表格