基于QT开发支持MODBUS协议的上位机:三、MODBUS协议的数据帧格式

文章目录

  • 一、Modbus 报文 RTU 帧
    • 1、从机地址
    • 2、CRC校验原理
  • 二、Modbus 报文 TCP 帧
    • 1.MBAP 报文头
    • 2.MBAP 报文头描述
  • 声明


一、Modbus 报文 RTU 帧

当设备使用 RTU (Remote Terminal Unit) 模式在 Modbus 串行链路通信, 报文中每个 8 位字节含有两个 4 位十六进制字符。这种模式的主要优点是较高的数据密度,在相同的波特率下比 ASCII 模式有更高的吞吐率。每个报文必须以连续的字符流传送。Modbus_RTU 帧最大为 256 字节。
基于QT开发支持MODBUS协议的上位机:三、MODBUS协议的数据帧格式_第1张图片
在上一章基于QT开发支持MODBUS协议的上位机:二、MODBUS协议的功能码内容的3.3节,提到了MODBUS请求/响应报文格式。具体到MODBUS_RTU,地址域即MOSBUS从机地址,差错校验部分MODBUS_RTU采用CRC校验(循环冗余校验)。起始和结束帧由发送设备管理和生成,本文不做深入介绍。

1、从机地址

Modbus 寻址空间有 256 个不同地址。

0 1-47 55-248
广播地址 子节点单独地址 保留

地址 0 保留为广播地址。 所有的子节点必须识别广播地址。
Modbus 主节点没有地址, 只有子节点必须有一个地址。 该地址必须在 Modbus 串行总线上唯一。

2、CRC校验原理

关于CRC校验原理,可以参考
【基础知识】CRC(循环冗余校验)直接计算和查表法
CRC校验码详解、常见算法实现及代码实例

MODBUS的CRC16生成多项式为 x 16 + x 15 + x 2 + 1 x^{16} + x^{15} + x^2 + 1 x16+x15+x

你可能感兴趣的:(qt)