modbus-tcp-rtu协议图表

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)。

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

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

相关文章

flutter项目从创建到运行,以及一些常用的命令

# 创建项目 命令行 flutter create flutter_app (这种vsCode软件可用) 按下ctrlshiftp, 输入 Flutter: New Project 选择 Application 选择项目存放位置 输入项目名字 点击 enter 完成创建 # 运行项目 1、命令行中运行: cd flutte…

GLES学习笔记---OpenGL绘制到ImageReader

一、ImageReader简介 ImageReader 之前经常使用在camera应用里面,创建一个ImageReader,然后获取surface,配流和下发request时候将surface下发给framework,中间具体对ImageReader做了什么没有具体研究过,等到Hal层came…

MYSQL数据库的备份与恢复-数据库实验七

一、实验目的 1. 了解备份和恢复的基本概念。 2. 掌握使用MySQL命令进行数据库备份的操作方法。 3. 掌握使用MySQL命令进行数据库恢复的操作方法。 二、实验内容 1. 使用mysqldump命令备份数据库studentsdb的所有表,存于D:\下,文件名为all_tables.s…

C#与php自定义数据流传输

C#与php自定义数据流传输 介绍一、客户端与服务器数据传输流程图客户端发送数据给服务器:服务器返回数据给客户端: 二、自定义数据流C#版本数据流PHP版本数据流 三、数据传输测试1.在Unity中创建一个C#脚本NetWorkManager.cs2.服务器www目录创建StreamTe…

Java基础知识:单元测试和调试技巧

在Java编程中,单元测试和调试是提高代码质量和开发效率的重要环节。通过单元测试,我们可以验证代码的正确性,而调试则帮助我们找出并修复代码中的错误。本文将介绍Java中的单元测试和调试技巧,并提供相关示例代码,帮助…

华清远见嵌入式学习——ARM——作业4

作业要求&#xff1a; 代码运行效果图&#xff1a; 代码&#xff1a; do_irq.c: #include "key_it.h" extern void printf(const char *fmt, ...); unsigned int i 0;//延时函数 void delay(int ms) {int i,j;for(i0;i<ms;i){for(j0;j<2000;j);} }void do_i…

基于AR+地图导航的景区智慧导览设计

随着科技的飞速发展&#xff0c;智慧旅游已经成为现代旅游业的一个重要趋势。在这个背景下&#xff0c;景区智慧导览作为智慧旅游的核心组成部分&#xff0c;正逐渐受到越来越多游客的青睐。本文将深入探讨地图导航软件在景区智慧导览中的应用&#xff0c;并分析其为游客和景区…

【JavaWeb学习笔记】18 - 文件上传下载

项目代码 https://github.com/yinhai1114/JavaWeb_LearningCode/tree/main/fileupdown 目录 文件上传 一、基本介绍 二、文件上传的基本原理 ​编辑 三、文件上传应用实例 四、文件上传的注意细节 1.解决中文乱码问题 2.分割文件夹 3.防止重名 4.百度WebUploader 5.空…

redis 从0到1完整学习 (七):ZipList 数据结构

文章目录 1. 引言2. redis 源码下载3. zipList 数据结构3.1 整体3.2 entry 数据结构分析3.3 连锁更新 4. 参考 1. 引言 前情提要&#xff1a; 《redis 从0到1完整学习 &#xff08;一&#xff09;&#xff1a;安装&初识 redis》 《redis 从0到1完整学习 &#xff08;二&am…

常用API:Object

Object Object类的作用&#xff1a; Object类是Java中所有类的祖宗类&#xff0c;因此&#xff0c;Java中所有的对象都可以直接使用Object类中提供的一些方法。 Object类的常见方法 方法名说明public String toString&#xff08;&#xff09;返回对象的字符串表示形式publi…

Vue 3 表单处理精讲:打造响应式注册表单的艺术

&#x1f9d9;‍♂️ 诸位好&#xff0c;吾乃诸葛妙计&#xff0c;编程界之翘楚&#xff0c;代码之大师。算法如流水&#xff0c;逻辑如棋局。 &#x1f4dc; 吾之笔记&#xff0c;内含诸般技术之秘诀。吾欲以此笔记&#xff0c;传授编程之道&#xff0c;助汝解技术难题。 &…

kubernetes -pod 实践

一、资源与对象 1、pod 容器都是由镜像启动的,但在容器外面会包裹通过Pod将容器包裹起来这个是K8s的概念,在这个Pod里面可以有一个或多个容器,那这个Pod的有什么特征呢 Pod里的所有容器都会调度在同一个节点上运行0。Pod中的所有容器会共享同一网络,它们有一个唯一的IP,…

PDF编辑工具--Acrobat Pro DC 2023中文

Acrobat Pro DC 2023是一款功能强大的PDF编辑和管理软件&#xff0c;它可以帮助用户在创建、编辑、转换和共享PDF文档方面达到前所未有的高度。这款软件提供了丰富的编辑功能&#xff0c;使用户能够轻松添加注释、高亮、下划线、插入文本等&#xff0c;自由地编辑PDF文档。除了…

LeetCode 每日一题 Day 23 || 简单数学题

1276. 不浪费原料的汉堡制作方案 圣诞活动预热开始啦&#xff0c;汉堡店推出了全新的汉堡套餐。为了避免浪费原料&#xff0c;请你帮他们制定合适的制作计划。 给你两个整数tomatoSlices和 cheeseSlices&#xff0c;分别表示番茄片和奶酪片的数目。不同汉堡的原料搭配如下&am…

枚举的使用

背景以及定义 枚举是在jdk1.5以后引入的.主要用途是:将常量组织起来,在这之前表示一组常量通常使用定义常量的方式: public static final int RED 1; public static final int GREEN 2; public static final int BLUE 3; 但是常量举例有不好的地方,例如:可能碰巧有一个数字…

Leetcode 2972. Count the Number of Incremovable Subarrays II

Leetcode 2972. Count the Number of Incremovable Subarrays II 1. 解题思路2. 代码实现 题目链接:2972. Count the Number of Incremovable Subarrays II 1. 解题思路 这道题需要注意的是&#xff0c;题目要求只能删除一个连续子串&#xff0c;使得剩余的元素变成一个递增…

【Vue3】Vue3使用video-player实现视频播放

一、video-player 介绍 video-player 是一个基于 video.js 的视频播放器组件&#xff0c;它提供了丰富的功能&#xff0c;包括视频播放、暂停、快进、快退、全屏、音量控制等。 video-player 的使用非常简单&#xff0c;如下安装即可。 npm install video.js videojs-player…

【数值分析】反幂法,matlab实现

反幂法20231226 一种求实矩阵 A {A} A 的按模最小的特征值&#xff0c;及其对应的特征向量 x i {x_i} xi​ 的方法&#xff0c;只能求一个。 要保证矩阵最小特征值只有一个&#xff0c;有 n {n} n 个线性无关的特征向量&#xff0c;矩阵可逆。 可以通过求矩阵 A − 1 {A^{…

【Web API系列】使用getDisplayMedia来实现录屏功能

文章目录 前言一、认识getD该处使用的url网络请求的数据。二、使用步骤1.使用方法一实现录屏2.使用方法二实现录屏3. 运行效果 延伸 前言 Web API经过长期的发展&#xff0c;尤其是最近&#xff0c;发展相当迅猛&#xff0c;现在已经支持很多功能了&#xff0c;一些原生就支持…

[Linux]——彻底学通权限

学习权限 一、权限概念二、权限管理2.1文件访问者分类&#xff08;人&#xff09;2.2文件类型和访问权限&#xff08;事物的属性&#xff09;2.3 文件访问权限的相关设置方法 三、目录的权限3.1、进入目录的权限3.2、粘滞位 四、关于权限的总结 一、权限概念 Linux下有两种用户…