首页 理论教育 Modbus RTU通信示例详解

Modbus RTU通信示例详解

时间:2023-07-01 理论教育 版权反馈
【摘要】:以两个CM1241RS422/485通信模块之间的Modbus RTU通信为例,介绍S7-1200 PLC Modbus RTU主站与从站轮询发送和接收数据。在OB1中的程序段3,调用ModbusRTU从站通信指令“Modbus_Slave”,将Modbus从站地址设置为2,如图9-50所示。图9-56 Modbus RTU轮询返回到第一步4.Modbus RTU通信程序测试分别打开Modbus RTU主站CPU1217和Modbus RTU从站CPU 1215的监控与强制表进行监视,Modbus RTU主站和从站赋值以及通信测试结果见表9-24。表9-24 Modbus RTU通信测试结果

Modbus RTU通信示例详解

以两个CM1241RS422/485通信模块之间的Modbus RTU通信为例,介绍S7-1200 PLC Modbus RTU主站与从站轮询发送和接收数据。CPU 1217作为ModbusRTU主站,CPU 1215作为Modbus RTU从站,使用PROFIBUS电缆连接两个CM 1241RS422/485的串口,实现的功能为主站读写从站的保持寄存器的数据以及写位寄存器。

1.本例所用的硬件

•CPU 1217CDC/DC/DC(6ES7 217-1AG40-0XB0)V4.2。

•CPU 1215CDC/DC/DC(6ES7 215-1AG40-0XB0)V4.2。

•CM1241RS422/485(6ES7 241-1CH32-0XB0)V2.2。

•PROFIBUS电缆及总线连接器。

2.CPU 1215Modbus RTU从站端编程

(1)ModbusRTU从站端初始化

在OB1中程序段1修改MODE=4,将工作模式设置为半双工RS485两线模式。在OB1中程序段2,调用“Modbus_Comm_Load”指令初始化ModbusRTU从站,如图9-48所示。

(2)ModbusRTU从站端通信编程

创建全局数据块DB3名称为“Slave”,并设置成“非优化访问”,定义保持寄存器变量名称“Hold_REG”,其结构为100个字的数组Array[0..99]ofWord,如图9-49所示。

在OB1中的程序段3,调用ModbusRTU从站通信指令“Modbus_Slave”,将Modbus从站地址设置为2,如图9-50所示。

978-7-111-58391-2-Chapter09-75.jpg

图9-48 Modbus RTU从站端初始化

978-7-111-58391-2-Chapter09-76.jpg

图9-49 定义Hold_REG数组

978-7-111-58391-2-Chapter09-77.jpg

图9-50 Modbus RTU从站端通信编程

3.CPU 1217Modbus RTU主站端编程

(1)Modbus RTU主站端初始化

Modbus RTU主站初始化与Modbus RTU从站初始化编程类似,如图9-51所示。

978-7-111-58391-2-Chapter09-78.jpg

图9-51 Modbus RTU主站端编程初始化(www.xing528.com)

(2)Modbus TU主站端轮询编程

本例中有多个Modbus地址区读写操作,因此需要在主站端进行轮询编程,保证同一时刻只有一个Modbus读写请求激活。

新建全局数据块DB3名称为“Master”,在该块中定义Modbus读写请求的数据存放区以及轮询的步“Step”,如图9-52所示。

Modbus RTU主站端轮询第一步:读取Modbus RTU从站地址2保持寄存器40001地址开始的两个字长的数据,如图9-53所示。

Modbus RTU主站端轮询第二步:写4个字数据到Modbus RTU从站40003地址开始的保持寄存器,如图9-54所示。

978-7-111-58391-2-Chapter09-79.jpg

图9-52 定义Modbus读写数据的存放地址和数据类型

978-7-111-58391-2-Chapter09-80.jpg

图9-53 Modbus主站读取保持寄存器数据

978-7-111-58391-2-Chapter09-81.jpg

图9-54 Modbus主站写数据到保持寄存器

Modbus RTU主站端轮询第三步:写8位数据到Modbus从站的位寄存器,如图9-55所示。

978-7-111-58391-2-Chapter09-82.jpg

图9-55 Modbus主站写数据到位寄存器

Modbus RTU主站端轮询返回第一步:第三步完成位或错误位作为条件回到第一步,继续轮询,如图9-56所示。

978-7-111-58391-2-Chapter09-83.jpg

图9-56 Modbus RTU轮询返回到第一步

4.Modbus RTU通信程序测试

分别打开Modbus RTU主站CPU1217和Modbus RTU从站CPU 1215的监控与强制表进行监视,Modbus RTU主站和从站赋值以及通信测试结果见表9-24。

9-24 Modbus RTU通信测试结果

978-7-111-58391-2-Chapter09-84.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈