通信协议_Modbus协议简介
概念介绍
- Modbus协议:一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。
- 通信具象化解释:类似人的交流过程,需要有通信角色(主从,客户端服务器…),通信介质(串口,以太网,无线…),通信协议(modbus,S7,MC…)三个要素。
- 网络协议三要素:语法(数据与控制信息的结构或格式),语义(发出何种控制信息),同步(事件实现顺序,匹配速度等的详细说明)。
modbusRTU协议介绍
语法结构:
- 地址码:用于标识从站设备,范围是0到247,其中0为广播地址,所有从站设备都会接收该地址的数据。
- 功能码:用于指示要执行的操作类型,例如读取寄存器值、写入单个寄存器等。
- 数据:包括寄存器地址、数据值等信息,根据功能码的不同,数据的内容和长度也会不同。
- CRC校验码:用于检测数据在传输过程中是否出现错误。在数据帧的最后添加两个字节CRC校验码,接收方收到数据后,重新计算CRC校验码,并与接收到的CRC校验码进行比较,如果不同,则说明数据在传输过程中出现了错误。
功能码:
- 功能码01:读取线圈状态(Read Coils),用于从远程设备中连续读取1到2000个线圈的状态。
- 功能码02:读取输入状态(Read Inputs),取得一组开关输入的当前状态ON/OFF。
- 功能码03:读取保持寄存器(Read Holding Registers),在一个或多个保持寄存器中取得当前的二进制值。
- 功能码04:读取输入寄存器(Read Input Registers),在一个或多个输入寄存器中取得当前的二进制值。
- 功能码05:强置单线圈(Force Single Coil),强置一个逻辑线圈的通断状态。
- 功能码06:预置单寄存器(Preset Single Register),把具体二进值装入一个保持寄存器。
- 功能码15:强置多线圈(Force Multiple Coils),强置一串连续逻辑线圈的通断。
- 功能码16:预置多寄存器(Preset Multiple Registers),把具体的二进制值装入一串连续的保持寄存器。
例:
读取(03)从站(01)中的窗帘打开程度(从第二个开始读:00 02 读一位 00 01 CRC校验 25 CA):


相关文章:
通信协议_Modbus协议简介
概念介绍 Modbus协议:一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De f…...
LabVIEW优化氢燃料电池
太阳能和风能的发展引入了许多新的能量储存方法。随着科技的发展,能源储存和需求平衡的方法也需要不断创新。智慧城市倡导放弃石化化合物,采用环境友好的发电和储能技术。氢气系统和储存链在绿色能源倡议中起着关键作用。然而,氢气密度低&…...
SpringCloudGateway
作用 统一管理,易于监控安全,限流:在网关层就过滤掉非法信息nginx外部网关,gateway内网nginx可以使用Lua或Kong来增强 概念 id:名称随意uri: 被代理的服务地址。id和uri必填,谓词和过滤器非必填谓词:可以…...
Wireshark 对 https 请求抓包并展示为明文
文章目录 1、目标2、环境准备3、Wireshark 基本使用4、操作步骤4.1、彻底关闭 Chrome 进程4.2、配置 SSLKEYLOGFILE [核心步骤]4.3、把文件路径配置到 Wireshark 指定位置4.4、在浏览器发起请求4.5、抓包配置4.6、过滤4.6.1、过滤域名 http.host contains "baidu.com4.6.2…...
如何在Ubuntu环境下使用加速器配置Docker环境
一、安装并打开加速器 这个要根据每个加速器的情况来安装并打开,一般是会开放一个代理端口,比如1087 二、安装Docker https://docs.docker.com/engine/install/debian/#install-using-the-convenience-script 三、配置Docker使用加速器 3.1 修改配置…...
2.5 C#视觉程序开发实例1----CamManager实现模拟相机采集图片
2.5 C#视觉程序开发实例1----CamManager实现模拟相机采集图片 1 目标效果视频 CamManager 2 CamManager读取本地文件时序 3 BD_Vision_Utility添加代码 3.0 导入链接库 BD_OperatorSets.dllSystem.Windows.Forms.dllOpencvSharp 3.1 导入VisionParam中创建的文件Util_FileO…...
算法简介:什么是算法?——定义、历史与应用详解
引言 在现代计算机科学中,算法是一个核心概念。无论是编程还是数据分析,算法都扮演着至关重要的角色。在这篇博客中,我们将深入探讨算法的定义、历史背景以及它在计算机科学中的地位和实际应用。 什么是算法? 算法是解决特定问题…...
xss攻击
一、xss攻击简介 1、OWASP TOP 10之一,XSS被称为跨站脚本攻击(Cross-site-scripting)2、主要基于java script(JS)完成恶意攻击行为。JS可以非常灵活的操作html、css和浏览器,这使得XSS攻击的“想象”空间特别大。3、XSS通过将精心构造代码(JS)代码注入到网页中,并由…...
Android 性能优化之布局优化
文章目录 Android 性能优化之布局优化绘制原理双缓冲机制布局加载原理检测耗时常规方式AOP方式获取控件加载耗时 布局优化AsyncLayoutInflater方案Compose方案减少布局层级和复杂度避免过度绘制 Android 性能优化之布局优化 绘制原理 CPU:负责执行应用层的measure…...
TCP 握手数据流
这张图详细描述了 TCP 握手过程中,从客户端发送 SYN 包到服务器最终建立连接的整个数据流转过程,包括网卡、内核、进程中的各个环节。下面对每个步骤进行详细解释: 客户端到服务器的初始连接请求 客户端发送 SYN 包: 客户端发起…...
MDA协议
MDA协议通常指消息摘要算法(Message Digest Algorithm),在计算机安全和密码学中被广泛用于数据完整性验证和认证。以下是对MDA协议的详细介绍: 1. 概述 MDA协议是一类哈希函数,用于生成固定长度的消息摘要或哈希值。…...
always块敏感列表的相关报错,
在综合的时候,报错如下 Synthesis synth_1 [Synth 8-91] ambiguous clock in event control ["E:/FPGA/FPGA_project/handwrite_fft/handwrite_fft.srcs/sources_1/new/reg_s2p.v":140] 猜测报错原因(暂时没有时间寻找原因,后续在…...
STM32空闲中断处理串口接受数据
1、检测到空闲线路中断也叫做空闲中断,意思是串口接收完1字节数据后,数据先保持高电平(空闲)的时间超过1字节数据所用的时间,则被判定为空闲中断。 2、HAL库中操作空闲中断的宏是 (1)_HAL_UAR…...
oak相机使用oak官网方式标定
目录 一、depthai ROS驱动 一、depthai ROS驱动 (1)驱动下载地址:2. C 开发快速上手 — DepthAI Docs 0.3.0.0 documentation sudo apt install ./depthai_2.17.1_arm64.deb //运行 Python3 utilities/cam_test.py -mres 400 -cams rgb,m …...
打造高效能“园区企业服务平台”,让企业更好更快发展!
近年来,随着我国经济的快速发展,各地产业园区建设如火如荼,成为区域经济的支柱,如果说园区是区域经济的支柱,企业则是园区的血液,给园区带来生命力,为园区发展提供着动力,各地政府…...
【常见开源库的二次开发】基于openssl的加密与解密——openssl认识与配置(一)
目录: 目录: 一、什么是openssl? 二、所需要具备的开发工具 三、Windows上编译OpenSSL3.0 四、Linux编译openssl3.0 一、什么是openssl? OpenSSL 是一个开源的软件库,它提供了一系列加密工具和协议,主要用…...
前端时间格式传入后端负载里面没有东西
我是因为没有将时间值格式化,所有负载没有东西 <el-col :md"6"><el-form-item label"创建时间" prop"createTime"><el-date-picker v-model"queryParams.createTime" type"date" change"ha…...
BUCK电源芯片,电气参数,极限参数,工作特性,引脚功能
概述 在应用DC-DC开关电源芯片时,通常需要关注以下参数,同步与非同步,输入电压,输入电流,输出电压,输出电流,输入输出电容的选择;mosfet选型,电感选型,功耗&a…...
学习小记-使用Redis的令牌桶算法实现分布式限流
在介绍令牌桶算法前先介绍一下漏桶算法(Leaky Bucket) 漏桶算法(Leaky Bucket) 漏桶算法是一种固定容量的容器模型,它通过控制数据流入和流出的速度来限制数据的传输速率。漏桶算法的主要特点包括: 固定…...
electron + express 实现 vue 项目客户端部署
写在前面 作为一个前端程序员,如何实现从前端到客户端的跨越,可能是一个很难实现的事。但客户需求千奇百怪,偶尔遇到一个非要客户端的,如何应对? 那Electron可能真是你福音。具体它有哪些功能,可自行官网…...
混合AI路由器架构:实现高效智能任务分发
1. 混合AI路由器架构解析 在当今AI技术快速发展的背景下,超级代理系统正逐渐从理论走向实践。这类系统面临的核心挑战是如何在保证响应质量的同时,实现高效、低成本的规模化部署。混合AI路由器架构通过分层决策机制,巧妙地解决了这一难题。 …...
【Python自动化】PyAutoGUI构建游戏稳定性测试守护脚本
1. PyAutoGUI在游戏测试中的核心价值 游戏稳定性测试往往需要长时间运行,人工值守既低效又容易遗漏异常。PyAutoGUI作为Python的GUI自动化利器,能完美模拟鼠标键盘操作,配合进程监控和图像识别,构建724小时无人值守的测试环境。我…...
为什么顶尖教研团队已弃用传统搜索引擎?Perplexity教育搜索的3个颠覆性能力,今天必须掌握
更多请点击: https://intelliparadigm.com 第一章:为什么顶尖教研团队已弃用传统搜索引擎? 当清华大学智能教育实验室在2023年构建AI辅助备课系统时,其技术白皮书明确指出:“Google Scholar 和通用搜索引擎的召回率在…...
【免费下载】 MySQL Connector/Java 8.0.29 驱动包
MySQL Connector/Java 8.0.29 驱动包 【下载地址】MySQLConnectorJava8.0.29驱动包 本仓库提供了一个用于Java应用程序连接MySQL数据库的JDBC驱动包。具体文件为 mysql-connector-java-8.0.29.jar,适用于MySQL数据库版本8.0.29。 项目地址: https://gitcode.com/o…...
如何快速掌握大众点评爬虫:解决动态字体加密的终极实战指南
如何快速掌握大众点评爬虫:解决动态字体加密的终极实战指南 【免费下载链接】dianping_spider 大众点评爬虫(全站可爬,解决动态字体加密,非OCR)。持续更新 项目地址: https://gitcode.com/gh_mirrors/di/dianping_sp…...
Inter字体终极指南:如何为现代数字界面选择最佳开源字体方案?
Inter字体终极指南:如何为现代数字界面选择最佳开源字体方案? 【免费下载链接】inter The Inter font family 项目地址: https://gitcode.com/gh_mirrors/in/inter Inter字体是一款专为数字屏幕精心设计的开源无衬线字体系统,通过科学…...
❌别再硬拆QA了!谷歌SEO最大的坑你还在踩
2026年5月7日,谷歌在官方开发者文档悄然更新了一则重磅公告:FAQ 富摘要(FAQ Rich Results)正式全面下线,即日起不再搜索结果中展示。这不是临时调整,而是持续三年收紧后的终极收尾 —— 从 2023 年仅对政府、医疗站开放,到 2026 年 3 月大幅缩减展示量,再到如今彻底关闭…...
Helix QAC 2023.1更新:编码标准覆盖率如何提升C/C++项目合规性
1. 项目概述:一次聚焦于“合规性”的精准升级最近在梳理团队今年的代码质量工具链时,Helix QAC 2023.1的更新通知引起了我的注意。作为一名常年与C/C代码质量、功能安全标准(如MISRA、AUTOSAR C14)打交道的开发者,我对…...
HiC-Pro跑完数据后,你的结果文件都看懂了吗?从out文件夹到可视化图谱的完整解读指南
HiC-Pro结果文件全解析:从原始数据到发表级图谱的实战指南 当HiC-Pro顺利完成运行后,面对out文件夹中密密麻麻的文件,很多研究者会陷入"数据沼泽"——明明流程跑通了,却不知道如何从这些中间文件中提取有价值的信息。本…...
专业级LaTeX排版:深度解析中国科学技术大学学位论文模板括号使用的最佳实践
专业级LaTeX排版:深度解析中国科学技术大学学位论文模板括号使用的最佳实践 【免费下载链接】ustcthesis LaTeX template for USTC thesis 项目地址: https://gitcode.com/gh_mirrors/us/ustcthesis 在学术论文写作中,细节决定专业水准。中国科学…...
