Modbus-RTU数据帧

简介: Modbus-RTU数据帧

介绍

Modbus-RTU数据帧,帧长度最大为256字节,由以下4部分构成:

  • 子节点地址: 1字节,范围0-247
  • 功能代码: 1字节
  • 数据块: 0-252字节
  • CRC校验值: 2字节,低8位在前


帧描述

Modbus-RTU帧间隔,Modbus-RTU要求两个RTU报文帧间隔要大于3.5个字节时间:

且每个报文帧内字节间隔小于1.5个字节时间,否则会认为接收不完整。


Modbus-RTU采用循环几余校验(CRC - Cyclical Redundancy Checking) 算法对报文顺全部数据进行计算,得到的校验值附加在报文末尾,低位在前。CRC-16_Modbus计算方法可以参考: CRC-16_Modbus校验算法。


实际请求/应答交互示例

示例1: 写单个寄存器。向01地址设备0x0105保持寄存器写入1个数据: 0x0190

主机发送: 01 06 01 05 01 90 99 CB从机回复: 01 06 01 85 01 90 99 CB


01表示从机地址,06功能码表示写单个保持寄存器,0105表示寄存器地址,0190表示写入寄存器的数值,99CB为CRC校验值。可以看出,当写1个寄存器数据时,从机响应的数据帧和主机发送的数据帧完成一致。


示例2: 写多个寄存器。向01地址设备0x0105、0x0106、0x0107地址保持寄存器,写入3个寄存器数据: 0x1102,0x0304,0x0566


主机发送: 01 10 01 05 00 03 06 11 02 03 04 05 66 4a 12从机回复: 01 10 01 05 00 03 91 f5

同理,01从机地址,10功能码表示写多个保持寄存器,0105表示起始地址0003表示写3个寄存器,06表示数据量为6个字节1102/0304/0566分别表示写入3个寄存器的数值,4a12表示CRC校验数值.

可以看出,写多个寄存器时使用10功能码,从机回复数据也比较精简。

示例3: 读单个寄存器。读01地址设备0x0105保持寄存器数据

主机发送: 01 03 01 05 00 01 95 f7从机回复: 01 03 02 56 78 87 c6


03表示读多个寄存器,0105表示起始地址,0001表示读1个寄存器

02表示2个字节,56 78表示寄存器的数据

示例4: 读多个寄存器。读01地址设备0x0105、0x0106、0x0107地址保持寄存器,共3个寄存器数据:

主机发送: 01 03 01 05 00 03 14 36从机回复: 81 03 06 11 22 33 44 55 66 2a 18


03表示读多个寄存器,0105表示起始地址,0003表示读3个寄存聚

06表示6个字节,11 22 33 44 55 66表示寄存器的数据

目录
相关文章
EMQ
|
传感器 监控 网络协议
使用 Neuron 接入 Modbus TCP 及 Modbus RTU 协议设备
作为一款支持数十种工业协议转换的物联网边缘工业协议网关软件,Neuron也已经实现了基于Modbus RTU协议TCP传输的功能。本文将在Ubuntu 20.04.3、X86_64的环境下,介绍如何使用Neuron接入Modbus TCP及Modbus RTU协议设备。
EMQ
762 0
使用 Neuron 接入 Modbus TCP 及 Modbus RTU 协议设备
|
4月前
在Modbus RTU中同时进行读取和写入操作
在Modbus RTU中同时进行读取和写入操作
87 0
|
7月前
|
网络协议 算法
【MODBUS】Modbus的3种传输方式
【MODBUS】Modbus的3种传输方式
190 1
|
7月前
|
传感器 数据采集 网络协议
【MODBUS】Modbus是什么?
【MODBUS】Modbus是什么?
114 1
|
7月前
|
算法
Modbus-ASCII数据帧
Modbus-ASCII数据帧
83 1
|
存储 网络协议
Modbus通信协议学习笔记
Modbus通信协议学习笔记
143 0
|
7月前
|
传感器 监控
【MODBUS】Modbus协议和PLC协议的区别和联系
【MODBUS】Modbus协议和PLC协议的区别和联系
257 0
|
7月前
Modbus-TCP数据帧
Modbus-TCP数据帧
122 0
|
缓存 网络协议 网络架构
以太网数据链路层、Ethernet_II帧格式、IEEE802.3帧格式,以太网的MAC地址的组成,ARP地址解析协议的工作原理,单播帧、组播帧、广播帧的区别
数据链路层,Ethernet_II帧格式、IEEE802.3帧格式,帧格式的区分以及链路层每种帧格式有什么作用,怎么区别分辨帧格式,以太网MAC地址的组成,ARP地址解析协议原理、什么是单播帧?什么是组播数据帧?什么是广播帧?...............
以太网数据链路层、Ethernet_II帧格式、IEEE802.3帧格式,以太网的MAC地址的组成,ARP地址解析协议的工作原理,单播帧、组播帧、广播帧的区别
详解CAN总线:CAN总线报文格式—数据帧
CAN总线上传输的信息称为报文,当总线空闲时任何连接的单元都可以开始发送新的报文。
详解CAN总线:CAN总线报文格式—数据帧
下一篇
DataWorks