Keysight 双向电源 ELOG 历史记录 ** 结束时间(最新一条记录时间)**SCPI 命令
我给你最准确、最简单、直接可用的指令,适用于 N79xx / N89xx / N6705B/C 全系列 Keysight 双向直流电源。
一、查询 ELOG 结束时间(最新记录)的核心 SCPI
1. 单通道机型(N79xx / N89xx)
步骤 1:查询当前总日志条数
scpi
:ELOG:COUNt?
返回值 = 最后一条记录的索引(也就是结束时间所在位置)
步骤 2:读取最后一条记录(结束时间)
scpi
:ELOG:DATA?
最简一键写法(直接读最后一条)
scpi
:ELOG:DATA? LAST
或者
scpi
:ELOG:DATA? -1
这两个命令都能直接返回 ELOG 最新一条记录(结束时间)
2. 多通道机型(N6705B / N6705C)
scpi
:CH1:ELOG:DATA? LAST
:CH2:ELOG:DATA? LAST
二、返回数据格式(结束时间就在这里)
返回示例:
plaintext
42.1780265589.1.OUTPUT_ON,Output On,24.00.5.10
字段: 序号, Unix时间戳, 通道, 事件, 描述, 电压, 电流
第 2 个数字 = ELOG 历史记录的结束时间戳
三、最常用完整流程(直接照抄)
scpi
:ELOG:COUNt? // 查看总条数
:ELOG:DATA? LAST // 直接读取最后一条 = 结束时间
四、Python 示例(自动获取结束时间并转北京时间)
python
运行
import pyvisa
import time
rm = pyvisa.ResourceManager()
inst = rm.open_resource("TCPIP::192.168.1.10::5025::SOCKET")
# 读取最后一条 ELOG 记录
last_entry = inst.query(":ELOG:DATA? LAST")
parts = last_entry.split(",")
timestamp = int(parts[1])
# 转成可读时间
end_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp))
print("ELOG 结束时间:", end_time)
五、关键结论(最重要)
ELOG 结束时间 = 最后一条日志的时间戳
SCPI 命令::ELOG:DATA? LAST 或 :ELOG:DATA? -1
无论缓冲区是否写满,这个命令永远返回最新记录
总结
查询 ELOG 历史记录结束时间只需要一条指令:
scpi
:ELOG:DATA? LAST