modbus协议举例(03功能码)

ops/2024/11/13 9:21:04/

Modbus协议是一种广泛使用的通信协议,通常用于工业自动化和控制系统。以下是Modbus协议的一个简单示例,展示如何通过Modbus RTU进行数据读取。

示例场景

假设我们有一个Modbus从设备,其地址为1,支持读取保持寄存器。我们希望读取寄存器地址为100的值。

Modbus RTU 数据帧格式

一个Modbus RTU数据帧通常包含以下部分:

  1. 从设备地址:1字节
  2. 功能码:1字节
  3. 起始寄存器地址:2字节
  4. 寄存器数量:2字节
  5. CRC校验:2字节

示例数据帧

假设我们要读取寄存器100的值,数据帧如下:

  • 从设备地址01 (设备地址1)
  • 功能码03 (读取保持寄存器)
  • 起始寄存器地址00 64 (寄存器地址100)
  • 寄存器数量00 01 (读取1个寄存器)
  • CRC校验C5 D9 (假设计算出的CRC值)

完整数据帧

将上述部分组合,完整的数据帧为:

 

复制代码

01 03 00 64 00 01 C5 D9

从设备响应

从设备接收到请求后,会返回一个响应数据帧,格式如下:

  1. 从设备地址:1字节
  2. 功能码:1字节
  3. 字节数:1字节
  4. 数据:N字节(根据请求的寄存器数量)
  5. CRC校验:2字节

假设从设备返回的值为1234(十六进制为04 D2),则响应数据帧如下:

  • 从设备地址01
  • 功能码03
  • 字节数02 (返回2字节数据)
  • 数据04 D2 (寄存器值1234)
  • CRC校验9A 9B (假设计算出的CRC值)

完整响应数据帧

 

复制代码

01 03 02 04 D2 9A 9B

总结

在这个示例中,我们展示了如何通过Modbus RTU协议读取从设备的保持寄存器。通过正确构建请求帧并解析响应帧,可以实现与Modbus设备的通信。


http://www.ppmy.cn/ops/100595.html

相关文章

MVVM分层思想

M:Model数据模型 V:View视图 VM:ViewModel视图模型 Vue也是借鉴了MVVM的思想 在Vue中,M就是data,V指挂载点,而Vue实例本身就是一个VM <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X…

语言基础/单向链表的构建和使用(含Linux中SLIST的解析和使用)

文章目录 概述简单的链表描述链表的术语简单实现一个单链表 Linux之SLIST机理分析结构定义单链表初始化单链表插入元素单链表遍历元素单链表删除元素 Linux之SLIST使用实践纯C中typedef重命名带来的问题预留 概述 本文讲述了数据结构中单链表的基本概念&#xff0c;头指针、头…

从0到1构建视频汇聚生态:EasyCVR视频汇聚平台流媒体协议支持的前瞻性布局

TSINGSEE青犀EasyCVR视频汇聚平台是一款基于云-边-端一体化架构的视频融合AI智能分析平台&#xff0c;广泛应用于工地、仓储、工厂、社区、校园、楼宇等多个领域。平台凭借其强大的数据接入、处理、转码及分发能力&#xff0c;在视频监控领域展现出显著的技术优势和应用前景。本…

python web 框架 Tornado

tornado.web.Application 是 Tornado 框架中的一个核心类&#xff0c;用于管理和配置 Web 应用程序。Tornado 是一个轻量级的异步网络框架&#xff0c;特别适合需要处理大量并发连接的应用程序&#xff0c;如实时 Web 服务、聊天应用或长轮询服务。 tornado.web.Application 的…

js导出方式及引入方式

默认导出 一个文件只能有一个 export default A;常规导出 一个文件可以有N个 export A; export B; export C;实际使用中 不冲突&#xff0c;可以同时使用。 export B; export C; export default A;常规导出单个 //a.js export const A () > {console.log(A) }//b.js im…

七、SPA单页面实现SEO优化之SSR服务器渲染

文章目录 一、前言&#xff1a;二、SSR基本操作步骤 一、前言&#xff1a; 关于SPA和SEO优化、SSR服务器渲染的介绍可以参考这里&#xff1a; 六、什么是SEO优化&#xff08;搜索引擎优化&#xff09;&#xff1f;SPA单页面应用如何实现SEO优化&#xff1f; 通过上一篇文章可…

探索Plotly:如何用柱状图展示复杂数据

Python的开源图形库Plotly &#xff08;二&#xff09; 这一节继续探究一下plotly 库的其他几种图的构建方式。 这节主要展示一些柱状图的基本用法。 1.柱状图 绘图之前我们先导入我们准备的数据&#xff0c;这里我用的是官方提供的示例&#xff0c;关于我们国家每年生产总…

LoRD|基于激活感知的LLMs低秩压缩

LLMs的压缩是降低模型参数量的重要手段。通常对LLMs做压缩的方法有很多&#xff0c;包括量化(Quantization)&#xff0c;稀疏化(Sparsity)&#xff0c;剪枝(Pruning)这些离散的方法&#xff0c;由于它们的不连续性质&#xff0c;压缩后再微调困难是其最大的缺点。 LoRD提出了全…