Modbus RTU
2019-10-22 本文已影响0人
遇银
Modbus RTU
一、通讯协议包括两个方面:
- 通讯格式,即:波特率,校验方式,数据位,停止位 --------》针对每一个字符
- 通讯规范 ------------》针对每一个报文
通讯格式只是保证接收方正确接收到发送方传输过来的每一个字符,其中的校验方式不能完全保证正确性,还需要依靠通讯规范中的校验和计算来验证整体的正确性,那么接收到的郑串字符做什么呢,就需要靠通讯规范了。
MODBUS-RTU详解
- 主机对从机写数据操作
如果单片机接收到一个报文那么就对报文进行解析执行相应的处理,如上面报文:
01 06 00 01 00 17 98 04
从机地址 功能号 数据地址 数据 CRC校验
假如本机地址是1,那么单片机接收到这串数据根据数据计算CRC校验判断数据是否正确,如果判断数据无误,则结果是:HoldDataReg[1] = 0x0017;MODBUS主机就完成了一次对从机数据的写操作,实现了通讯。
- 主机对从机读数据操作
主机进行读HoldDataReg[1] 操作,则报文是:
01 03 00 01 00 01 D5 CA
从机地址 功能号 数据地址 读取数据个数 CRC校验
那么单片机接收到这串数据根据数据计算CRC校验判断数据是否正确,如果判断数据无误,则结果是:返回信息给主机,返回的信息也是有格式的:
返回内容:
01 03 02 0017 F8 4A
从机地址 功能号 数据字节个数 两个字节数据 CRC校验
MODBUS主机就完成了一次对从机数据的读操作,实现了通讯。