Modbus协议是工业现场中比较常见的通讯协议,理解这个协议有助于自身对应编程能力的提高以及设备的配置
Modbus协议根据通讯方式(串口和以太网)可以分为 Modbus RTU、Modbus ASCII和Modbus TCP
一.RTU帧发送注意事项
1.信息帧发送至少要以3.5个字符时间的停顿间隔开始。也就是说帧与帧之间发送间隔要3.5个字符时间以上。
2.整个信息帧必须作为一连续的流传输。如果在帧完成之前有超过1.5字符时间的停顿时间,接受设备将刷新不完整的信息帧并认为存在丢包现象。
二.帧组成
1.站号
站号就是设备的地址,在上位机也就是指代哪个设备处理,下位机表示是哪个设备回复。
站号占用一个字节8位,从0到255。每个从机都必须有唯一的地址。0站号一般不用(广播地址)。
2.功能码
功能码表示这条信息帧执行什么动作。读线圈写线圈 读寄存器写寄存器等等
功能码占用一个字节8位,常见功能码如下
3.地址
具体元件的通讯地址
4.数据
分为数据长度和数据
数据长度:读取的元件数量或数据总长(根据功能码确定)
数据:读取的值或要写入的值(根据功能码确定)
5.校验码
RTU模式为CRC校验
ASCII模式为LRC校验
三、通讯过程
主站发送指令→从站解析接收帧并根据接收帧发送对应帧数据→主站解析对应数据并处理