Modbus RTU通讯协议详解与实例演示

Modbus通讯协议详解

Modbus RTU通讯协议在数据通讯上采用主从应答的方式进行。只能由主机(PC,HMI等)通过唯一从机地址发起请求,从机(终端设备)根据主机请求进行响应,即半双工通讯。该协议只允许主机发起请求,从机进行被动响应,因此从机不会主动占用通讯线路造成数据冲突。

类似Modbus RTU协议的主从应答协议还有西门子的PPI、电表常用的DL/T645-2007等协议。

一、modbus协议格式

信息传输为异步方式,使用16进制进行通讯,信息帧格式:

地址码

功能码

数据区

CRC校验码

1字节

1字节

N字节

2字节

地址码

地址码是每个通讯信息帧的第一个字节,一般支持1到247,部分设备也支持0地址,用于接收主机的广播数据,每个从机在总线上地址必须唯一,只有与主机发送的地址码相符的从机才能响应返回数据。

功能码

功能码是每个通讯信息帧的第二个字节。主机发送,通过功能码告知从机设备应当执行何种操作。

常见的八种功能码:

功能码

定义

操作

01H

读取线圈

读取一个或多个连续线圈状态

05H

写单个线圈

操作指定位置的线圈状态

0FH

写多个线圈

操作多个连续线圈状态

02H

读取离散量输入

读取一个或多个连续离散输入状态

04H

读取输入寄存器

读取一个或多个连续输入寄存器数据

03H

读保持寄存器

读取一个或多个保持寄存器数据

06H

写单个保持寄存器

把两个十六进制数据写入对应位置

10H

写多个保持寄存器

把4*N个十六进制数据写入N个连续保持寄存器

数据区

数据区随功能码以及数据方向的不同而不同,这些数据可以是“寄存器首地址+读取寄存器数量”、“寄存器地址+操作数据”、“寄存器首地址+操作寄存数量+数据长度+数据”等不同的组合,在“功能码分析”详解不同功能码的数据区。

Modbus CRC校验

Modbus RTU协议常用与工业现场对数据传输的稳定性和正确性有较高的要求,因此通过CRC校验保证数据传输的正确性和完整性。

二、错误反馈

地址与CRC校验错误并不会收到从机的数据反馈,其他错误将向主机返回错误码。数据帧的第二位加上0X80表示请求发生错误(非法功能码、非法数据值等),错误数据帧如下:

地址码

功能码

错误码

CRC校验码

1字节

1字节

1字节

2字节

常见错误码如下:

名称

说明

01H

非法的功能码

不支持该功能码操作寄存器

02H

非法的寄存器地址

访问设备禁止访问的寄存器

03H

非法的数据值

写入不支持的参数值

04H

从机故障

设备工作异常

三、通讯信息传输过程

通讯命令由主机发送从机时,与主机发送的地址码相符的从机接收通讯命令,如果CRC校验无误,则执行相应的操作,然后把执行结果(数据)返回给主机。返回信息中包含地址码、功能码、执行后的数据以及CRC校验码。如果地址不匹配或者CRC校验出错就不返回任何信息。

四、功能码分析

功能码01H:读线圈

例如:主机要读取从机地址为01H,起始线圈地址为00H的1个线圈状态,主机发送:

主机发送

发送数据(HEX)

地址码

01

功能码

01

起始线圈地址

高字节

00

低字节

00

线圈数量

高字节

00

低字节

01

CRC校验

低字节

FD

高字节

CA

如果从机寄存器00H线圈闭合,从机返回:

从机返回

发送数据(HEX)

地址码

01

功能码

01

字节数

01

线圈状态

01

CRC校验码

低字节

90

高字节

48

功能码0FH:写多个线圈

例如:主机要控制从机地址为01H,起始线圈地址为00H的4个线圈状态,主机发送:

主机发送

发送数据(HEX)

地址码

01

功能码

0F

起始线圈地址

高字节

00

低字节

00

线圈数量

高字节

00

低字节

04

写入字节数

01

控制方式

00(全部断开)、0F(全部闭合)

CRC校验

低字节

XX

高字节

XX

功能码0FH操作,从机返回:

从机返回

发送数据(HEX)

地址码

01

功能码

0F

起始线圈地址

高字节

00

低字节

00

线圈数量

高字节

00

低字节

04

CRC校验

低字节

54

高字节

08

功能码02H:读离散输入

例如:主机要读取从机地址为01H,起始离散量地址为00H的4个输入状态,主机发送:

主机发送

发送数据(HEX)

地址码

01

功能码

02

起始离散量地址

高字节

00

低字节

00

读取数量

高字节

00

低字节

04

CRC校验

低字节

79

高字节

C9

如果从机首地址00H开始的4离散输入全部检测到输入,从机返回:

从机返回

发送数据(HEX)

地址码

01

功能码

02

字节数

01

离散输入状态

0F

CRC校验码

低字节

E1

高字节

8C

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

例如:主机要读取从机地址为01H,起始寄存器地址为02H的1个输入寄存器数据,主机发送:

主机发送

发送数据(HEX)

地址码

01

功能码

04

起始寄存器地址

高字节

00

低字节

02

寄存器数量

高字节

00

低字节

01

CRC校验

低字节

90

高字节

0A

如果从机输入寄存器02H的数据为3344H,从机返回:

从机返回

发送数据(HEX)

地址码

01

功能码

04

字节数

02

寄存器05H数据

高字节

33

低字节

44

CRC校验码

低字节

AD

高字节

F3

功能码03H:读保持寄存器

例如:主机要读取从机地址为01H,起始寄存器地址为05H的2个保持寄存器数据,主机发送:

主机发送

发送数据(HEX)

地址码

01

功能码

03

起始寄存器地址

高字节

00

低字节

05

寄存器数量

高字节

00

低字节

02

CRC校验

低字节

D4

高字节

0A

如果从机保持寄存器05H、06H的数据为1122H、3344H,从机返回:

从机返回

发送数据(HEX)

地址码

01

功能码

03

字节数

04

寄存器05H数据

高字节

11

低字节

22

寄存器06H数据

高字节

33

低字节

44

CRC校验码

低字节

4B

高字节

C6


 

功能码06H:写单个保持寄存器

例如:主机写入9988H的数据给从机地址为01H,寄存器地址为0050H的寄存器,主机发送:

主机发送

发送数据(HEX)

地址码

01

功能码

06

寄存器地址

高字节

00

低字节

50

写入值

高字节

99

低字节

88

CRC校验

低字节

E3

高字节

ED

从机返回与主机请求相同;

功能码10H:写多个保持寄存器

例如:主机要把数据0005H、2233H保存到从机地址为01H,起始寄存器地址为0020H的2个寄存器中,主机发送:

主机发送

发送数据(HEX)

地址码

01

功能码

10

起始寄存器地址

高字节

00

低字节

20

寄存器数量

高字节

00

低字节

02

写入字节数

04

0000H

寄存器待写入

高字节

00

低字节

05

0001H

寄存器待写入

高字节

22

低字节

33

CRC校验

低字节

B9

高字节

03

功能码10H操作,从机返回:

从机返回

发送数据(HEX)

地址码

01

功能码

10

起始寄存器地址

高字节

00

低字节

20

寄存器数量

高字节

00

低字节

02

CRC校验

低字节

40

高字节

02

仿真演示:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/342285.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot –如何跳过缓存thyemeleaf模板,js,css等以每次绕过重启服务器

Spring Boot自动配置为ThyemeLeaf注册的默认模板解析器是基于类路径的,这意味着它从编译的资源/ target / classes / **加载模板和其他静态资源。 要加载对资源(HTML,js,CSS等)的更改,我们可以 每次都重新…

「低功耗蓝牙模块」主从一体 蓝牙嗅探-助力智能门锁

一、BLE蓝牙的具体优势: 1、BLE蓝牙模块的待机时间超长 市面上的蓝牙智能锁基本都是使用干电池供电,而BLE低功耗蓝牙模块在广播、传输、待机和睡眠模式下均拥有超低的功耗,比如E104-2G4U04A模块,最大发射功率仅为2.5mW。 2、可以使…

工业以太网的优点有哪些?

以太网支持的传输介质为粗同轴电缆、细同轴电缆、双绞线、光纤等,其最大优点是简单,经济实用,易为人们所掌握,所以深受广大用户欢迎。那么,工业以太网具有哪些优势呢?接下来我们就跟随飞畅科技的小编一起来…

[渝粤教育] 南阳师范学院 英美文学选读 参考 资料

教育 -英美文学选读-章节资料考试资料-南阳师范学院【】 随堂测试 1、【单选题】 is the oldest surviving poem in the English language, and is generally regarded as the national epic of the English people. A、Ecclesiastical History of the English People B、Beowu…

蓝牙模块的5大应用场景

蓝牙模块,作为集成蓝牙无线技术功能的PCBA板,主要用于短距离无线通讯,已经作为物联网无线传输发展的中坚力量。那么蓝牙模块在实际生活中有哪些应用呢?跟亿佰特小编一起来看看吧 一、智慧医疗 当前的健康医疗设备通常是可穿戴产品…

飞畅科技-工业以太网交换机的差异性

通过之前对工业交换机的认知,我们了解到工业以太网交换机采用存储转换的交换方式,同时提高了以太网通信速度,并且内置智能报警设计监控网络运行状况,使得在恶劣危险的工业环境中保证以太网可靠稳定的运行。那么,工业以…

rs485通信OSI模型网络层

网络层处理发生在RS485总线上的设备之间的实际通信。由于RS485接口主要是一种电气规范,因此对话可以到此结束,但由于它支持多点,因此需要在 OSI 模型中解决它。 没有针对网络层寻址的固定规范,但RS485总线必须由主机正确管理以避…

HackTheBox - Medium - Linux - Jupiter

Jupiter Jupiter 是一台中等难度的 Linux 机器,它有一个使用 PostgreSQL 数据库的 Grafana 实例,该数据库在权限上过度扩展,容易受到 SQL 注入的影响,因此容易受到远程代码执行的影响。一旦站稳脚跟,就会注意到一个名…

[渝粤教育] 四川农业大学 管理学原理 参考 资料

教育 -管理学原理-章节资料考试资料-四川农业大学【】 第一章 小测试 1、【单选题】地区经理、项目主管和事业部经理都可以称为( )。 A、基层管理者 B、非管理者 C、中层管理者 D、非管理雇员 参考资料【 】 2、【单选题】( )可被…

工业以太网交换机的冗余功能及发展历程介绍

由于工业环境对工业控制网络可靠性能的超高要求,工业以太网的冗余功能应运而生。从快速生成树冗余(RSTP)、环网冗余(RapidRing)到主干冗余(Trunking),都有各自不同的优势和特点。报警、串口使用、主干&…

常用电源符号含义分享

电源符号,你是否还傻傻分不清楚?常用电源符号附上! 在电路设计中,总会出现各式各样的电源符号,经常会把人弄懵逼,今天小编整理了二十多个比较常用的电源符号分享给大家,快收藏呀。 1.VBB&#…

activemq网络桥接_ActiveMQ –经纪人网络解释–第5部分

activemq网络桥接在前面的第4部分中,我们已经看到了如何使用网络连接器在队列中平衡远程使用者的负载。 在第5部分中,如果主题上同时存在多个远程持久订阅者,我们将看到相同的配置如何工作。 考虑以下配置…。 图1:经纪人网络–…

模拟量、数字量与开关量的区别

我们常说模拟量、数字量、开关量,从字面意思大概也能明白部分意思,但它们到底是什么,有什么特点和区别呢?今天我们就专门来讲一讲,模拟量、数字量以及开关量的概念和区别。 模拟量 模拟量是指变量在一定范围内连续变…

[渝粤教育] 四川工程职业技术学院 焊条电弧焊技术与操作 参考 资料

教育 -焊条电弧焊技术与操作-章节资料考试资料-四川工程职业技术学院【】 第一周单元作业 第一周单元测验 1、【单选题】焊条电弧焊属于 A、熔焊 B、压焊 C、钎焊 D、爆炸焊 参考资料【 】 2、【单选题】焊条电弧焊的保护方式是 A、气体保护 B、熔渣保护 C、真空保护 D、气渣联…

工业以太网交换机的优势以及注意事项介绍

工业交换机的应用十分广泛,具有电信级性能特征,可耐受严苛的工作环境,在行业应用方面,主要应用于:煤矿安全、轨道交通、工厂自动化、水处理系统、城市安防等。接下来杭州飞畅的小编就来为大家详细介绍下工业以太网交换…

重命名Jakarta EE的Java EE规范

现在该更改规范名称了…… 当我们首先将Java EE规范的API和TCK移到Jakarta EE旗帜下的Eclipse Foundation时 ,我们保留了规范的现有名称,并为保存其工件的开源项目采用了占位符名称。 当我们准备从事实际的规范工作(涉及实际的规范文档&…

LoRa Basics无线通信技术和应用案例详解

什么是LoRa Basics技术 LoRa Basics就是Semtech Corporation基于LoRaWAN协议推出软件构建模块。LoRa Basics提取常用的LoRaWAN功能,即所有终端设备、网关或基于LoRaWAN解决方案的开发人员都必须实现的功能,并提供一组与规范兼容的、免费的、可提供支持的…

[渝粤教育] 天水师范学院 地理信息系统原理与方法 参考 资料

教育 -地理信息系统原理与方法-章节资料考试资料-天水师范学院【】 第一讲作业 第一讲测验 1、【单选题】有关信息的论述错误的是()。 A、信息具有传输性 B、信息具有共享性 C、信息具有适用性 D、信息具有主观性 参考资料【 】 2、【单选题】在GIS数据中…

蓝牙模块的分类和对应的属性特点

蓝牙模块的分类,具体的属性特点,蓝牙协议5.0与4.2之间的区别,蓝牙角色 一、蓝牙模块的分类 ESP-WROOM-32 ESP32-WROVER E72-2G4M02S2B E72-2G4M05S1B E104-BT01 E104-BT02 E104-BT10 E73-2G4M04S1A E73-2G4M04S1B E73-2G4M04S1D E73-2G4M0…

工业以太网交换机的作用和工作原理详解

工业以太网交换机是基于以太网传输数据的交换机,以太网采用共享总线型传输媒体方式的局域网。工业以太网交换机的结构是每个端口都直接与主机相连,并且一般都工作在全双工方式。交换机能同时连通许多对端口,使每一对相互通信的主机都能像独占…