mbcn04.pdf
图 1 主机-从机与查询-响应
mbcn06.pdf
开始
地址域
功能域
数据域
CRC 校验
结束
图2 信息的帧结构
mbcn08.pdf
Modbus功能格式
图3 RTU主机查询
图4 RTU从机响应
mbcn09.pdf
功能编码
图 5 读保持寄存器-查询
图 6 读保持寄存器-响应
图 7 预置单寄存器-查询
图 8 预置单寄存器-响应
图 9 预置多个寄存器-查询
图 10 预置多个寄存器-响应
mbcn10.pdf
例外情况响应
1 如果从机正常接收查询,无通讯错误出现,处理查询顺利,它将返回一个 正常的响应。
2 如果因为通讯错误没有接收到查询,从机将不返回任何响应。主机程序将 最终对查询作超时处理。
3 如果从机接收到了查询,但发现有通讯错误(奇偶校验,LRC或CRC),它 也不返回任何响应。主机
4 如果从机接收到了查询,没有通讯错误,但是无法执行(例如,去读一个 不存在的线圈或寄存器),从机
图 11 主机查询和从机例外情况响应
±Ì1 ±Í׺¿Õ‚«Èø¥¬Î
mbcn11.pdf
1 将一个16位寄存器的值置为FFFF(十六进制),所有位都置为1。 称之为 CRC寄存器。
2 将信息的第一个8位与CRC寄存器的低位字节进行异或计算,结果放入 CRC寄存器。
3 CRC 寄存器向右移动一位 (向着最低位 LSB ) , 最高位MSB用0填充 。 提取和 检
4 (如果LSB是0):重复步骤3 (另一个移位)。 (如果LSB是1):把CRC寄存器与多项式值
5 重复步骤3和步骤4,直到完成8个移位。 此过程完成后,第一个完整的 8位字节就处理完成。
6 重复步骤2至5,处理信息的下一个8位字节。 连续地重复以上过程,直 到所有的字节都处理完毕。
7 CRC寄存器中的最后内容就是信息的CRC值。
功能
图12 CRC字节顺序