当前位置: 首页 > news >正文

通信协议_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 是一个开源的软件库,它提供了一系列加密工具和协议,主要用…...

前端时间格式传入后端负载里面没有东西

我是因为没有将时间值格式化&#xff0c;所有负载没有东西 <el-col :md"6"><el-form-item label"创建时间" prop"createTime"><el-date-picker v-model"queryParams.createTime" type"date" change"ha…...

BUCK电源芯片,电气参数,极限参数,工作特性,引脚功能

概述 在应用DC-DC开关电源芯片时&#xff0c;通常需要关注以下参数&#xff0c;同步与非同步&#xff0c;输入电压&#xff0c;输入电流&#xff0c;输出电压&#xff0c;输出电流&#xff0c;输入输出电容的选择&#xff1b;mosfet选型&#xff0c;电感选型&#xff0c;功耗&a…...

学习小记-使用Redis的令牌桶算法实现分布式限流

在介绍令牌桶算法前先介绍一下漏桶算法&#xff08;Leaky Bucket&#xff09; 漏桶算法&#xff08;Leaky Bucket&#xff09; 漏桶算法是一种固定容量的容器模型&#xff0c;它通过控制数据流入和流出的速度来限制数据的传输速率。漏桶算法的主要特点包括&#xff1a; 固定…...

electron + express 实现 vue 项目客户端部署

写在前面 作为一个前端程序员&#xff0c;如何实现从前端到客户端的跨越&#xff0c;可能是一个很难实现的事。但客户需求千奇百怪&#xff0c;偶尔遇到一个非要客户端的&#xff0c;如何应对&#xff1f; 那Electron可能真是你福音。具体它有哪些功能&#xff0c;可自行官网…...

霜儿-汉服-造相Z-Turbo应用指南:打造你的江南庭院古风AI摄影师

霜儿-汉服-造相Z-Turbo应用指南&#xff1a;打造你的江南庭院古风AI摄影师 1. 模型介绍与核心功能 1.1 什么是霜儿-汉服-造相Z-Turbo 霜儿-汉服-造相Z-Turbo是一款专注于生成古风汉服人像的AI文生图模型。它基于强大的Z-Image-Turbo基础模型&#xff0c;通过LoRA&#xff08…...

GLM-4-9B-Chat-1M多语言法律文书生成:中英双语合同条款自动起草

GLM-4-9B-Chat-1M多语言法律文书生成&#xff1a;中英双语合同条款自动起草 1. 项目简介与核心价值 法律文书起草是法律工作中的重要环节&#xff0c;但传统方式耗时耗力且容易出错。GLM-4-9B-Chat-1M模型的出现&#xff0c;为法律文书生成带来了全新的解决方案。 这个基于v…...

DeOldify跨框架模型转换:从PyTorch到ONNX及TensorRT加速

DeOldify跨框架模型转换&#xff1a;从PyTorch到ONNX及TensorRT加速 最近在折腾一个挺有意思的项目&#xff0c;想把老照片上色的模型DeOldify部署到生产环境里。原版模型是用PyTorch写的&#xff0c;直接拿来用的话&#xff0c;推理速度总觉得差点意思&#xff0c;尤其是在处…...

Windows系统安装OpenClaw详解:千问3.5-9B模型联调避坑指南

Windows系统安装OpenClaw详解&#xff1a;千问3.5-9B模型联调避坑指南 1. 为什么选择OpenClaw千问3.5-9B组合 去年我在尝试自动化办公流程时&#xff0c;发现市面上的RPA工具要么功能臃肿&#xff0c;要么需要将敏感数据上传到云端。直到遇到OpenClaw这个开源框架&#xff0c…...

Thymeleaf项目部署指南:从开发到生产环境的完整流程

Thymeleaf项目部署指南&#xff1a;从开发到生产环境的完整流程 【免费下载链接】thymeleaf Thymeleaf is a modern server-side Java template engine for both web and standalone environments. 项目地址: https://gitcode.com/gh_mirrors/th/thymeleaf Thymeleaf是一…...

从COX分析到预后模型:如何用R筛选关键基因并画出发表级森林图?

从COX分析到预后模型&#xff1a;如何用R筛选关键基因并画出发表级森林图&#xff1f; 在生物信息学研究中&#xff0c;COX比例风险模型是分析基因与患者生存关系的重要工具。但许多研究者在完成初步分析后常陷入困惑&#xff1a;面对数十个候选基因&#xff0c;如何筛选真正有…...

天华新能冲刺港股:年营收75亿净利降56% 宁德时代是二股东 裴振华夫妻套现26亿

雷递网 雷建平 4月3日苏州天华新能源科技股份有限公司&#xff08;简称&#xff1a;“天华新能”&#xff09;日前递交招股书&#xff0c;准备在港交所上市。天华新能2014年在深交所上市&#xff0c;截至今日午盘&#xff0c;天华新能股价为58.6元&#xff0c;市值为487亿元。一…...

OpenClaw资源优化:Phi-3-mini-128k-instruct模型量化与推理加速实践

OpenClaw资源优化&#xff1a;Phi-3-mini-128k-instruct模型量化与推理加速实践 1. 为什么需要优化Phi-3-mini-128k-instruct的性能 当我第一次在OpenClaw中接入Phi-3-mini-128k-instruct模型时&#xff0c;就遇到了一个典型问题&#xff1a;虽然这个128k超长上下文模型在处理…...

DBSCAN vs K-means:5个真实数据集对比,教你选对聚类算法

DBSCAN与K-means实战对比&#xff1a;5个真实数据集下的算法选择指南 第一次接触聚类分析时&#xff0c;我被一个简单问题困扰&#xff1a;为什么同样的数据用不同算法会得到截然不同的分组结果&#xff1f;记得当时用K-means处理地理坐标数据&#xff0c;结果把绵延的海岸线硬…...

基于深度学习的水下海洋生物识别(YOLOv12/v11/v8/v5模型+数据集)(源码+lw+部署文档+讲解等)

摘要随着全球海洋生态环境的变化&#xff0c;水下海洋生物的监测与识别变得日益重要。基于深度学习的水下生物识别技术&#xff0c;尤其是YOLO&#xff08;You Only Look Once&#xff09;系列目标检测模型&#xff0c;因其高效性和准确性而受到广泛关注。本文提出了一种基于YO…...