ModbusSuite这款Modbus通信测试工具可能99.9%的人都没听说过,毕竟知乎、百度、微信能搜索到这个工具的相关信息都极少。
顾名思义,Suite直译过来的意思就是一套,Modbus Suite包含了主站工具Master(客户端)、从站工具Slave(服务端)。
很多人都知道大名鼎鼎的Modbus Poll(主站,主动发起通信请求,控制数据传输的顺序和流程,类似“客户端”或“领导”角色。)和Modbus Slave(从站,被动响应主站请求,仅执行命令或返回数据,类似“服务端”或“下属”角色)。
主站:通常是高性能控制器,如PLC、SCADA系统、工业计算机(IPC)等,负责数据处理、逻辑控制及网络管理。
从站:多为现场设备,如传感器、执行器、变频器、I/O模块等,专注于数据采集或执行具体操作。
为什么这么知名?
原因很简单就是因为发布的时间很早,首次发布好像是 2002年。
下载地址
文末即可获取
这个通讯调试软件合集我也会持续更新的,有兴趣的可以点赞记录一下。
我实测过多款Modbus通信调试工具,我个人认为ModbusSuite比Modbus Poll+Modbus Slave更好用(基础功能)。
Modbus Suite在功能实现和界面设计几乎都是参考Modbus Poll、Modbus Slave的,青出蓝而胜于蓝这一点毫无争议。
当然这也不是为了写篇文章,去单纯吹捧一下Modbus Suite。
Modbus Suite缺点也是有的,它是一款付费的软件,网上关于它的专业版本激活几乎很难找到,毕竟这款软件的相关信息都非常少。
不激活的版本有很多常用的功能是没有的,例如:
1、实时曲线(没有)
2、写多线圈、写多寄存器、掩码寄存器(没有)
3、保存采集任务(没有)
4、代理从站 (从站作为TCP服务端时,可以代理从站和主站一起工作)
5、按指定的数据类型解析原始数据(没有)
Modbus Suite的优点有3个:
1、Modbus Suite集成了两个工具为一体,ModbusSlave(从站、客户端)、ModbusMaster(主站、服务端)。
相对于 Poll、Slave是2个程序,我认为ModbusSuite这一整套的工具更方便,无需安装,点击即可使用。
2、Modbus Suite有两个版本,一个个人版、一个专业版,专业版需要激活,个人版其实也完全足够简单使用。
3、Modbus Suite全是中文,界面设计更简洁、更符合用户的需求。
使用TCP传输数据(模拟服务端、客户端)
双击exe直接运行,无需安装。
根据使用习惯,程序主界面主要包括标题栏、菜单栏、工具栏、状态栏、采集数据工作区和项目管理区,采集数据工作区是多任务文档风格,便于可以同时查看和比较任务工作情况。
主界面如下图所示:
1、模拟客户端
Modbus Master模拟的是客户端(电气方面的概念的主站),我是写代码就不写这个主站的意思了。
点击【配置】>【连接设置】
选择连接模式为 Modbus TCP/IP
地址、端口默认的是127.0.0.1、502,如果502端口被其他程序占用,需要更换其他端口。
一个TCP的服务端已经模拟创建完成。
2、采集任务
点击【功能】>【采集任务】
输入采集参数,这里演示的采集数据是:
从站为1;采集开始地址为0,;采集数量为30个;功能码是03保持寄存器;刷新频率是1000ms;
点击 启动图标,即可开始采集:
2、模拟客户端
Modbus Slave是从站,模拟的是服务端。
1、输入TCP服务端信息,操作和前面类似,点击【配置】>【连接设置】
2、输入采集参数,点击【功能】>【数据服务】
3、设置值递增
如图数据打通了:
3、显示报文
可查看Modbus Slave的实时报文,点击【视图】>【实时报文】
使用RTU传输数据
1、使用VSPD模拟器一对串口
VSPD:全称Virtual Serial Port Driver,由著名的软件公司Eltima制作。
它可以在电脑上创建成对的虚拟串口,让你的应用程序可以通过虚拟串口进行通信,就像真实的物理串口一样。
这里给大家带来的是破解汉化版本的,非常适合新手使用。上面连接中的文件夹有这个工具
连接串口
打开Modbus Master 主站,设置连接配置,选择连接模式为 Serial Port
选一个串口COM2,这个串口连接的是另一个串口COM3。
如图所示连接成功:
打开Modbus Slave 从站,一样的设置,需要选择的另一个串口COM3。
如图所示,连接另一个串口成功:
还是一样的采集从0开始采集30个保持寄存器的地址。
接收串口数据
开始采集后,Modbus Master已成功模拟从串口接收数据了。
如图所示,Tx表示发送成功的次数,Err表示失败的次数。
接下来使用Modbus Slave往串口COM3发送数据。
点击【功能】>【数据服务】,操作和前面一样的。
这次设置数据递减:
两串口都联通之后,数据发送接收显示成功。
发送报文
Modbus Master自带串口通讯测试工具,点击【工具】>【串口助手】。
打开这个串口助手之后,主站的界面就完全点不动了,先把 Modbus Master主站连接的串口COM2关闭。
待会儿这个串口助手需要用到这个串口COM2。
打开串口COM2,然后发送报文 01 06 00 02 00 09 E8 0C
这个报文的作用修改修改单个寄存器地址02的值为9。
修改成功之后的 Master Slave从站的寄存器地址02就已经成功改变。
打开Msater Slave从站的实时报文,
串口调试工具点击发送,从站的实时报文就能显示接收、回复 。
如图所示:
这个必须要吐槽一下自带的这个串口工具,没有发送报文的时候自动计算这个Modbus协议的校验码。
TCPCOM二合一调试助手这一点就做的非常符合用户体验,自带自动发送校验位这个功能,不需要去其他地方计算出来。并且支持多种校验算法。
这个TCPCOM二合一调试助手也是通讯调试必备的工具,也在上面提供的文件夹中。
这个Modbus Slave也提供了这个计算校验位的工具,点击【工具】>【CRC】即可打开。
上面发送的报文01 06 00 02 00 09校验位计算出来就是E8 0C,这个计算工具还少了一个0。
总结
1、Modbus Suite这款工具的Modbus Master、Modbus Slave和Modbus Poll、Modbus Slave的功能非常接近,但是整体界面还是Modbus Suite更友好。
2、目前能搜索到的Modbus Suite相关资料、激活密钥都非常少,这里只是抛砖引玉,如果你有相关的激活方式,欢迎评论评论。
3、如果你知道还有其他好用的Modbus 通讯工具,欢迎评论。一个人的角度、知识量都是有限的,欢迎评论区评论提问,共同学习一下。