调试备忘录-RS485 MODBUS RTU协议简述

目录--点击可快速直达

目录

  • 写在前面
  • 先简单说下什么是MODBUS?
  • 参考文章

写在前面

最近在做和物联网有关的小项目,有一个传感器通讯用到了RS485 MODBUS RTU协议,所以就写个随笔记录下。

先简单说下什么是MODBUS?

Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。

Modbus具有以下几个特点:

(1)标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。

(2)Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。

(3)Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。

【RTU协议帧数据】

Modbus有两种通信传输方式,一种是ASCII模式,一种是RTU模式。由于ASCII模式的数据字节是7bit数据位,51单片机无法实现,而且应用也相对较少,所以这里我们只用RTU模式。两种模式相似,会用一种另外一种也就会了。一条典型的RTU数据帧如图所示。

图1 发送和接收数据帧格式

下图为常见功能码

图2 常见功能码

然后推荐一个CRC校验网址

CRC校验网址(参数模型选择CRC16-MODBUS)

至此,你就可以用以上的信息完成一个简单的MODBUS RTU协议,如果还需要MODBUS更多的功能,就需要去研读它的协议了!

参考文章

了解下RS485通信和Modbus通信协议

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

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

相关文章

体验 ASP.NET Core 1.1 中预编译 MVC Razor 视图

这是从 ASP.NET Core 1.1 官方发布博文中学到的一招,可以在 dontet publish 时将 Razor 视图编译为 .dll 文件。 需要在 project.json 中添加如下配置: 1)在 "dependencies" 中添加: "Microsoft.AspNetCore.Mvc.Ra…

Java毕设动物管理系统_java毕业设计_springboot框架的现代化动物园管理系统EB

这是一个基于java的毕业设计项目,毕设课题为springboot框架的现代化动物园管理系统EB, 是一个采用b/s结构的javaweb项目, 开发工具eclipsei/eclipse, 项目框架jspspringbootmybatis, 现代化动物园管理系统EB采用mysql进行数据存储, 并基于mybatis进行了orm实体关系映射, 该现代…

关闭(杀死)8080端口

Microsoft Windows [版本 10.0.14393] (c) 2016 Microsoft Corporation。保留所有权利。 C:\windows\system32>netstat -ano | findstr 8080 TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 6148 C:\windows\system32>taskkill /pid 6148 /f 成功: 已终止 PID 为 6148 的进程。…

Mybatis(笔记)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sVjVvSsH-1609421261302)(C:\Users\王东梁\AppData\Roaming\Typora\typora-user-images\image-20201230155751713.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T7e…

Visual Studio Code 玩MS SQL

Connect 2016 有一堆好玩的东西,微软正在努力地转型,从Windows First到Cloud First 。Cloud First的缘故也推动了微软产品的跨平台,你可以看到Microsoft Office / Visual Studio Code / Visual Studio / PowerShell 都陆续登上了Linux/Mac 。…

java 单例 生命周期_单例模式--- 声明周期托管方式

声明周期托管方式,IOCJAVA代码MyManager.javaimport java.util.HashMap;/*** 为了管理对象的产生* 对象的控制权给当前类负责* 生命周期托管实现对象的单例* IOC控制反转*/public class MyManager {// 存储所有被管理的对象private static HashMap beanMap new Has…

Spring配置

Spring配置 别名 alias 设置别名 , 为bean设置别名 , 可以设置多个别名 <!--设置别名&#xff1a;在获取Bean的时候可以使用别名获取--> <alias name"userT" alias"userNew"/>Bean的配置 <!--bean就是java对象,由Spring创建和管理-->…

优化 Vue 项目编译文件大小

转载自 优化 Vue 项目编译文件大小与其说是优化 Vue&#xff0c;不如说主要是在 webpack 打包的配置中做些文章&#xff0c;使得 Vue 编译后的文件尽可能的小。以下介绍自己在项目中进行优化的过程&#xff0c;其中的内容也许并不适合于每个项目&#xff0c;但整体思路是差不多…

mybatis反向生成实体类、dao层以及映射文件

在做项目的时候&#xff0c;我们不得不写底层的一些繁琐代码&#xff0c;比如说实体类、dao层之类的&#xff0c;既浪费时间又费事&#xff0c;最主要的是还没效率&#xff0c;kuangkuangkuang的写半天终于写完了&#xff0c;到运行的时候dao层的代码居然还报错&#xff01;&am…

ASP.NET Core 1.1 简介

ASP.NET Core 1.1 于2016年11月16日发布。这个版本包括许多伟大的新功能以及许多错误修复和一般的增强。这个版本包含了多个新的中间件组件、针对Windows的WebListener服务器、Razor视图编译以及Azure相关的特性。要将现有项目更新到ASP.NET Core 1.1 &#xff0c;您需要执行以…

Mybatis传入参数类型为ListIntergert作为条件进行查询

Mybatis传入参数类型为List作为条件进行查询 higher2017关注 2017.02.07 10:23:16字数 130阅读 5,658 表结构&#xff1a; 表名称为constant 需求&#xff1a; 现在想查询type为2、3的所有数据&#xff08;甚至想查询type为1,2,3,4,5....,100的所有数据&#xff09;并且返回…

lombok进行有参无参构造出现的问题

查看方法 解决方法 运行成功

.NET应用迁移到.NET Core(三)从商业角度看移植过程

2016年12月1日下午微软技术大会Microsoft Ignite China&#xff0c;有幸和大家分享一门课程&#xff0c;课程信息如下&#xff0c;欢迎大家到时来捧场。本文介绍下从商业角度看移植过程。 。 创建项目移植进度表 创建移植进度表时要考虑所有可能的风险&#xff0c;包括技术和商…

Spring(笔记)

简介 Spring概述 简介 Spring : 春天 —>给软件行业带来了春天 2002年&#xff0c;Rod Jahnson首次推出了Spring框架雏形interface21框架。 2004年3月24日&#xff0c;Spring框架以interface21框架为基础&#xff0c;经过重新设计&#xff0c;发布了1.0正式版。 很难想象…

mybatis报错Type interface xxx.Dao is not known to the MapperRegistry

今天在做mybatis的时候&#xff0c;遇到一个错误&#xff0c;大家看看这个错误吧&#xff1a;org.apache.ibatis.binding.BindingException: Type interface cn.mybatis_chop10_1.dao.IEmpDao is not known to the MapperRegistry. 我前找找后找找&#xff0c;就是找不出来&…

Navicat Premium 11 12 闪退

卸载有道词典 重新安装 Navicat Premium 11

java弹弹球实验报告_Java弹球游戏实验报告—chen

Java弹球游戏实验报告—chen 课 程 设 计 报 告 题 目 弹球小游戏 姓 名 方成 学 号 20 专 业 java 指导教师 陈华恩 2013年 12 月 30 目录 一、实验目的2 二、需求分析2 三、实验任务2 1、设计3 2、程序要求&#xff1a;3 3、选作题&#xff1a;3 四、开发工具与平台3 五、设计…

.NET应用迁移到.NET Core(二)风险评估

2016年12月1日下午微软技术大会Microsoft Ignite China&#xff0c;有幸和大家分享一门课程&#xff0c;课程信息如下&#xff0c;欢迎大家到时来捧场。本文介绍下应用迁移的风险评估。 很多移植项目超出预算或未能按时完成&#xff0c;主要是因为没有很好地管理移植过程中可能…

.NET应用迁移到.NET Core(一)

2016年12月1日下午微软技术大会Microsoft Ignite China&#xff0c;有幸和大家分享一门课程&#xff0c;课程信息如下&#xff0c;欢迎大家到时来捧场。本文介绍下应用迁移的一个过程。 把一个运行在某个操作系统和硬件结构上的软件&#xff0c;在另一个操作系统和硬件结构上重…

WIN10的IE错误代码inet_e_resource_not_found解决办法

WIN10的IE错误代码inet_e_resource_not_found解决办法 原创 候鸟307183846 最后发布于2019-08-27 13:31:54 阅读数 2413 收藏 展开 解决方案&#xff1a; 1、在Internet选项里&#xff0c;点《连接》标签&#xff0c;按下《局域网设置》按钮&#xff0c;在对话框里&#…