资讯中心

联系我们

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

如何通过SCPI指令查询双向直流电源序列历史记录的文件修改时间?

2026-06-11 10:13:15  点击:

  一、标准 SCPI 文件修改时间指令(Keysight N6705B/C、RP7900、N678x)

  1、查询单个日志文件的最后修改时间

  scpi

  MMEMory:FILE:MODified:TIME? "<完整文件路径>"

  返回格式:YYYY,MM,DD,HH,MM,SS 示例读取 DLOG 序列记录文件:

  scpi

  MMEM:FILE:MOD:TIME? "/LOG/SEQ001.CSV"

  示例读取 U 盘日志:

  scpi

  MMEM:FILE:MOD:TIME? "/USB0/LOG/RUN005.ZIP"

  网络共享文件同理:/NET0/LOG/xxx.CSV

  2、配套前置:列出目录全部日志文件

  scpi

  // 列出DLOG路径下所有文件

  MMEM:CAT? "/LOG/"

  返回结构:文件总数,字节1."文件名1",字节2."文件名2"... 提取文件名后拼接完整路径,代入上面时间查询指令。

  二、DLOG/ELOG 专属采集起止时间(记录本身的生成时间,等同首次写入时间)

  文件首次创建写入时间等价于本次 DLOG 采集启动时刻;文件修改时间一般等于停止采集时刻:

  scpi

  // 当前/最后一次DLOG会话启停时间戳

  DLOG:TIME:STARt?

  DLOG:TIME:STOP?

  仅对最近一次未清除缓存的 DLOG 有效;久远存档文件必须用MMEM:FILE:MOD:TIME?读取磁盘真实修改时间。

  三、批量遍历所有历史文件时间示例流程

  scpi

  //1 获取DLOG存储根目录

  >> DLOG:PATH?

  << "/LOG/"

  //2 列出目录内全部文件

  >> MMEM:CAT? "/LOG/"

  << 3.1024."TEST01.CSV",2048."TEST02.CSV",512."TEST03.ZIP"

  //3 逐个查修改时间

  >> MMEM:FILE:MOD:TIME? "/LOG/TEST01.CSV"

  << 2026.06.10.15.30.22

  >> MMEM:FILE:MOD:TIME? "/LOG/TEST02.CSV"

  << 2026.06.11.09.12.45

  四、B2900 四象限 SMU 适配

  指令完全一致,仅日志目录不同:

  scpi

  MMEM:FILE:MOD:TIME? "/LOGS/REC001.CSV"

  LOG:TIME:STARt?

  LOG:TIME:STOP?

  五、辅助相关文件时间指令

  查询文件创建时间(部分新版固件支持)

  scpi

  MMEM:FILE:CREATe:TIME? "/LOG/SEQ001.CSV"

  查询目录本身修改时间

  scpi

  MMEM:DIR:MOD:TIME? "/LOG/"

  六、关键特性与兼容限制

  N6705A 老固件限制 初代 N6705A 无MMEM:FILE:MODified:TIME?指令,下发返回-113 Undefined header;替代方案:

  读取 CSV 文件首行自带采集时间戳(文件内部第一行表头携带 Start Time)

  下载文件后上位机解析文本内时间作为创建时间

  活跃写入文件行为 正在 DLOG 采集写入的文件,MOD:TIME会每秒持续刷新;DLOG:STOP停止后时间戳固定不再变动。

  压缩 ZIP 文件时间 压缩后的.zip文件修改时间 = 压缩打包完成的时刻,不等于原始采集结束时间;如需原始采集时间,优先读取内部 CSV 里的时间戳。

  网络共享 (NET0) 时间同步 仪器系统时间必须和 PC 时间同步,否则MOD:TIME和 Windows 文件属性时间存在偏差;可同步校时:

  scpi

  SYST:TIME 2026.06.11.10.30.00

  SYST:TIME?

  报错含义

  -251 Mass storage error:路径错误、文件不存在、U 盘 / 网络断开

  -222 String too long:路径字符串超长,精简文件名

  七、上位机快速比对逻辑

  遍历MMEM:CAT?拿到全部日志文件名

  循环调用MMEM:FILE:MOD:TIME?获取每个文件时间戳

  按时间戳排序,区分新旧记录

  结合DLOG:FILE:MAXCount?判断哪些是即将被自动删除的最旧文件

  八、补充:ELOG 事件文件时间查询

  操作完全相同,替换 ELOG 路径即可:

  scpi

  ELOG:PATH?

  MMEM:FILE:MOD:TIME? "/ELOG/EVENT001.CSV"

  ELOG 文件修改时间 = 最后一条故障事件写入时刻。