今天来分享一下,如何抓取串口设备的Modbus RTU数据包。先到CEIWEI软件官网下载CommMonitor的最新版v12.0,才支持Modbus RTU/ASCII协议分析功能,同ModbusMonitor RTU over TCP一样,完全分析了Modbus协议,不必我们再次分析了,监控即所得。
下载地址: http://www.ceiwei.com/down/CEIWEI_CommMonitor_20208.zip,下载不了,请另存为。
准备相关软件,虚拟串口软件,用于虚拟出互通的两个串口,可以模拟通信,以便Modbus Slave/Poll软件调试串口Modbus RTU数据。
一、CommMonitor串口监控的安装
CommMonitor串口监控支持WinXP,Win7,Win10, Win11,32/64位操作系统,默认安装即可,如下图:
按步骤来,值到安装完成。
二、虚拟串口
安装VSPort虚拟串口,虚拟两个互通的串口,COM2<--->COM3,波特率9600;
三、新建Modbus串口连接
Modbus Slave 从站新建Connection,选择串口(Serial port) COM1,数据模式(Mode)选择RTU,如下图左;
Modbus Poll 主站新建Connection,选择串口(Serial port) COM2,数据模式(Mode)选择RTU,如下图右;
选择参数设置: Modbus Slave 菜单 Setup-》 Definition: function 03 保持寄存器,Modbus Poll 菜单 Setup-》Read/KWrite Definition同样设置;
Modbus Slave,因为是寄存器,可以双击1行-0000(就是地址01)单元格,填上值,同时勾选自动增加数值,让其每秒增加计数,如下图左;
Modbus Poll,设置完成后,就可以看到1行-0000(就是地址01)的数据在跳动增加地变化着,显示Tx、Rx串口数据包日志,如下图右。
四、CommMonitor 安装后,运行打开如下图:
点击[+]新建监控会话,这里CommMonitor12.0和之前的早期版本有比较大的区别,新版本支持会话,可以保存监控会话,下次打开,可以继续监控;
这里我们选择要监控的串口COM2,因为Modbus Poll主站选择的是串口COM2,数据主要是主站与从站Request/Response模式,我们只需要监控一个串口就可以了,不需要监控两个串口;
必须选上Modbus视图,Modbus RTU模式,不然是不会显示Modbus视图监视窗口。
五、查看监控日志
以上几个步骤做完了,串口COM2的监控数据包出来了,Modbus RTU协议已经完全解析,如下图:
放大[Modbus视图],把数据详情显示出来,默认是分隔条向底部隐藏了,拖上来即可,如下图:
六、查看串口的原始数据
放大[列表视图],查看串口的原始数据,把数据详情显示出来,默认是分隔条向底部隐藏了,拖上来即可,从下图可以看出,串口Modbus RTU,带有 CRC16/Modbus校验值:CDC5,如下图:
七、导出数据日志
CommMonitor 是可以将监控的数据日志导出到文本Txt文件,在需要导出的视图上我们右键菜单,保存成文本文件,如下图:
打开Txt 记事本,查看日志内容,如下图:
八、总结:
CommMonitor 串口监控精灵v12.0,可以监控已经打开的串口,就是不管串口是否先打开还是后打开,都可以监控得到数据,对于VSPD的虚拟串口同样监控得到。
以下为官网新功能
增加Terminal View、Modbus View、LineView功能;
增加Modbus RTU/ASCII协议分析;
增加数据编码解析,支持编码类型:Ansi、Unicode/UTF7/UTF8;
增加不同视图重定向文件输出;
增加视图数据另存为;
增加监控会话功能;
增加大量数据缓存;
增加视图功能设置;
增加视图数据栏目调整显示隐藏;
增加数据以不同进制(2,8,10,16)数制显示、输出;
增加Line视图、Dump视图字符串输出长度;
增加Line视图、Dump视图数据包#显示、输出;
增加列表视图、Line视图、Dump视图数据包联动显示;