当前位置:网站首页>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)。
边栏推荐
猜你喜欢

Mysql:sql overview and database system introduction | dark horse programmer

云呐|如何利用系统管理固定资产?如何进行固定资产管理?

Sword finger offer II 037 Asteroid collision
![[advanced C language] string and memory function (II)](/img/1a/14ff6a078419e407845d60485be60e.png)
[advanced C language] string and memory function (II)

Serpentine matrix (array simulates direction, D represents turning)

Vulnhub靶机-MoriartyCorp

《性能之巅第2版》阅读笔记(四)--Memory监测

关联性——典型相关分析

Cloud native enthusiast weekly: cool collection of grafana monitoring panels
![Cloner un Graphe non recté [bfs accède à chaque bord et pas seulement aux noeuds]](/img/34/2a1b737b6095293f868ec6aec0ceeb.png)
Cloner un Graphe non recté [bfs accède à chaque bord et pas seulement aux noeuds]
随机推荐
Is there any discount for securities account opening? Is it safe to open an account online?
8软件工程环境
云呐|固定资产系统管理的优势,固定资产管理系统有何特点
Cloner un Graphe non recté [bfs accède à chaque bord et pas seulement aux noeuds]
证券开户有优惠吗究竟网上开户是否安全么?
Preliminary syntax of JS
DataGridView上移 下移行
Rotating colored clover
Mysql Duplicate entry ‘xxx‘ for key ‘xxx‘
Web APIs environment object - dark horse programmer
Cloud native enthusiast weekly: cool collection of grafana monitoring panels
Getting started with qpainter: drawing the chess interface
[advanced C language] file operation (I)
克隆無向圖[bfs訪問每條邊而不止節點]
关联性——典型相关分析
多数元素II[求众数类之摩尔投票法]
股票网上开户及开户流程怎样?还有,在线开户安全么?
Quick pow: how to quickly find power
GET 和 POST请求的本质区别是什么?
Solr basic operations 7