文档介绍:MODBUS 解精 版
一、基本
1、 字 word、字 byte 、位 bit
1 word = 2 byte;
1 byte = 8 bit.
2、 校
校 是由前面的数据通 某种算法得出的,用以 数据的正确性。代 作 数据在向 算机或其它 行 入 ,容易 生 入 , 了减少 种 入 , 家 明了各种校 方法,并依据 些方法 置了校 。
常用的校 有:累加和校 SUM、字 异或校 XOR、 向冗余校 LRC、循 冗余校 CRC⋯⋯
3、 和接口
协议是一种规范和约定,是一种通讯的语言,规定了通信双方能够识别并使用的消息结构和数据格式。
接口是一种设备的物理连接,指的是在物理层上的定义,像RS422/RS232/RS485/以太网口等。协议和接口并不是一个概念,不能混淆。
Modbus协议一般运行在 RS485物理接口上,半双工的,是一
种主从协议。
二、 Modbus协议概述
Modbus协议是应用于电子控制器上的一种通用语言,实现控制器之
间、控制器由网络和其它设备之间的通信,支持传统的
RS232/RS422/RS485和最新发展的以太网设备。它已经成为一种通
用工业标准。有了它,不同厂商生产的控制设备可以连成工业网
络,进行集中控制。此协议定义了一个控制器能认识使用的消息结
构。
Modbus协议是一种请求——应答方式的协议。
三、两种传输方式
1、 ASCII 模式
ASCII:美国标准信息交换代码
特点:
① 消息中每个 8bit 都作为两个 ASCII 字符发送
1 个起始位、 7 个数据位、 1 个奇偶校验位和 1 个停止位(或者两个停止位)
③ 错误检测域是 LRC检验
④ 字符发送的时间间隔可达到 1 秒而不会产生错误
2、 RTU模式
RTU: 远程终端单元
特点:
① 消息中每个 8bit 字节包含两个 4bit 的十六进制字符,因此,在波特率相同的情况下,传输效率比 ascii 传输方式大
1 个起始位、 8 个数据位、 1 个奇偶校验位和 1 个停止位(或者两个停止位)
③ 错误检测域是 CRC检验
④ 消息发送至少要以个字符时间的停顿间隔开始。整个消息帧必须作为一连续的流传输。如果在帧完成之前有超过个字符时间的停顿时间,接收设备将刷新不完整的消息并假定下一个字节是一个新消息的地址域。同样地,如果一个新消息在小于个字符时间内接着前个消息开始,接收的设备将认为它是前一消息的延
续。 ~个字符间隔就算接收异常,只有超过个字符间隔才认为帧结束。
目前常用的是 RTU传输方式,因为下面的将以 RTU传输方式为
.
四、报文格式
读数据:
下行报文:
从
功
寄存器
寄存器
读取寄
读取寄
CRC
CRC
机
能
起始地
起始地
存器个
存器个
校验
校验
地
码
址高字
址低字
数高字
数低字
低
高
址
节
节
节
节
上行报文:
从机地址 功能码 返回字节个数 寄存器数据 CRC校验
写数据:
下行报文:
从机地
址
功能
码
寄存器起始地址
写寄存器个数
要写的数据
CRC校
验