星创智慧水利

0592-596777013395038953

热门关键词:  rtu遥测终端dtu无线数据终端

您的位置: 首页 > 智慧水利 > 智慧水利技术 > modbus rtu协议详解(快速了解modbus rtu)

modbus rtu协议详解(快速了解modbus rtu)

发布日期:2024-01-08
信息摘要:
Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto)……
Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。大多数Modbus设备通信通过串口EIA-485物理层进行。

对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。这两个变种都使用串行通信(serial communication)方式。RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。

功能码:01 02 03 04 05 06 15 16

功能码:01 读取线圈状态

读取 从站为1 起始地址为0 数量为10

主站发送报文: 01 01 00 00 00 0a bc 0d

01:从站地址 Type:Byte

01:功能码; Type:Byte

00 00 :读取从站的起始地址;Type:Word (主站访问实际起始地址=报文地址+1)

00 0a : 读取总共的线圈个数,10个;Type:Word

bc 0d: CRC校验;Type:Word

从站返回报文: 01 01 02 07 00 bb cc

01:从站地址 Type:Byte

01:功能码 Type:Byte

02:返回字节个数(每读8个BIT线圈为一个字节BYTE) Type:Byte

07 00 :返回线圈状态,读取10个线圈状态,用两个字节存储(00000111,00000000) Type:Byte

bb cc:发送CRC校验码 Type:Word

如下图

modbus rtu协议详解(快速了解modbus rtu)

功能码:02 读取输入状态

读取 从站为1 起始地址为10 数量为10

主站发送报文: 01 02 00 09 00 0a 28 0f

01:从站地址 Type:Byte

02:功能码; Type:Byte

00 00 :读取从站的起始地址;Type:Word (主站访问实际起始地址=报文地址+1)

00 0a : 读取总共的输入个数,10个;Type:Word

28 0f: CRC校验;Type:Word

从站返回报文: 01 02 02 00 00 b9 b8

01:从站地址 Type:Byte

02:功能码 Type:Byte

02:返回字节个数(每读8个BIT线圈为一个字节BYTE) Type:Byte

00 00 :返回线圈状态,读取10个线圈状态,用两个字节存储(00000000,00000000) Type:Byte

b9 b8:发送CRC校验码 Type:Word

如下图

modbus rtu协议详解(快速了解modbus rtu)

功能码:03 读取保持型寄存器

读取 从站为1 起始地址为10 数量为10

主站发送报文: 01 03 00 09 00 0a 15 cf

01:从站地址 Type:Byte

03:功能码; Type:Byte

00 09 :读取从站的起始地址;Type:Word (主站访问实际起始地址=报文地址+1)

00 0a : 读取总共的输入个数,10个;Type:Word

15 cf: CRC校验;Type:Word

从站返回报文: 01 03 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a3 67

01:从站地址 Type:Byte

03:功能码 Type:Byte

14:返回字节个数(每读1个寄存器为二个字节BYTE) Type:Byte

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 一个寄存器用两个字节存储,读取10个寄存器 为20个字节 Type:Byte

b9 b8:发送CRC校验码 Type:Word

如下图:

modbus rtu协议详解(快速了解modbus rtu)

功能码:04 读取输入寄存器

读取 从站为1 起始地址为10 数量为10

主站发送报文: 01 04 00 09 00 0a a0 0f

01:从站地址 Type:Byte

04:功能码; Type:Byte

00 09 :读取从站的起始地址;Type:Word (主站访问实际起始地址=报文地址+1)

00 0a : 读取总共的输入个数,10个;Type:Word

a0 0f: CRC校验;Type:Word

从站返回报文: 01 04 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 95 81

01:从站地址 Type:Byte

04:功能码 Type:Byte

14:返回字节个数(每读1个寄存器为二个字节BYTE) Type:Byte

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 一个寄存器用两个字节存储,读取10个寄存器 为20个字节 Type:Byte

发送CRC校验码:95 81Type:Word

如下图:

modbus rtu协议详解(快速了解modbus rtu)

功能码:15 写多个线圈寄存器

读取 从站为1 起始地址为0 数量为10

主站发送报文: 01 0f 00 00 00 0a 02 1e 00 ec 98

01:从站地址 Type:Byte

0f:功能码; Type:Byte

00 00 :读取从站的起始地址;Type:Word (主站访问实际起始地址=报文地址+1)

00 0a : 写入总共的线圈个数,10个;Type:Word

02:总字节数(8个线圈占用一个字节,多余的再占用一个)Type:Byte

1e 00 :写入数据的值(01111000 00000000)Type:Byte

ec 98: CRC校验;Type:Word

从站返回报文: 01 0f 14 00 00 00 00 0a d5 cc

01:从站地址 Type:Byte

0f:功能码 Type:Byte

00 00:返回起始地址 Type:Word

00 0a :返回读取寄存器个数 Type:Word

d5 cc : 发送CRC校验码 Type:Word

如下图

modbus rtu协议详解(快速了解modbus rtu)

功能码:16 写多个保持型寄存器

读取 从站为1 起始地址为0 数量为4

主站发送报文: 01 10 00 00 00 04 08 01 00 01 01 00 01 00 00 1a 67

01:从站地址 Type:Byte

10:功能码; Type:Byte

00 00 :读取从站的起始地址;Type:Word (主站访问实际起始地址=报文地址+1)

00 04 : 写入总共的寄存器数,4个;Type:Word

08:总字节数(1个保持型占用二个字节,) Type:Byte

01 00 01 01 00 01 00 00 :写入数据的值 Type:Byte

1a 67: CRC校验;Type:Word

从站返回报文: 01 10 00 00 00 04 c1 ca

01:从站地址 Type:Byte

10:功能码 Type:Byte

00 00:返回起始地址 Type:Word

00 04 :返回读取寄存器个数 Type:Word

c1 ca 发送CRC校验码 Type:Word

如下图

modbus rtu协议详解(快速了解modbus rtu)

功能码:05 单个线圈

读取 从站为1 起始地址为0

主站发送报文: 01 05 00 00 00 00 cd ca

01:从站地址 Type:Byte

05:功能码; Type:Byte

00 00 :写入从站的起始地址;Type:Word (主站访问实际起始地址=报文地址+1)

00 00 : 写入的数据值,高位 低位;

cd ca: CRC校验;Type:Word

从站返回报文: 01 05 00 00 00 00 cd ca

01:从站地址 Type:Byte

05:功能码 Type:Byte

00 00 :返回写入从站的起始地址;Type:Word (主站访问实际起始地址=报文地址+1)

00 00 : 返回写入的数据值,高位 低位;

cd ca: CRC校验;Type:Word

如下图

modbus rtu协议详解(快速了解modbus rtu)

功能码:06 单个寄存器

读取 从站为1 起始地址为0

主站发送报文: 01 06 00 01 00 00 d8 0a

01:从站地址 Type:Byte

06:功能码; Type:Byte

00 00 :写入从站的起始地址;Type:Word (主站访问实际起始地址=报文地址+1)

00 00 : 写入的数据值,高位 低位;

cd ca: CRC校验;Type:Word

从站返回报文: 01 06 00 01 00 00 d8 0a

01:从站地址 Type:Byte

06:功能码 Type:Byte

00 00 :返回写入从站的起始地址;Type:Word (主站访问实际起始地址=报文地址+1)

00 00 : 返回写入的数据值,高位 低位;

cd ca: CRC校验;Type:Word

如下图

modbus rtu协议详解(快速了解modbus rtu)

推荐资讯
rtu系统组成( rtu远程终端控制系统)

rtu系统组成( rtu远程终端控制系统)

RTU系统组成 RTU(Remote Terminal Unit)即远程终端单元,是SCADA系统的重要组成部分,用于采集现场数据和执行远程控制指令。本文将详细介绍RTU的系统……
2024-01-22
水资源监测数据传输规约解读(如何申请水资源监测数据传输规约)

水资源监测数据传输规约解读(如何申请水资源监测数据传输规约)

水资源监测数据传输规约的制定实施,是水行业实现标准化、信息化建设的重要举措。这项规约详细规定了水监测设备的接口技术要求、数据传输格式、通信……
2024-01-10
超声波多普勒流量计数据传输方式

超声波多普勒流量计数据传输方式

超声波多普勒流量计在测量过程中会产生大量原始数据,这些数据需要通过特定的传输方式发送到中央处理设备中,进行流量参数的计算和结果显示。数据……
2024-01-31
rtu遥测终端简介(智能rtu数据采集终端的工艺原理)

rtu遥测终端简介(智能rtu数据采集终端的工艺原理)

RTU遥测终端机是一种用于采集、处理、储存、传输和控制数据的电子设备,通常用于监测和控制分布式自动化系统。下面是了解RTU遥测终端机的一些方……
2023-12-22
灌区信息化我们应该怎么理解(灌区水利信息化的含义)

灌区信息化我们应该怎么理解(灌区水利信息化的含义)

随着科技的飞速发展,信息化已经成为当今社会发展的主流趋势。在这个背景下,灌区水利信息化也逐渐成为水利行业发展的重要方向。本文旨在探讨灌区水……
2024-03-20

咨询热线

0592-5967770
关闭

用微信“扫一扫”加好友咨询