一、日志存储介质底层说明(双向直流电源主流机型:N6705C/N6900A/N7900 系列)
Keysight 双向电源分两类输出限制历史日志:
ELOG(Event Log):OVP/OCP/OTP/ 风扇 / 输出保护触发事件(输出限制历史),掉电不丢失
DLOG(Data Log):电压电流时序采样记录(可手动启停) 存储硬件分层:
小型保护事件(ELOG):内置非易失 Flash/EEPROM 分区(固化系统分区,无用户可修改盘符)
大容量 DLOG 波形 / 长时采样:主机4GB 内置 SSD/Flash 盘(盘符INT:);可外接 U 盘USB: 输出限制(OVP/OCP)历史全部归属ELOG 事件日志区,优先存在板载非易失存储。
二、SCPI 查询存储位置 / 路径完整命令集
1. 查询系统可用存储盘符(确认日志根介质)
scpi
SYST:FILE:CAT?
返回示例:INT:,USB:,RAM:
INT: = 内置固态盘(ELOG 常驻、DLOG 默认存储)
USB: = 外接 U 盘(仅手动导出备份用)
RAM: = 临时内存(断电清空,无持久日志)
2. 查询 ELOG(输出限制历史)的系统存储路径
(1)读取 ELOG 配置绑定的存储位置
scpi
ELOG:DEST?
固定返回:INT:
ELOG无法改存储介质,强制写入内置非易失分区;DLOG 才可切换 INT/USB。
(2)查看 ELOG 内部文件目录(日志文件路径)
scpi
ELOG:FILE:LIST?
返回内置 ELOG 日志文件名,典型:event.log,ovp_hist.csv,ocp_trigger_rec.bin 完整绝对路径格式:INT:/logs/event.log
(3)查询 ELOG 分区容量 / 占用(验证存储状态)
scpi
SYST:FILE:SIZE? INT:
ELOG:CAP?
SYST:FILE:SIZE? INT: 返回内置盘总空间、剩余空间
ELOG:CAP? 返回 ELOG 专属分区最大可存事件条数(常见 500–2000 条保护记录)
3. DLOG 时序记录存储位置查询(联动输出限制波形快照)
若开启保护触发自动 DLOG(OVP/OCP 触发录波形),查询 DLOG 存储位置:
scpi
DLOG:DEST?
返回INT:(默认)或USB:(手动切换) 查看 DLOG 日志文件:
scpi
DLOG:FILE:CAT?
4. 底层硬件存储类型查询(Flash/EEPROM/SSD 区分)
scpi
SYST:MEM:TYPE? INT:
N6705C/N7900:返回SSD(4GB 内置固态)
紧凑型 N6900 小功率模块:返回FLASH(板载大容量 Flash) 老旧基础机型 E36xx 双向款:返回EEPROM(小容量保护事件区)
三、读取输出限制历史记录(验证存储可访问)
1. 批量读取全部 OVP/OCP 限制历史
scpi
ELOG:DATA?
返回结构化文本:时间戳、通道、保护类型 (OVP/OCP)、触发阈值、实际值、恢复状态、温度
2. 单通道过滤读取(通道 1 为例)
scpi
ELOG:CHAN 1
ELOG:DATA?
3. 导出日志到 U 盘(备份存储介质切换)
scpi
ELOG:EXPORT "USB:/ovp_ocp_backup.csv"
四、关键注意点
ELOG 无用户可改写分区:输出限制历史固定在INT:/logs/,不能迁移到 RAM;仅能导出到 USB
EEPROM 机型(老 E36xx):ELOG 容量小,仅存最近几十条保护记录,满了自动循环覆盖
若查询ELOG:DEST?报错,说明机型仅简易故障码、无完整 ELOG 历史,改用STAT:QUES?读当前保护状态
清除历史日志(谨慎操作):
scpi
ELOG:CLE
五、Python 简易读取存储位置示例
python
运行
import pyvisa
rm = pyvisa.ResourceManager()
inst = rm.open_resource('TCPIP::192.168.1.100::INSTR')
# 1. 查询存储盘符
print(inst.query("SYST:FILE:CAT?"))
# 2. 查询ELOG存储目标
print("ELOG存储介质:", inst.query("ELOG:DEST?"))
# 3. 查看ELOG日志文件
print("ELOG文件列表:", inst.query("ELOG:FILE:LIST?"))
# 4. 读取第一条OVP/OCP历史
print("保护历史记录:", inst.query("ELOG:DATA?"))
inst.close()