没有合适的资源?快使用搜索试试~ 我知道了~
首页MODBUS协议详解:应用层与传输指南
MODBUS协议详解:应用层与传输指南
需积分: 50 20 下载量 17 浏览量
更新于2024-07-16
收藏 1.85MB PDF 举报
Modbus协议中文版是一份详细的文档,概述了Modbus作为应用层协议在工业自动化领域的广泛应用。该协议起源于1979年,最初是为工业串行链路设计的,后来扩展到支持TCP/IP网络。Modbus遵循OSI模型的第7层,作为客户端/服务器通信机制,使得大量自动化设备能够进行无缝的信息交换。 文档内容分为三个主要部分: 1. Modbus协议规范:这部分是核心部分,它详细阐述了Modbus事务处理的基础原理,包括功能码的定义和使用,这些功能码用于指示请求的操作类型,如读取输入寄存器、写入单个保持寄存器等。 2. MODBUS报文传输在串行链路上的实现指南:针对实际的串行通信链路,如TIA/EIA-232-F和485-A,提供了开发串行Modbus应用所需的指导,包括数据帧结构、波特率设置等技术细节。 3. MODBUS报文传输在TCP/IP上的实现指南:对于网络环境,这份指南涵盖了如何在TCP/IP栈上实现Modbus,如使用保留的系统端口502,以及如何在IP和TCP层上进行适配,使之与以太网协议(如802.3和802.2)兼容。 通过这份标准,开发人员可以了解如何在不同通信媒介上正确构建Modbus应用,无论是传统的串行接口还是现代的TCP/IP网络。此外,标准还明确了Modbus协议在不同层面上的映射,如TCP/IP映射到应用层的细节。 这份中文版的Modbus协议文档是设计、开发和维护自动化系统中必不可少的参考资料,无论是在串行连接还是网络环境中,都为确保通信的可靠性和一致性提供了清晰的指导。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/12304551/bg10.jpg)
GB/T ××××—××××
15
响应
功能码 1 个字节 0x03
字节数 1 个字节 2×N*
寄存器值 N*×2 个字节
*N=寄存器的数量
错误
差错码 1 个字节 0x83
异常码 1 个字节 01 或 02 或 03 或 04
这是一个请求读寄存器 108-110 的实例:
请求 响应
域名 (十六进制) 域名 (十六进制)
03 03
00 06
6B 02
00 2B
功能
高起始地址
低起始地址
高寄存器编号
低寄存器编号
03 00
00
00
功能
字节数
寄存器值 Hi(108)
寄存器值 Lo(108)
寄存器值 Hi(109)
寄存器值 Lo(109)
寄存器值 Hi(110)
寄存器值 Lo(110)
64
将寄存器 108 的内容表示为两个十六进制字节值 02 2B,或十进制 555。将寄存器 109-110 的内
容分别表示为十六进制 00 00 和 00 64,或十进制 0 和 100。
资料整理自互联网,版权归原作者! 欢迎访问 www.XinShiLi.net 新势力单片机、嵌入式
![](https://csdnimg.cn/release/download_crawler_static/12304551/bg11.jpg)
GB/T ××××—××××
16
NO
YES
YES
YES
MB
服务器接收
mb_req_pdu
支持的功能码
0x0001
≤寄存器数量≤0x007D
起始地址==
OK
和
起始地址
+
寄存器数量==
OK
读多个寄存器==
OK
MB
服务器发送
mb_rsp
退出
进入
异常码=
01
异常码=
03
异常码=
02
异常码=
04
MB
服务器发送
mb_exception_rsp
NO
NO
NO
YES
请求处理
图 12:读保持寄存器的状态图
6.4 04(0x04)读输入寄存器
在一个远程设备中,使用该功能码读取 1 至大约 125 的连续输入寄存器。请求 PDU 说明了起始
地址和寄存器数量。从零开始寻址寄存器。因此,寻址输入寄存器 1-16 为 0-15。
将响应报文中的寄存器数据分成每个寄存器为两字节,在每个字节中直接地调整二进制内容。
对于每个寄存器,第一个字节包括高位比特,并且第二个字节包括低位比特。
请求
功能码 1 个字节 0x04
起始地址
2
个字节
0x0000
至
0xFFFF
输入寄存器数量
2
个字节
0x0001
至
0x007D
资料整理自互联网,版权归原作者! 欢迎访问 www.XinShiLi.net 新势力单片机、嵌入式
![](https://csdnimg.cn/release/download_crawler_static/12304551/bg12.jpg)
GB/T ××××—××××
17
响应
功能码 1 个字节 0x04
字节数 1 个字节 2×N*
输入寄存器 N*×2 个字节
*N=输入寄存器的数量
错误
差错码 1 个字节 0x84
异常码 1 个字节 01 或 02 或 03 或 04
这是一个请求读输入寄存器 9 的实例:
请求 响应
域名 (十六进制) 域名 (十六进制)
04 04
00 02
08 00
00 0A
功能
起始地址 Hi
起始地址 Lo
输入寄存器数量 Hi
输入寄存器数量 Lo
01
功能
字节数
输入寄存器 9 Hi
输入寄存器 9 Lo
将输入寄存器 9 的内容表示为两个十六进制字节值 00 0A,或十进制 10。
资料整理自互联网,版权归原作者! 欢迎访问 www.XinShiLi.net 新势力单片机、嵌入式
![](https://csdnimg.cn/release/download_crawler_static/12304551/bg13.jpg)
GB/T ××××—××××
18
NO
YES
YES
YES
MB
服务器接收
mb_req_pdu
支持的功能码
0x0001
≤寄存器的数量≤0x007D
起始地址==
OK
和
起始地址
+
寄存器数量==
OK
读输入寄存器==
OK
MB
服务器发送
mb_rsp
退出
进入
异常码=
01
异常码=
03
异常码=
02
异常码=
04
MB
服务器发送
mb_exception_rsp
NO
NO
NO
YES
请求处理
图 13:读输入寄存器的状态图
6.5 05 (0x05)写单个线圈
在一个远程设备上,使用该功能码写单个输出为 ON 或 OFF。
请求数据域中的常量说明请求的 ON/OFF 状态。十六进制值 FF 00 请求输出为 ON。十六进制值
00 00
请求输出为
OFF
。其它所有值均是非法的,并且对输出不起作用。
请求 PDU 说明了强制的线圈地址。从零开始寻址线圈。因此,寻址线圈 1 为 0。线圈值域的常
量说明请求的 ON/OFF 状态。十六进制值 0XFF00 请求线圈为 ON。十六进制值 0X0000 请求线圈为
OFF。其它所有值均为非法的,并且对线圈不起作用。
正常响应是请求的应答,在写入线圈状态之后返回这个正常响应。
资料整理自互联网,版权归原作者! 欢迎访问 www.XinShiLi.net 新势力单片机、嵌入式
![](https://csdnimg.cn/release/download_crawler_static/12304551/bg14.jpg)
GB/T ××××—××××
19
请求
功能码 1 个字节 0x05
输出地址 2 个字节 0x0000 至 0xFFFF
输出值 2 个字节 0x0000 至 0x00
响应
功能码 1 个字节 0x05
输出地址 2 个字节 0x0000 至 0xFFFF
输出值 2 个字节 0x0000 至 0xFF00
错误
差错码 1 个字节 0x85
异常码 1 个字节 01 或 02 或 03 或 04
这是一个请求写线圈 173 为 ON 的实例:
请求 响应
域名
(十六进制)
域名
(十六进制)
05 05
00 00
AC AC
FF FF
功能
输出地址 Hi
输出地址 Lo
输出值 Hi
输出值
Lo
00
功能
输出地址 Hi
输出地址 Lo
输出值 Hi
输出值
Lo
00
资料整理自互联网,版权归原作者! 欢迎访问 www.XinShiLi.net 新势力单片机、嵌入式
剩余126页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
Vanship
- 粉丝: 2
- 资源: 1
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Vue实现iOS原生Picker组件:详细解析与实现思路
- Arduino蓝牙小车:参数调试与功能控制
- 百度Java面试精华:200页精选资源涵盖核心知识点
- Swift使用CoreData填坑指南:CoreData在Swift 3.0的变化
- 微距离无线充电器创新设计及其实验探索
- MTK Android平台开发全攻略:44步详解流程
- RecyclerView全面解析:替代ListView的新选择
- Android开发:自动适配中英文键盘解决方案
- Android调用WebService接口教程
- Android开发:BitmapUtil图片处理全解析与实例
- Android多线程断点续传实现详解
- PCA算法在人脸识别会议签到系统中的应用
- EventBus 3.0:Android事件总线详解与实战应用
- Android FileUtil:全面解析文件操作实用技巧与实例
- RecyclerView添加头部和尾部实战教程
- Android实现微博滑动固定顶部栏实战与优化
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)