C#中的Modbus协议

news2025/1/21 12:21:42

协议介绍

关于Modbus协议:

Modbus协议是MODICON(莫迪康)(现施耐德品牌)在1979年开发的,是全球第一个真正用于现场的总线协议;Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,可以实现控制器相互之间、控制器经由网络和其实设备之间的通信。

Modbus特点

- 标准开放、公开发表、无版税要求、无许可证费(没有费用)

- 支持多种电气接口(RS232、RS422、RS485、RJ45);各种介质传输(双绞线、网线)

- 格式简单、紧凑、通俗易懂,容易上手(好用)

Modbus总线通信环境

基本通信结构

从机编码

Modbus协议下的数据存储

数据存储中的位、字节、字、双字,C#中的数据显示:数据类型、显示格式

内存分区与功能

存储区对象类型访问类型(针对程序)存储区标识说明
线圈状态单个bit读写0XXXX通过应用程序改变这种类型数据
输入线圈单个bit只读1XXXXI/O系统提供这种类型数据
输入寄存器16-位字只读3XXXXI/O系统提供这种类型数据
保持寄存器16-位字读写4XXXX通过应用程序改变这种类型数据

操作存储区的命令:

功能码:01、02、03、04、05、06、15、16

Modbus功能码补充说明

功能码名称功能
01读线圈状态读位(读N个bit)---读从机线圈寄存器,位操作
02读输入离散量读位(读N个bit)---读离散输入寄存器,位操作
03读多个寄存器读整型、字符型、状态字、浮点型(读N个words)---读保持寄存器,字节操作
04读输入寄存器读整型、状态字、浮点型(读N个words)---读输入寄存器,字节操作
05写单个线圈写位(写一个bit)---写线圈寄存器,位操作
06写单个保持寄存器写整型、字符型、状态字、浮点型(写一个word)---写保持寄存器,字节操作
07读取异常状态取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定,用户逻辑可以将这些线圈定义,以说明从机状态,短报文适宜于迅速读取状态
08回送诊断校验把诊断校验报文送从机,以对通信处理进行评鉴
09编程(只用于484)使主机模拟编程器作用,修改PC从机逻辑
0A控询(只用于484)可使主机与一台正在执行长程序任务从机通信,探询该从机是否已完成其操作任务,仅在含有功能码9的报文发送后,本功能码才发送
0B读取事件计数可使主机发出单询问,并随即判定操作是否成功,尤其是该命令或其他应答产生通信错误时
0C读取通讯事件记录可是主机检索每台从机的ModBus事务处理通信事件记录。如果某项事务处理完成,记录会给出有关错误
0D编程(184/384/484/584)可使主机模拟编程器功能修改PC从机逻辑
0E探询(184/384/484/584)可使主机与正在执行任务的从机通信,定期控询该从机是否已完成其程序操作,仅在含有功能13的报文发送后,本功能码才得发送
0F写多个线圈可以写多个线圈---强置一串连续逻辑线圈的通断
10写多个保持寄存器写多个保持寄存器---把具体的二进制值装入一串连续的保持寄存器
11报告从机标识可使主机判断编址从机的类型及该从机运行指示灯的状态
12(884和MICRO84)可使主机模拟编程功能,修改PC状态逻辑
13重置通信链路发生非可修改错误后,是从机复位于已知状态,可重置顺序字节
14读取通用参数(584L)显示扩展存储文件中的数据信息
15写入通用参数(584L)把通用参数写入扩展存储文件
16~40保留做扩展功能备用
41~48保留以备用户功能所用留作用户功能的扩展编码
49~77非法功能
78~7F保留留作内部作用
80~FF保留用于异常应答

Modbus通信方式与分类

串口 RS485(一主多从):不同的报文格式:ModbusAscii(ASCII字符方式进行发送)、ModbusRTU(RemoteTerminal Unit)

以太网(TCP点对点):ModbusTCP、ModbusUDP 报文格式一样 RTU over TCP 以TCP的方式发送RTU的报文

其他连接方式:设备方支持ModbusRTU

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

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

相关文章

一、报名与安装软件

声明 首先声明这个考试是需要费用的,目前我缴纳的费用是980元 官网 报名与学习官网为:https://cloud.aigccert.com/web/index 选择此处,点击报名后按要求完善个人信息。 完善个人信息后可以开始学习视频,视频内容看起来多其实…

Servlet开发流程 (里面有Idea项目添加Tomcat依赖详细教程)

目标: 校验注册时,用户名是否被占用。通过客户端向一个Servlet发送请求,携带username,如果用户 名是zhangsan,则向客户端响应 NO,如果是其他,响应YES。 1.在idea中创建web工程 1右键点击父工程-New-Module …

【MySQL 01】在 Ubuntu 22.04 环境下安装 MySQL

文章目录 🌈 1. 说明🌈 2. 卸载不必要的环境🌈 3. 安装 MySQL🌈 4. 启动和关闭 MySQL 服务🌈 5. 临时登录 MySQL🌈 6. 设置 MySQL 密码🌈 7. 配置 MySQL 🌈 1. 说明 在安装与卸载中…

此卷不包含可识别的文件系统‘及高效数据恢复策略

在数字信息的海洋中遨游时,我们偶尔会遭遇“此卷不包含可识别的文件系统”这一突如其来的警示,它像是一道无形的屏障,阻挡了我们与宝贵数据之间的直接联系。这一错误提示,往往意味着存储设备的文件系统结构出现了异常,…

嵌入式全栈开发学习笔记---数据结构概述

目录 入门级概念 什么是数据结构? 什么是算法?算法和数据结构有什么联系? 为什么要学习数据结构? 逻辑结构 线性结构(嵌入式领域的重点) 树形结构 图形结构 线性结构(嵌入式领域的重点…

【书生大模型实战营(暑假场)】入门任务二 Git 关卡

入门任务二 Git 关卡 参考: 教程任务 1 闯关任务 1.1 使用 Git 完成破冰介绍 本任务将基于开发机实现,重点在于熟悉Git操作。首先要了解 Git操作的常见四部曲,即:舔 Add,提 Commit,拉 Pull&#xff0c…

架构师知识梳理(一):计算机硬件

目录 计算机硬件组成 CPU CPU的组成 CPU的功能 校验码 奇偶校验 CRC CRC计算案例 指令 指令指行过程 指令系统 指令系统分类 指令流水线技术 流水线技术相关计算公式 存储 计算机存储系统设计 高速缓存Cache 缓存的局部性原理 地址映射 替换算法 关于命中…

2024华数杯数学建模竞赛选题建议+初步分析

提示&#xff1a;DS C君认为的难度&#xff1a;C<A<B&#xff0c;开放度&#xff1a;A<B<C。 综合评价来看 A题适合对机械臂和机器人运动学感兴趣的同学&#xff0c;尤其是有一定编程和优化算法基础的同学。不建议非相关专业同学选择。 B题挑战较大&#xff0…

红黑树的概念及应用

参考文章&#xff1a;红黑树c实现 一.红黑树是什么 红黑树是一种自平衡二叉查找树&#xff0c;是计算机科学领域中的一种数据结构&#xff0c;典型的用途是实现关联数组&#xff0c;存储有序的数据。它可以在O(logn)时间内做查找&#xff0c;插入和删除&#xff0c;这里的n是树…

Docker Remote API 未授权访问漏洞

Docker Remote API 未授权访问漏洞 Docker是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中&#xff0c;然后发布到任何流行的LINUX机器上&#xff0c;也可以实现虚拟化。 Docker swarm 是一个将docker集群变成单一虚拟的docker…

LeetCode刷题笔记 | 643 | 子数组最大平均数 | 双指针 | 滑动窗口 | 数组 | Java | 详细注释 | 三种解法

&#x1f64b;大家好&#xff01;我是毛毛张! &#x1f308;个人首页&#xff1a; 神马都会亿点点的毛毛张 双指针在一定条件下可以转化成滑动窗口&#xff0c;这道题就是个很好的例子 LeetCode链接&#xff1a;643. 子数组最大平均数 I 1.题目描述 给你一个由 n 个元素组成…

SpringMVC 工作流程简述

SpringMVC 工作流程简述 1. 请求接收2. 请求解析3. 查找处理器4. 处理器适配5. 调用处理器6. 处理结果7. 结果传递8. 视图解析9. 视图渲染10. 响应用户 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; #mermaid-svg-xZqkXNPjG0SH5tMA {font-…

经典算法KMP讲解,包含C++解法ACM模式

写在前面&#xff1a;一个人能走的多远不在于他在顺境时能走的多快&#xff0c;而在于他在逆境时多久能找到曾经的自己。——KMP 讲解前置知识模拟next的构建匹配思路匹配字符串构建next数组 模板代码 题目一&#xff1a;KMP字符串题目二&#xff1a;找出字符串中第一个匹配项的…

电脑开机启动项管理小工具,绿色免安装

HiBit Startup Manager 是一款功能强大的启动项管理工具&#xff0c;旨在帮助用户管理和优化计算机的自动启动程序。该软件通过添加或删除应用程序、编辑它们的属性以及管理流程、服务、任务调度程序和上下文菜单来实现这一目标。 HiBit Startup Manager 提供了以下主要功能&a…

Day82 代码随想录打卡|贪心算法篇---K次取反后最大化的数组和

题目&#xff08;leecode T1005&#xff09;&#xff1a; 给你一个整数数组 nums 和一个整数 k &#xff0c;按以下方法修改该数组&#xff1a; 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后…

【C++】第一讲:入门概论

个人主页&#xff1a; 深情秋刀鱼-CSDN博客 C专栏&#xff1a;C程序设计 一、C发展历史 C的起源可以追溯到1979年&#xff0c;当时Bjarne Stroustrup(本贾尼斯特劳斯特卢普&#xff0c;这个翻译的名字不 同的地⽅可能有差异)在⻉尔实验室从事计算机科学和软件⼯程的研究⼯作。…

Linux中NFS配置

文章目录 一、NFS介绍1.1、NFS的工作流程1.2、NFS主要涉及的软件包1.3、NFS的主要配置文件 二、安装NFS2.1、更新yum2.2、安装NFS服务2.3、配置NFS服务器2.4、启动NFS服务2.5、配置防火墙&#xff08;如果启用了防火墙&#xff0c;需要允许NFS相关的端口通过&#xff09;2.6、生…

最新版Sonible Plugins Bundle v2024 winmac,简单智能,持续更新长期有效

一。Sonible Plugins Bundle v2024 win&mac Sonible Plugins Bundle是一款以创作者为中心的智能音频插件系列。这些工具的特点是易于使用&#xff0c;搭配高级处理和优质音质。pure:bundle的所有插件都由sonible的智能插件系列中使用的技术驱动&#xff0c;但在设计时考虑到…

论文解读(13)-StreetCLIP

原文&#xff1a; LEARNING GENERALIZED ZERO-SHOT LEARNERS FOR OPEN-DOMAIN IMAGE GEOLOCALIZATION StreetCLIP Preprint (arxiv.org) 摘要 本文的任务是Image geolocalization&#xff08;图像地理定位&#xff09; predicting the geographic coordinated of origin for …

【Material-UI】异步请求与Autocomplete的高效集成指南

文章目录 一、异步请求的两种用法1. 延迟加载&#xff08;Load on open&#xff09;实现方法 2. 动态搜索&#xff08;Search as you type&#xff09;实现方法 二、性能优化与注意事项1. 请求节流与去抖2. 禁用内置过滤3. 错误处理 三、实际应用案例&#xff1a;Google Maps P…