MODBUS学习笔记
概述
modbus通信协议与以往的通信协议不同,它只涉及应用层,支持RS232、RS485等多种电气接口。
MODBUS 协议允许在所有类型的网络架构内轻松进行通信。
MODBUS协议规定了4个存储区,其功能和类型均不同。
MODBUS协议帧的构成,地址+功能码+数据+校验值
PDU:协议数据单元
ADU:应用数据单元
在 MODBUS PDU 中,每个数据的寻址范围为 0 至 65535。每个存储区在设备中都有对应的地址,因此只要知道地址,就能知道里面的值。
协议帧
MODBUS有多个协议版本:
·Modbus-Rtu
·Modbus-ASCII
·Modbus-TCP
其中最常用的是Modbus-Rtu,以十六进制表示数据,采用循环冗余校验的方式。而Modbus-ASCII则采用ASCII码表示数据,数据量是Modbus-Rtu的两倍,并且采用的是纵向冗余校验的方式。
功能码是固定的,其中03读取数据和06修改数据是最常用的。
数据是大端方式发送,也就是说0x1234,先发送0x12,再发送0x34。
Modbus-TCP与Modbus-ACSII类似,不过加了一个TCP的MBAP报文头和删去了校验部分。