Keysight 双向直流电源(N6705C/N6790A/N8900 等)没有 SCPI 命令可以直接读出 “ELOG 数据保留时间(小时 / 天数)”;并且官方也不给出一个固定的 “到期时间” 参数。下面从原理、SCPI 能查什么、以及实际怎么理解 “保留时间” 三方面说清楚。
一、ELOG 的本质:非易失存储 → 永久保存,没有 “过期时间”
ELOG(Error Log)是存放在 EEPROM/Flash 非易失区的错误日志:
断电不丢失
没有内置 “自动删除 / 过期” 机制
只要 EEPROM 不坏,理论上一直保留(数年~十年级,取决于芯片寿命)
所以:
❌ 不存在 “保留 30 天 / 90 天” 这种可配置或可查询的时间
❌ 没有 SCPI: :SYST:ELOG:RETENTION? 这类命令
二、SCPI 能查到的与 ELOG 相关的 “时间信息”
你能查的是每条日志的时间戳,以及缓冲区容量 / 已满状态,但查不到 “还能保留多久”。
1. 读取 ELOG 条目(带时间戳)
scpi
:SYSTem:SECurity:LOG?
; 每条记录类似:
; 2025.11.20.14.35.22;CALIBRATION UNLOCKED
; 2025.11.20.14.36.05;OVP TRIGGERED
时间戳:年,月,日,时,分,秒
说明:日志是按写入顺序永久保存,不会自动老化删除。
2. 查询 ELOG 缓冲区容量与已满状态
scpi
:SYSTem:SECurity:LOG:FULL? ; 1=满,0=未满(新固件)
:SYSTem:ERRor:COUNt? ; 当前日志条数
*ESR? ; bit2=1 表示溢出(满)
典型容量:200 条(不同型号略有差异)
满了之后:停止写入新日志,旧日志仍永久保留。
3. 查询 EEPROM 写入寿命(间接关联 “能存多久”)
scpi
:SYSTem:EEPROM:WRITe:COUNt? ; 已写入次数
:SYSTem:EEPROM:WRITe:LIMit? ; 最大允许次数(如 100.000)
ELOG 每写一条 → 消耗一次 EEPROM 写入
达到上限后:不再写入 ELOG,但已有数据仍保留。
三、“数据保留时间” 的正确理解(官方口径)
Keysight 官方手册明确:
ELOG 属于 non-volatile, persistent log
No automatic deletion / time-based expiration
数据保留时间 = 直到手动清除或 EEPROM 损坏
手动清除命令:
scpi
:SYSTem:SECurity:LOG:CLEar ; 清空 ELOG(保留校准/用户设置)
四、总结(直接回答你的问题)
没有 SCPI 命令可查询 ELOG 数据保留时间。
ELOG 数据永久保存,无固定过期时间,断电不丢、不会自动删除。
可查:每条日志时间戳、日志条数、是否已满、EEPROM 写入次数 / 上限。
仅在手动清除或EEPROM 硬件损坏时才会丢失。