MODBUS-RTU数据帧格式、报文实例

发布时间:2023-12-18  

报文模型

设备地址

本文引用地址:

功能代码

数据格式

CRC校验L

CRC校验H

8bit

8bit

N*8bit

8bit

8bit

一个报文就是一帧数据,一个数据帧就是一个报文: 指的是一串完整的指令数据,就像上面的一串数据。

主机对从机写数据操作

如果单片机接收到一个报文那么就对报文进行解析执行相应的处理

0x01

06

00 01

00 17

98 04

从机地址

功能号

数据地址

数据

CRC校验

主机对从机读数据操作

0x01

03

00 01

00 01

D5 CA

从机地址

功能号

数据地址

读取数据个数

CRC校验

单片机接收到这串数据根据数据计算CRC校验判断数据是否正确,如果判断数据无误,则结果是:返回信息给主机,返回的信息也是有格式的:

从机对主机返回内容

0x01

03

02

00 17

F8 4A

从机地址

功能号

数据字节个数

两个字节数据

CRC校验

这样MODBUS主机就完成了一次对从机数据的读操作,实现了通讯。

常用功能码

数据类型

读功能码

写功能码

对象类型

离散量输入

02


单个位

线圈状态

01

05,15

单个位

输入寄存器

04


16位字

保持寄存器

03

06,16

16位字

寄存器起始地址(起始数据地址)

数据类型

参数地址,寄存器编号

离散量输入

00001~0FFFF

线圈状态

10001~1FFFF

输入寄存器

30001~3FFFF

保持寄存器

40001~4FFFF

举例:
Modbus协议中寄存器地址从1开始,而实际存储中地址从0开始。假如要读取寄存器编号为40005(4为块编号,5为modbus中寄存器地址)的寄存器的数据,则应把00
04放入报文的地址域。寄存器定义,又名码表或者信息点表,应由厂家提供的。

寄存器编号

属性

定义

系数

备注

40001

RO

A相电压


从40048中读取电压系数

40002

RO

B相电压


如要读A相电压,则应将0x00 0x00放入寄存器起始地址域中。

报文实例

1、读40005、40006两个寄存器,假设从机地址为1

下行报文:01 03 00 04 00 02 85 ca

从机地址

功能码

寄存器起始地址

读取寄存器个数

CRC校验

01

03

00 04

00 02

85 ca

上行报文:01 03 04 00 00 00 00 21 33

从机地址

功能码

返回字节个数

寄存器40005数据

寄存器40006数据

CRC校验

01

03

04

00 00

00 00

21 33

2、向40005寄存器中写入0x12,0x34,假设从机地址为1

下行报文:01 06 00 04 00 01 12 34 4a b0

从机地址

功能码

寄存器起始地址

读取寄存器个数

要写入的数据

CRC校验

01

03

00 04

00 01

12 34

85 ca

上行报文:01 06 00 04 00 01 12 34 4a b0

从机地址

功能码

寄存器起始地址

读取寄存器个数

写入的数据

CRC校验

01

03

00 04

00 01

12 34

85 ca


文章来源于:电子产品世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    MODBUS-RTU数据帧格式、报文实例; 报文模型 设备地址本文引用地址: 功能代码 数据格式 CRC校验L CRC校验H 8bit 8bit N*8bit 8bit......
    设备及其安装 下面用一个实例来介绍Smart Line触摸屏与一台V20变频器通过MODBUS通讯的实现方法。该例子中用到的主要硬件设备如表1所示,触摸屏组态软件为WinCC Flexible 2008......
    西门子S7 1214C PLC的ModbusRTU通讯实例分析;PLC程序猿Modbus是PLC应用中常用的通讯手段,轮询是在进行一个控制器连接多个从站的通讯时常用的编程手段,由于ST语言......
    ,接收节点必须结合期望报文包中的ID(消息标识符)正确配置筛选器。CAN2.0协议支持两种数据帧格式,分别是ID为11位的标准帧和ID为29位的扩展帧。本文实......
    帧(ADU)由MBAP+PDU组成,物理层为以太网接口; ● MBAP:报文头,长度7个字节。 1.3Modbus RTU/TCP共同点 ● Modbus TCP和......
    ASCII和Modbus TCP三种。在工业现场一般都是采用Modbus RTU协议。与ModbusRTU协议相比较,ModbusTCP协议则是在RTU协议上加一个MBAP报文头,并且由于TCP是基......
    再继续看。 在刚才的实验中,我们看到通过电脑的Modbus Poll对PLC进行读写操作了。 难道我们不想知道,他们是怎么起使用的么。 Modbus Poll 有一个功能,可以显示发送和接收的报文,对于......
    会在全部通讯数据的最后增加4个字节(32个bits),用于标识相应32 个从站是否在线. 4,双击主窗口的某一个“Modbus Slave”,可以设置该从站的报文。 5,如下图所示,给1号从站添加了1 条写线圈、1条读......
    位为1位、波特率为9600、无报头报尾,控制线为无协议的RS-485接口。 编辑程序将参数传入D8120。 五、CRC指令 CRC指令的作用是计算Modbus RTU通信报文的校验码。 在低8位模......
    制,记下sync报文实际从can驱动发送出去的时间,t1r. time slave在t2r时刻接收到sync报文 time master在sync发送完之后,随后发送follow up报文,并把......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>