学习路线 · 2025-01-23

Modbus这样学,没有理由学不会的

大家好!我是付工。

有一些学员问:怎么学习上位机通信。

我建议是先把Modbus通信协议研究透彻。

那么怎么学习Modbus通信协议呢?

今天跟大家分享一下学习路线。

Modbus基础知识

第一阶段要学习Modbus的基础知识,下面是我整理的几个必须掌握的内容。

1、Modbus协议背景及发展历程

2、Modbus调试软件安装使用说明

3、Modbus通信协议存储区说明

4、Modbus通信协议功能码说明

5、Modbus通信协议地址模型说明

6、Modbus通信协议分类及测试

ModbusRTU报文

第二阶段是掌握Modbus报文,我们先学习ModbusRTU的报文,把ModbusRTU报文研究明白了,其他的ModbusASCII或者ModbusTCP都是大同小异的。

1、ModbusRTU通信格式说明

2、Modbus-01功能码读取输出线圈

3、Modbus-02功能码读取输入线圈

4、Modbus-03功能码读取保持型寄存器

5、Modbus-04功能码读取输入寄存器

6、Modbus-05功能码写入单输出线圈

7、Modbus-06功能码写入单寄存器

8、Modbus-0F功能码写入多输出线圈

9、Modbus-10功能码写入多保持寄存器

ModbusRTU通信库

第三阶段就是要写ModbusRTU通信库了,ModbusRTU通信库其实是串口通信与ModbusRTU报文的融合,学会ModbusRTU通信库,其他串口协议都可以触类旁通。

1、SerialBase串口打开关闭

2、SendAndReceive通用方法

3、IModbusRW读写接口实现

4、读取输出输入线圈方法编写

5、读取输出输入寄存器方法编写

6、写入单输出线圈方法编写

7、写入单输出寄存器方法编写

8、写入多输出线圈方法编写

9、写入多输出寄存器方法编写

10、写入寄存器某个位方法编写

ModbusRTU测试软件

第四阶段就是要去验证我们编写的ModbusRTU通信库的正确性,我们可以用C#编写一个类似于ModbusPoll/ModbusScan的测试软件。

原文配图 1

1、ModbusRTU软件UI界面设计

2、通信参数初始化及串口连接

3、读取输入输出线圈方法测试

4、读取输入输出寄存器方法测试

5、写入单输出线圈方法测试

6、写入多输出线圈方法测试

7、写入单个寄存器方法测试

8、写入多个寄存器方法测试

9、写入寄存器位地址方法测试

ModbusRTU一主多从

第五阶段就是去做一些案例,比如和温湿度模块通信,和PLC通信,和仪表通信等等,包含多个从站实现一主多从,基本上这样的我们都可以用C#编写出类似的软件了。

1、RS232-422-485的区别

2、一主多从原理及接线方法

3、ModbusRTU与一主多从

4、IO采集卡与温湿度模块测试

5、西门子200Smart通信测试

6、Modbus一主多从UI界面

7、C#实现多从站轮询读取

8、C#实现多从站数据写入

9、ModbusSlave仿真多从站

ModbusTCP报文

第六阶段就该去学习ModbusTCP通信协议报文了,如果前面的ModbusRTU通信报文学得很扎实,那么ModbusTCP就很简单了,同时还能对ModbusRTU的报文有一个更深的认识和巩固。

1、ModbusTCP通信格式说明

2、ModbusTCP-01功能码读取输出线圈

3、ModbusTCP-02功能码读取输出线圈

4、ModbusTCP-03功能码读取输出线圈

5、ModbusTCP-04功能码读取输出线圈

6、ModbusTCP-05功能码读取输出线圈

7、ModbusTCP-06功能码读取输出线圈

8、ModbusTCP-0F功能码读取输出线圈

9、ModbusTCP-10功能码读取输出线圈

ModbusTCP通信库

第七阶段就是要写ModbusTCP通信库了,ModbusTCP通信库其实是以太网通信与ModbusTCP报文的融合,学会ModbusTCP通信库,其他以太网通信协议都可以触类旁通了。

1、TCPBase建立连接与断开

2、SendAndReceive通用方法

3、读取输出输入线圈方法编写

4、读取输出输入寄存器方法编写

5、写入单输出线圈方法编写

6、写入单输出寄存器方法编写

7、写入多输出线圈方法编写

8、写入多输出寄存器方法编写

9、写入寄存器某个位方法编写

ModbusTCP测试软件

第八阶段就是要去验证ModbusTCP通信库的正确性,那么我们可以用C#编写一个类似于ModbusPoll/ModbusScan的测试软件。

原文配图 2

1、ModbusTCP软件UI界面设计

2、通信参数初始化及连接断开

3、读取输入输出线圈方法测试

4、读取输入输出寄存器方法测试

5、写入单多输出线圈方法测试

6、写入单多个寄存器方法测试

7、写入寄存器位地址方法测试

ModbusTCP上位机

第九阶段就是要去编写一个ModbusTCP协议的上位机,我们之前做过西门子S7协议版本的加压站,那么就可以很轻松改成ModbusTCP协议的,这里我们使用西门子和三菱PLC,其他PLC,只要支持ModbusTCP协议,也是类似的。

原文配图 3

1、编写ModbusServer程序

2、添加ModbusTCP通信库

3、数据层及数据解析方法

4、修改数据层设备控制方法

5、Slave仿真实现加压站系统

6、三菱PLC配置及变量映射表

7、数据层及数据解析方法

8、修改数据层设备控制方法

通过以上9个阶段的学习,基本上Modbus通信协议就可以彻底掌握了。

本文为原文文字快照,已收录 3 张技术配图;二维码与推广图未收录。
标签:#Modbus #路线