当前位置:网站首页>modbus-tcp-rtu协议图表
modbus-tcp-rtu协议图表
2022-06-30 00:24:00 【WX_LW】
MODBUS TCP
读寄存器 请求 | 序号 | 意义 | 所占字节 | 字节存放格式 |
1 | 事务处理标识 | 2个字节 | 高字节在前 | |
2 | 协议标识 | 2个字节 | 高字节在前 | |
3 | 长度 | 2个字节 | 高字节在前 | |
4 | 单元标识 | 1个字节 | 0x00-0xff | |
5 | 功能码 | 1个字节 | 0x03 | |
6 | 起始寄存器地址 | 2个字节 | 高字节在前 | |
7 | 寄存器个数 | 2个字节 | 高字节在前 |
读寄存器 回应 | 序号 | 意义 | 所占字节 | 字节存放格式 |
1 | 事务处理标识 | 2个字节 | 高字节在前 | |
2 | 协议标识 | 2个字节 | 高字节在前 | |
3 | 长度 | 2个字节 | 高字节在前 | |
4 | 单元标识 | 1个字节 | 0x00-0xff | |
5 | 功能码 | 1个字节 | 0x03 | |
6 | 数据长度 | 1个字节 | 寄存器个数*2 | |
7 | 数据 | 寄存器个数 *2个字节 | 每个寄存器 高字节在前 |
写单个 寄存器 请求 | 序号 | 意义 | 所占字节 | 字节存放格式 |
1 | 事务处理标识 | 2个字节 | 高字节在前 | |
2 | 协议标识 | 2个字节 | 高字节在前 | |
3 | 长度 | 2个字节 | 高字节在前 | |
4 | 单元标识 | 1个字节 | 0x00-0xff | |
5 | 功能码 | 1个字节 | 0x10 | |
6 | 寄存器地址 | 2个字节 | 高字节在前 | |
7 | 寄存器数值 | 2个字节 | 高字节在前 |
写单个 寄存器 回应 | 序号 | 意义 | 所占字节 | 字节存放格式 |
1 | 事务处理标识 | 2个字节 | 高字节在前 | |
2 | 协议标识 | 2个字节 | 高字节在前 | |
3 | 长度 | 2个字节 | 高字节在前 | |
4 | 单元标识 | 1个字节 | 0x00-0xff | |
5 | 功能码 | 1个字节 | 0x10 | |
6 | 寄存器地址 | 2个字节 | 高字节在前 | |
7 | 寄存器数值 | 2个字节 | 高字节在前 |
写多个 寄存器 请求 | 序号 | 意义 | 所占字节 | 字节存放格式 |
1 | 事务处理标识 | 2个字节 | 高字节在前 | |
2 | 协议标识 | 2个字节 | 高字节在前 | |
3 | 长度 | 2个字节 | 高字节在前 | |
4 | 单元标识 | 1个字节 | 0x00-0xff | |
5 | 功能码 | 1个字节 | 0x10 | |
6 | 起始寄存器地址 | 2个字节 | 高字节在前 | |
7 | 寄存器个数 | 2个字节 | 高字节在前 | |
8 | 数据长度 | 1个字节 | 寄存器个数*2 | |
9 | 数据 | 寄存器个数 *2个字节 | 每个寄存器 高字节在前 |
写多个 寄存器 回应 | 序号 | 意义 | 所占字节 | 字节存放格式 |
1 | 事务处理标识 | 2个字节 | 高字节在前 | |
2 | 协议标识 | 2个字节 | 高字节在前 | |
3 | 长度 | 2个字节 | 高字节在前 | |
4 | 单元标识 | 1个字节 | 0x00-0xff | |
5 | 功能码 | 1个字节 | 0x10 | |
6 | 起始寄存器地址 | 2个字节 | 高字节在前 | |
7 | 寄存器个数 | 2个字节 | 高字节在前 |
错误返回 | 序号 | 意义 | 所占字节 | 字节存放格式 |
1 | 事务处理标识 | 2个字节 | 高字节在前 | |
2 | 协议标识 | 2个字节 | 高字节在前 | |
3 | 长度 | 2个字节 | 高字节在前 | |
4 | 单元标识 | 1个字节 | 0x00-0xff | |
5 | 功能码 | 1个字节 | 请求功能码+0x80 | |
6 | 错误码 | 1个字节 | 其代号见表格 |
错误代码 | 错误代号 | 意义 |
0x01 | 不支持该功能码 | |
0x02 | 越界 | |
0x03 | 寄存器数量超出范围 | |
0x04 | 读写错误 |
MODBUS RTU
读寄存器 请求 | 序号 | 意义 | 所占字节 | 字节存放格式 |
1 | 从设备地址 | 1个字节 | 0x00-0xff | |
2 | 功能码 | 1个字节 | 0x03 | |
3 | 起始寄存器地址 | 2个字节 | 高字节在前 | |
4 | 寄存器个数 | 2个字节 | 高字节在前 | |
5 | CRC校验码 | 2个字节 | 低字节在前 |
读寄存器 回应 | 序号 | 意义 | 所占字节 | 字节存放格式 |
1 | 从设备地址 | 1个字节 | 0x00-0xff | |
2 | 功能码 | 1个字节 | 0x03 | |
3 | 数据长度 | 1个字节 | 寄存器个数*2 | |
4 | 数据 | 寄存器个数 *2个字节 | 每个寄存器 高字节在前 | |
5 | CRC校验码 | 2个字节 | 低字节在前 |
写单个 寄存器 请求 | 序号 | 意义 | 所占字节 | 字节存放格式 |
1 | 从设备地址 | 1个字节 | 0x00-0xff | |
2 | 功能码 | 1个字节 | 0x10 | |
3 | 起始寄存器地址 | 2个字节 | 高字节在前 | |
4 | 寄存器数值 | 2个字节 | 高字节在前 | |
5 | CRC校验码 | 2个字节 | 低字节在前 |
写单个 寄存器 回应 | 序号 | 意义 | 所占字节 | 字节存放格式 |
1 | 从设备地址 | 1个字节 | 0x00-0xff | |
2 | 功能码 | 1个字节 | 0x10 | |
3 | 起始寄存器地址 | 2个字节 | 高字节在前 | |
4 | 寄存器数值 | 2个字节 | 高字节在前 | |
5 | CRC校验码 | 2个字节 | 低字节在前 |
写多个 寄存器 请求 | 序号 | 意义 | 所占字节 | 字节存放格式 |
1 | 从设备地址 | 1个字节 | 0x00-0xff | |
2 | 功能码 | 1个字节 | 0x10 | |
3 | 起始寄存器地址 | 2个字节 | 高字节在前 | |
4 | 寄存器个数 | 2个字节 | 高字节在前 | |
5 | 数据长度 | 1个字节 | 寄存器个数*2 | |
6 | 数据 | 寄存器个数 *2个字节 | 每个寄存器 高字节在前 | |
7 | CRC校验码 | 2个字节 | 低字节在前 |
写多个 寄存器 回应 | 序号 | 意义 | 所占字节 | 字节存放格式 |
1 | 从设备地址 | 1个字节 | 0x00-0xff | |
2 | 功能码 | 1个字节 | 0x10 | |
3 | 起始寄存器地址 | 2个字节 | 高字节在前 | |
4 | 寄存器个数 | 2个字节 | 高字节在前 | |
5 | CRC校验码 | 2个字节 | 低字节在前 |
错误返回 | 序号 | 意义 | 所占字节 | 字节存放格式 |
1 | 从设备地址 | 1个字节 | 0x00-0xff | |
2 | 功能码 | 1个字节 | 请求功能码+0x80 | |
3 | 错误码 | 1个字节 | 其代号见表格 | |
4 | CRC校验码 | 2个字节 | 低字节在前 |
错误代码 | 错误代号 | 意义 |
0x01 | 不支持该功能码 | |
0x02 | 越界 | |
0x03 | 寄存器数量超出范围 | |
0x04 | 读写错误 |
MODBUS RTU 功能码
下面“线圈”,“寄存器”其实分别为“位变量”,“16位变量”。
功能码 | 意义 |
0x01 | 读线圈 |
0x02 | 读离散量输入 |
0x03 | 读保持寄存器 |
0x04 | 读输入寄存器 |
0x05 | 写单个线圈 |
0x06 | 写单个寄存器 |
0x0F | 写多个线圈 |
0x10 | 写多个寄存器 |
Modbus RTU与Modbus TCP读指令对比
MBAP报头文 | 地址码 | 功能 码 | 寄存器 地址 | 寄存器 数量 | CRC校验 | |
RTU | 无 | 01 | 03 | 01 8E | 00 04 | 25 DE |
TCP | 00 00 00 00 00 06 00 | 无 | 03 | 01 8E | 00 04 | 无 |
指令的涵义:从地址码为01(TCP协议单元标志为00)的模块0x18E(01 8E)寄存器地址开始读(03)四个(00 04)寄存器。
Modbus RTU与Modbus TCP写指令对比
MBAP报头文 | 地址码 | 功能 码 | 寄存器 地址 | 寄存器 数量 | 数据 长度 | 正文 | CRC校验 | |
RTU | 无 | 01 | 10 | 01 8E | 00 01 | 02 | 00 00 | A8 7E |
TCP | 00 00 00 00 00 09 00 | 无 | 10 | 01 8E | 00 01 | 02 | 00 00 | 无 |
指令的涵义:从地址码为01(TCP协议单元标志为00)的模块0x18E(01 8E)寄存器地址开始写(10)一个(00 01)寄存器,具体数据长度为2个字节(02),数据正文内容为00 00(00 00)。
边栏推荐
- What does it mean to open an account online? In addition, is it safe to open an account online now?
- 公司固定资产该哪个部门管理,一般公司固定资产怎么管理
- IO stream summary
- [advanced C language] user defined type
- 证券开户有优惠吗究竟网上开户是否安全么?
- MySQL primary key constraint deletion
- 【服装软件】服装出产办理体系选型的准则有哪些?
- Vulnhub target -moriartycorp
- 传统微服务框架如何无缝过渡到服务网格 ASM
- GET 和 POST请求的本质区别是什么?
猜你喜欢

Cloud native enthusiast weekly: cool collection of grafana monitoring panels
![[advanced C language] string and memory function (I)](/img/fa/5531253940d99f2646cb6964992e7c.png)
[advanced C language] string and memory function (I)

Statistical query of SQL Server database

网工常见面试题分享:Telnet、TTL、路由器与交换机

云呐|固定资产系统管理的优势,固定资产管理系统有何特点

Vulnhub target -moriartycorp

Five key elements of the data center

Events in JS

MySQL高级篇2

Introduction to reptiles: data capture of Betta barrage, with 11 introductory notes attached
随机推荐
剑指 Offer II 035. 最小时间差
【编程题】迷宫问题
[uitableview] Pit 1: tableview:heightforheaderinsection: method does not execute
MySQL advanced 1
Color space conversion in video tonemapping (HDR to SDR) (bt2020 to bt709, YCbCr, YUV and RGB)
HDCP Paring
C MDI open subform to remove automatically generated menu bar
[dynamic programming] - linear DP
[advanced C language] dynamic memory management
Solr basic operations 15
Do mysqlcdc data not support windowing functions like row_ Number, lead
gyctf_2020_document
数据中台的五个关键要素
Solr基础操作12
Sword finger offer II 037 Asteroid collision
What does it mean to open an account online? In addition, is it safe to open an account online now?
Solr基础操作7
学位论文的引用
8 software engineering environment
Solr basic operation 6