ModbusPoll数据记录功能的一点注意事项

[toc]

前言

为了不影响编码调试,通常下班后开始运行这些逻辑进行测试,一直到第二天早上再来看测试结果。像预付费表,不同时刻对应不同时区、方案、电价,使用ModbusPoll数据记录功能可以将每时刻的重要寄存器参数保存,如果发现结果异常时,可以从这些数据中回溯到出现问题的时刻,更快定位问题

image-20230629114212838

之前有个仪表怀疑它有零漂,后面用ModbusPoll数据记录保存了一长时间的电流值,然后用EXCEL筛选过滤一下非0值,很快得到结果

image-20230629112803151

做空调识别的时候也常用到这个功能去做数据分析,将空调运行时的有功无功数据读取下来,使用EXCEL绘制图形,功率的变化趋势就出来了

image-20230629112703442

Modbus poll 数据记录功能可以将数据保存到 txt 文本或者Microsoft Excel 表格中,每个Modbus窗口单独保存为一个文件

image-20230629112851932

  • 保存为 TXT 文本文件

    Modbus data log

    • 设置数据记录的速率、选择分隔符(固定宽度、逗号、制表符)
    • 当数据变化时才记录
    • 记录错误的报文
    • 记录日期、毫秒
    • 记录地址
    • 在已有文件末尾追加记录
    • 在凌晨12.00时创建新的文件来记录数据
  • 保存为 Microsoft Excel 表格

    Modbus Excel logging

    • 可以选择记录频率
    • 设置达到指定数量时自动停止
    • 当数据变化时才记录
    • 插入表头信息

保存为EXCEL时的问题

通常数据记录下来之后都需要进行分析,txt纯文本过于简单,难以查找需要的数据,所以可能会想到直接保存为EXCEL,方便进行数据分析或者图标绘制。但使用的时候发现,Log功能会莫名失效,EXCEL中数据不再增加,整个记录过程中断了,不得不重新准备,重新开始记录。

在ModbusPoll用户手册中有一下描述

这个功能需要安装 Microsoft Excel。Excel 2003的记录限制为65535行,Excel 2007或更新版本限制为1048576行。记录时不要操作Excel,否则会中断记录。

从手册中看出,确实会有中断的情况,如果记录过程中误操作导致中断,那将会很痛苦,手册中提到的是微软的Excel,曾经使用过WPS表格也是可以的,但不清楚是否完全兼容

除了手册明确说明的中断记录问题,在使用过程中还发现EXCEL会闪退。而且EXCEL上的内容是临时的,需要手动保存才生产EXCEL文件,闪退后所有记录都会丢失

保存为TXT时的问题

根据使用EXCEL的情况来看,是否保存为 TXT 文件会更好?不会因误操作导致中断记录。

可能比保存为EXCEL好,但仍出现过其他问题。中试曾经反馈用这样的方式记录一晚上后,第二天回来发现软件是卡死的状态。默认记录选项下,TXT与EXCEL类似,数据都是未保存的,所以最终数据还是没保存下来

优化使用

TXT可以更通用地保存和导入到其他软件,而且数据的记录是带分隔符的,数据可以很容易切割提取。在长时间记录数据的情况下,相比EXCEL,TXT方式没有数据限制。

针对TXT出现的问题,刚好 Log Setup 下有相关选项配置。勾选 Flush to file immediately 配置,此时记录的数据就会实时保存到文件。如果中途软件卡死,软件卡死前的数据都已经保存,不至于全部丢失

image-20230629090855253

导入到EXCEL分析,数据 -> 从文本/SCV 选择文件

image-20230629101357411

已自动识别好,每项数据一列,点击加载

image-20230629101750025

image-20230629114446562