Keysight N79xxA / N89xxA 双向直流电源 SCPI 完整自动保存配置(DLOG 采样日志 + ELOG 事件历史)
自动保存由存储介质、存储目录、文件格式、自动使能开关四部分组成,缺一不可,下面是成套可直接下发的指令。
一、核心分开控制:DLOG(波形采样记录)、ELOG(序列运行事件记录)
1. DLOG 序列采样自动保存全套配置
scpi
*CLS
! 1. 设置存储介质 INT内部 / USB外接
MEM:DLOG:MED INT
! MEM:DLOG:MED USB
! 2. 设置自定义保存子目录,空值则直接存LOG根目录
MEM:DLOG:DIR "SEQ_DLOG"
! 3. 设置保存格式 BIN / CSV / ASC
MEM:DLOG:FORM CSV
! 4. 开启自动保存使能 1=开 0=关
MEM:DLOG:AUTO 1
! 回读校验配置
MEM:DLOG:MED?
MEM:DLOG:DIR?
MEM:DLOG:FORM?
MEM:DLOG:AUTO?
2. ELOG 序列事件历史自动保存全套配置
scpi
*CLS
MEM:ELOG:MED INT
! MEM:ELOG:MED USB
MEM:ELOG:DIR "SEQ_ELOG"
MEM:ELOG:FORM CSV
MEM:ELOG:AUTO 1
! 校验
MEM:ELOG:MED?
MEM:ELOG:DIR?
MEM:ELOG:FORM?
MEM:ELOG:AUTO?
3. 全局日志兜底参数(未单独配置 DLOG/ELOG 时继承)
scpi
MEM:LOG:MED INT
MEM:LOG:DIR "GLOBAL_LOG"
MEM:LOG:FORM BIN
MEM:LOG:AUTO?
二、一键批量完整配置示例(全部日志统一存内部、CSV 格式、开启自动)
scpi
*RST
*CLS
! DLOG配置
MEM:DLOG:MED INT
MEM:DLOG:DIR "SEQ_AUTO"
MEM:DLOG:FORM CSV
MEM:DLOG:AUTO 1
! ELOG配置
MEM:ELOG:MED INT
MEM:ELOG:DIR "SEQ_AUTO"
MEM:ELOG:FORM CSV
MEM:ELOG:AUTO 1
! 统一校验
MEM:DLOG:MED?;DLOG:DIR?;DLOG:FORM?;DLOG:AUTO?
MEM:ELOG:MED?;ELOG:DIR?;ELOG:FORM?;ELOG:AUTO?
运行 ARB 输出序列结束后,仪器自动生成文件路径:INT:LOGSEQ_AUTOxxx.dlog、INT:LOGSEQ_AUTOxxx.elog
三、切换保存到 USB 全套指令(U 盘必须 FAT32 格式)
scpi
*CLS
MEM:DLOG:MED USB
MEM:DLOG:DIR "USB_SEQ"
MEM:DLOG:FORM BIN
MEM:DLOG:AUTO 1
MEM:ELOG:MED USB
MEM:ELOG:DIR "USB_SEQ"
MEM:ELOG:FORM BIN
MEM:ELOG:AUTO 1
文件落盘路径:USB:LOGUSB_SEQ
四、手动保存对比(复用已配置好的格式与路径)
自动是跑完序列自动存;手动可随时保存当前缓冲区记录:
scpi
MEM:DLOG:SAVE "wave_001"
MEM:ELOG:SAVE "event_001"
五、小型机型 E36100 BT 简化指令(无独立 DLOG/ELOG)
scpi
MEM:LOG:MED INT
MEM:LOG:DIR "LOG_FILE"
MEM:LOG:FORM CSV
MEM:LOG:AUTO 1
MEM:LOG:AUTO?
六、关键开关与关闭自动保存
scpi
! 关闭自动保存
MEM:DLOG:AUTO 0
MEM:ELOG:AUTO 0
七、常见报错判断
-113:机型不支持 DLOG/ELOG 独立指令(改用全局 MEM:LOG)
-259:切 USB 时报错,U 盘未插 / 格式非 FAT32
-257:目录名含特殊字符、名称超长、格式参数写错
+0:配置正常无错误
八、Python 简易下发示例
python
运行
import pyvisa
rm = pyvisa.ResourceManager()
inst = rm.open_resource("TCPIP::仪器IP::INSTR")
# 批量配置自动保存
cmds = [
"*CLS",
'MEM:DLOG:MED INT',
'MEM:DLOG:DIR "SEQ_AUTO"',
'MEM:DLOG:FORM CSV',
'MEM:DLOG:AUTO 1',
'MEM:ELOG:MED INT',
'MEM:ELOG:DIR "SEQ_AUTO"',
'MEM:ELOG:FORM CSV',
'MEM:ELOG:AUTO 1'
]
for cmd in cmds:
inst.write(cmd)
# 读取状态
print("DLOG自动开关:", inst.query("MEM:DLOG:AUTO?").strip())
print("ELOG自动开关:", inst.query("MEM:ELOG:AUTO?").strip())
inst.close()