什么是Modbus调试软件
简单来说,Modbus调试软件就是串口助手,或网络调试助手,只不过增加了协议分析,CRC计算报文帧拼接的功能。
上一篇文章介绍了Modbus协议,物理层和协议层,主要包括3种模式:Modbus-RTU、Modbus-ASCII和Modbus-TCP。前两种是基于串口的,后一种是基于TCP网口的。
基于串口的,我们完全可以使用普通的串口助手,如sscom,xcom等通用串口助手,计算好CRC,然后以十六进制方式手动填写Modbus报文数据,比如:
当需要向某个从机寄存器写入某个值时,如向01地址的设备,0x0105保持寄存器写入1个数据:0x0190为例,那么需要构建这样一个数据帧:
主机发送:01 06 01 05 01 90 99 CB
01表示从机地址,06功能码表示写单个保持寄存器,0105表示寄存器地址,0190表示写入寄存器的数值,99 CB为CRC校验值。
如果从机正确的收到了数据,会回复一个数据帧:
从机回复:01 06 01 05 01 90 99 CB
如果有一个软件能帮我们完成这些操作:CRC计算、报文帧构建、响应数据校验。
本文介绍一款国人开发的功能强大的Modbus调试软件—MThings,我相信读者中很多人都用过这款软件,因为这款软件很流行,可以用来开发Modbus上位机和下位机,非常方便调试。
百度搜索:Modbus调试软件,第一个搜索结果就是它了:
MThings简介
MThings是一款基于Qt框架开发的Modbus调试助手,可以模拟Modbus主机和从机,遵循Modbus官方标准文档,可以用于Modbus设备调试、运维,Modbus上位机/下位机开发。
主要有以下功能:
- 支持模拟Modbus主机、Modbus从机
- 支持Modbus协议4种数据类型:离散量,线圈,输入寄存器和保持寄存器
- 支持所有Modbus模式:Modbus-RTU、Modbus-ASCII和Modbus-TCP
- 支持多主机,多从机同时运行,无设备个数限制
- 支持数据波形曲线展示极值、均值统计,数据记录保存
- 支持数据批量读写, 循环读写
- 发送数据类型支持有符号、无符号、浮点、字符串、位数据
- 接收数据类型支持十进制、十六进制、浮点、字节流、字符串
- 支持真实数据值显示,可自定义比例系数
- 全链路报文数据监控,存储、分析
- 支持配置文件导入,导出
- 小工具,UTC转Unix时间戳,浮点转十六进制,CRC计算等
- 永久免费,免安装,中文
MThings下载与安装
MThings最新版本V0.2.0下载地址:
gulink.cn/files/MThings.zip
压缩包解压后,无需安装,点击MThings.exe可以直接运行:
可以看到这个软件是基于Qt框架开发,里面有很多Qt的动态库,使用前可以先阅读使用手册,或观看视频教程入门。
MThings使用教程
文字教程,可以参考开发者的CSDN文章:
blog.csdn.net/zhoutanliang
视频教程,可以参考开发者的B站:
space.bilibili.com/497357433/video
部分视频教程:
- 5分钟入门MThings
www.bilibili.com/video/BV1Tf4y1m7po - 基于MThings搭建模拟主机调试MODBUS从机设备
www.bilibili.com/video/BV1KK4y1a7QB
MThings软件界面