在上一篇文章中讲述了Modbus通信协议的来龙去脉(原文链接:《一种工业串行通信协议---Modbus通信协议》)

本篇文章主要介绍两款Modbus通信调试软件:

· Modbus Poll:作用是用于模拟Modbus主站,可以对从站发起请求;

· Modbus Slave:作用是用于模拟Modbus从站,可以应答主站的请求;

这两款软件可以很好的帮助我们解决MCU移植Modbus通信过程的调试,或对现场Modbus通信的监听。


下面开始介绍Modbus Poll软件的使用;

这是 Modbus Poll 的可执行程序图标;

打开后的程序界面;

①、功能菜单栏;(使用频繁的是Connection<连接>和Setup<通信设置>)

②、Modbus Poll开启后会默认创建一个主站窗口;

③、主站信息栏;(Tx表示发送请求帧计数,Err表示通信错误计数,ID表示当前轮询从站的地址,F代表当前使用的功能码,SR表示发送请求的时间间隔)

④、寄存器地址;(默认读10个寄存器)

⑤、寄存器的数值;(默认为0,当通信正常时会随着读取值变化)

⑥、当前主站通信配置;(此处的含义为COM4端口,9600波特率,8位数据,无校验位,1位停止位)

①、当需要对多个Modbus从站进行轮询时,可以用过File->New创建新的从站;

①②、打开连接参数设置窗口;

③、通信接口设置;(Serial Port<串口>,TCP/IP<网口>)

④、设置端口;

⑤、设置波特率;

⑥、设置数据位;

⑦、设置校验位;

⑧、设置停止位;

⑨、响应超时时间;(超过此时间值,通信将报错)

⑩、设置发送请求间隔;(请求帧按照此时间间隔往外发送)

通信参数设置后点击OK即开始连接;

①②、打开主站轮询参数设置窗口;

③、设置轮询从站地址;

④、设置功能码;

⑤、设置起始地址;

⑥、设置访问寄存器数量;

⑦、设置扫描速度;

⑧、设置数据显示格式;(此处默认设置数据格式为有符号十进制数,也可修改为十进制数等)

当主站轮询参数设置完成后点击OK保存;

这些是通信连接时的必要功能;

①、清除通信计数;

②、断开通信连接;

③、开始通信连接;

以上部分为Modbus Poll 软件的使用介绍。


下面介绍Modbus Slave软件的使用;

①、这是Modbus Slave 可执行程序的图标;

这是Modbus Slave 软件打开后的界面,与Modbus Poll几乎一致,所以关于通信参数的设置、从站通信参数的设置这里不再赘述;

一般情况下,Modbus通信时从站不止一个,这里着重讲一下如何创建多个虚拟从站;

①、点击新建快捷按钮;

②、除了默认从站外,会生成一个新的从站;

假设需要修改新建从站的通信参数;

①、点击待修改从站的标题栏;

②、点击 Setup<设置>;

③、打开从站定义窗口;

①、设置从站地址为2;

②、设置功能码为 0x03;

③、设置寄存器数量为20;

设置完毕后,点击OK;

此时可以看到新建的从站通信参数已做修改,按照这个步骤可以创建多个虚拟Modbus从站,关于创建多个虚拟主站的步骤与此步骤相同。


演示试验的环境搭建:

这里我采用两个USB转RS-485模块进行闭环连接,黑色模块的端口为COM4,供Modbus Poll使用;蓝色模块的端口为COM3,供Modbus Slave使用;

首先设置Modbus Slave 虚拟从站的参数;

①、通信参数设置为:端口COM3、波特率115200,8位数据,无校验,1位停止位;

②、参数设置完成后点击连接;

设置Modbus Poll 主站相关参数:

①、通信参数设置为:端口COM4,其它通信参数与从站一致;

②、设置读从站地址、功能码、读起始地址、读寄存器数量;

③、点击连接;

此时可以观察到,通信计数上涨,无报错;修改从站寄存器地址1的内容为2,主站在读取数据后更新显示。

同时,如果打开 Display -> Communication……(无论主站还是从站都有该功能) 还可以监控到收发双方的数据流,以此诊断主从站是否存在故障。


Modbus Poll 与 Modbus Slave 堪称Modbus调试神器,无论是在开发阶段,还是工程应用,使用起来非常方便,不需要我们再额外开发上位调试程序。

如需Modbus Poll与Modbus Slave软件安装包,可关注公众号,后台私信 Modbus

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐