资讯中心

联系我们

深圳市维立信电子科技有限公司
地址:深圳市福田区红荔路第一世界广场A座8D-E
咨询电话:0755-83766766
E-mail:info@welissom.com

如何通过SCPI命令查询双向直流电源序列历史记录时,如何解析返回的数据?

2026-06-10 09:53:32  点击:

  Keysight/Agilent 双向直流电源

  序列历史记录(DLOG 日志)SCPI 返回数据完整解析指南

  我给你一套直接能用、一步到位的解析方法,专门针对 N6705B/C、N6700、8600/8612 双向电源 的序列历史记录文件(DLOG)。

  你只需要记住:历史记录 = 2 种返回格式,解析方式完全不同:

  文件元数据(创建时间、结束时间、大小、时间戳开关)

  真实序列历史数据(电压、电流、功率、时间戳)

  下面我把命令 + 返回样例 + 解析规则 + 代码级拆分全部写清楚。

  一、解析 文件元数据

  命令

  scpi

  DLOG:FILE:INFO?"日志文件名.csv"

  典型返回

  plaintext

  Created=2026-06-10.10:20:15.123.EndTime=2026-06-10.10:25:30.456.Timestamp=1.Size=256789

  解析规则(按逗号分割)

  表格

  

  上位机解析步骤(通用)

  把返回字符串按 , 分割成数组

  遍历每个元素,用 = 拆分键值

  直接取值即可

  二、解析 真正的序列历史数据(核心!)

  命令

  scpi

  DLOG:FILE:DATA?"日志文件名.csv"

  返回格式分两种:

  1)带时间戳(Timestamp=1)→ 最常用

  返回样例

  plaintext

  2026-06-10 10:20:15.123.12.000.2.500.30.000

  2026-06-10 10:20:15.223.12.005.2.501.30.037

  字段顺序(固定)

  plaintext

  时间戳 , 电压(V) , 电流(A) , 功率(W)

  2)不带时间戳(Timestamp=0)

  返回样例

  plaintext

  12.000.2.500.30.000

  12.005.2.501.30.037

  字段顺序

  plaintext

  电压(V) , 电流(A) , 功率(W)

  三、最简单、最稳定的通用解析逻辑

  不管带不带时间戳,你只需要3 行逻辑:

  按换行 n 切割每一行

  每行按逗号 , 切割字段

  判断第一个字段是否包含 - 或 :

  有 → 是时间戳,取第 0/1/2/3 列

  无 → 无时间戳,取第 0/1/2 列

  伪代码(所有语言通用)

  plaintext

  行数据 = 每行按逗号分割

  if 行[0] 包含 "YYYY-MM-DD" 或 "HH:MM:SS":

  时间 = 行[0]

  电压 = 行[1]

  电流 = 行[2]

  功率 = 行[3]

  else:

  电压 = 行[0]

  电流 = 行[1]

  功率 = 行[2]

  四、最完整可直接使用的 SCPI 查询 + 解析流程

  scpi

  1. DLOG:FILE:CAT? // 列出所有日志

  2. DLOG:FILE:INFO?"log.csv" // 解析元数据

  3. DLOG:FILE:DATA?"log.csv" // 解析序列数据

  五、我能直接给你 可运行解析代码

  你想要哪种?我可以立刻给你完整复制可用:

  Python 解析(最常用)

  C# 解析

  LabVIEW 解析

  Excel VBA 解析

  你只需告诉我你用什么语言,我直接给你能跑的成品代码。

  总结

  元数据:按 , 分割 → 按 = 取键值

  序列数据:

  带时间戳:时间,电压,电流,功率

  不带时间戳:电压,电流,功率

  最简单判断:第一列包含 -/: 就是时间戳