Modbus RTU(Remote Terminal Unit)与RS-485协议介绍(主站设备(Master)、从站设备(Slave))

news2024/11/22 8:52:29

文章目录

  • Modbus RTU与RS-485协议介绍
    • 一、引言
    • 二、Modbus RTU 协议介绍
      • 2.1 Modbus RTU 协议简介
      • 2.2 Modbus RTU 协议帧结构
      • 主站设备、从站设备与从站设备地址
      • 2.3 Modbus RTU 协议举例
    • 三、RS-485 协议介绍
      • 3.1 RS-485 协议简介
      • 3.2 RS-485 物理连接方式
      • 3.3 RS-485 与 Modbus RTU 的关系
    • 四、Modbus TCP、Modbus RTU、Modbus ASCII、Modbus PLUS区别
      • Modbus TCP
      • Modbus RTU
      • Modbus ASCII
      • Modbus PLUS

Modbus RTU与RS-485协议介绍

在这里插入图片描述
参考文章:ModBus协议

在这里插入图片描述
参考文章:一篇文章了解 RS485 和 MODBUS 的区别,它们有什么不同?

一、引言

Modbus RTU和RS-485是工业通信中常用的两种协议。Modbus RTU 是一种数据表示协议,而 RS-485 则是物理传输标准。尽管这两者有时被并列讨论,但它们在通信系统中的角色却大不相同。以下内容将详细分析这两种协议,并解释它们如何结合使用。

二、Modbus RTU 协议介绍

2.1 Modbus RTU 协议简介

Modbus RTU(Remote Terminal Unit)协议是Modbus协议的一种,主要应用于工业自动化系统中。它以二进制形式传输数据,并采用CRC校验方式确保数据的正确性1

2.2 Modbus RTU 协议帧结构

Modbus RTU协议的数据帧结构如下2:

[设备地址][功能码][数据][CRC校验]

其中:

  • 设备地址:一个字节,表示从站设备的地址;
  • 功能码:一个字节,定义了主机需要执行的操作类型;
  • 数据:n个字节,该部分的内容和长度取决于功能码;
  • CRC校验:两个字节,用于错误检测。

主站设备、从站设备与从站设备地址

从站设备(Slave设备):在Modbus RTU协议中,通信网络包含一个主站设备(Master)和多个从站设备(Slave)。这种配置被称为主-从模式或者客户端-服务器模式。

从站设备,也称为Slave设备,是一种被动的设备,它不会自行发送数据,只有当接收到主站设备的请求时,才会响应并返回相应的数据3。这些数据可能包括传感器读数、状态信息、诊断信息等。

从站设备的具体实现可以非常多样,包括各类工业控制设备如PLC(Programmable Logic
Controller),智能仪表,驱动器,以及其他任何需要与主站设备通信的设备。

在一个典型的Modbus RTU网络中,可能存在一个主站设备和多个从站设备。主站设备通过广播地址或特定的从站地址,来向所有从站设备或某个特定的从站设备发送指令或请求数据。


从站设备地址:在Modbus RTU协议中,从站设备的地址是用来识别网络中的特定设备的唯一标识符。这个地址被编码在每一个Modbus消息帧的开始部分。
对于RS-485通信系统中的Modbus RTU协议,从站设备的地址范围为0到247。地址0通常被保留作为广播地址,当主站设备需要向所有从站设备发送消息时,会使用此广播地址。而地址1至247则被分配给单个从站设备,以便主站设备能够与指定的从站设备进行通信4
需要注意的是,每个从站设备的地址必须在整个Modbus网络中是唯一的。如果有两个或更多的设备被配置了相同的地址,将会导致通信冲突和数据错误。

2.3 Modbus RTU 协议举例

假设主机需要读取从站设备1的保持寄存器30029和30030,那么对应的Modbus RTU帧如下:

01 03 00 1C 00 02 B8 44

解析:

  • 01:设备地址;
  • 03:功能码(读取保持寄存器);
  • 00 1C:起始寄存器地址(转换为十进制就是28,再加上基地址30001等于30029);
  • 00 02:读取的寄存器数量(2个);
  • B8 44:CRC校验。

三、RS-485 协议介绍

3.1 RS-485 协议简介

RS-485 是一种差分信号传输方式,其主要优点在于具有较高的抗电磁干扰能力和传输距离5

3.2 RS-485 物理连接方式

RS-485 通常采用两线半双工或四线全双工方式进行连接。其中,两线半双工需要通过数据方向引脚(DE/RE)控制数据的收发6

3.3 RS-485 与 Modbus RTU 的关系

RS-485 仅定义了物理层的标准,而 Modbus RTU 定义了如何封装数据并进行通信。因此,Modbus RTU 常常运行在 RS-485 上,通过 RS-485 进行物理通信7

简单来说,你可以将RS-485比作运输公司,负责将包裹(数据)从一个地方运到另一个地方,而Modbus RTU则像是包裹内的商品清单,描述了包裹里有什么东西(数据的结构和含义)。如果没有RS-485,你无法将数据有效地发送出去;如果没有Modbus RTU,即使数据被发送出去,接收方也无法理解数据的含义。因此,这两种协议通常会一起使用,以确保数据能够准确、可靠地从一个设备传输到另一个设备,并且接收设备能够正确理解数据的含义。

四、Modbus TCP、Modbus RTU、Modbus ASCII、Modbus PLUS区别

Modbus协议有多种形式,主要包括Modbus TCP、Modbus RTU以及Modbus ASCII和Modbus PLUS。这些协议在数据编码、传输介质、通信方式等方面存在一些差异。

Modbus TCP

Modbus TCP是基于TCP/IP的Modbus协议,用于以太网通信。它将Modbus消息封装在TCP/IP数据包中进行传输,使得Modbus能在现代网络设备上使用,例如通过Wi-Fi或者以太网8。其优点是可以使用现有的网络设备和架构,并且可以支持更大的设备数量(最多65536个设备)。

Modbus RTU

Modbus RTU(Remote Terminal Unit)是最常见的Modbus实现之一,它以二进制形式编码数据,因此相比于ASCII模式具有更高的通信速度和效率。通常使用RS-232或RS-485作为物理层接口9。它的优点是传输效率高,但缺点是人眼无法直接读取二进制数据。

Modbus ASCII

Modbus ASCII与Modbus RTU类似,都是串行通信协议,但Modbus ASCII采用ASCII字符进行数据编码。相较于RTU,ASCII格式的数据更易于人类阅读和调试,但通信速度较慢10

Modbus PLUS

Modbus PLUS是一种专有的、高速的(1 Mbps)令牌传递网络,使用RS-485进行通信。这种协议特别适合于需要高通信速度和大数据量传输的应用11。但它需要特殊的接口卡和电缆,并且不如Modbus RTU和TCP那么常见。


  1. Modicon, “Modbus Protocol Reference Guide”, June 1996. Link ↩︎

  2. Schneider Electric, “Modbus and ION Technology”, July 2004. Link ↩︎

  3. Modbus Organization, “Modbus Messaging on TCP/IP Implementation Guide V1.0b”, October 2006. Link ↩︎

  4. Simply Modbus, “About Modbus RTU”, 2021. Link ↩︎

  5. Maxim Integrated, “Understanding RS-485: 7 Essential Facts About RS‑485 Data Communication”, November 2018. Link ↩︎

  6. Texas Instruments, “Guide to RS-485 data transmission”, December 2011. Link ↩︎

  7. Real Time Automation, “The ABCs of Modbus RTU”, February 2018. Link ↩︎

  8. Modbus Organization, “Modbus Messaging on TCP/IP Implementation Guide V1.0b”, October 2006. Link ↩︎

  9. Schneider Electric, “Modbus and ION Technology”, July 2004. Link ↩︎

  10. Simply Modbus, “About Modbus ASCII”, 2021. Link ↩︎

  11. Schneider Electric, “Modbus Plus Network Planning and Installation Guide”, 2015. Link ↩︎

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

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

相关文章

代码片段的理解

1.后面的error直接走的是失败的回调 例如:权限不足,可以理解为服务器的一种形式 2.前面走的是成功的回调 但是也可能不对,例如在传过去的参数,在数据库查询不了这个值,传递过来的值不一样,这样它也是走的成功回调。

提升前端开发效率:基于vue的van-radio-group组件封装指南

前言 vant 作为一款流行的 ui 框架,其中,van-radio-group 组件是一个常用的单选框组件,但有时我们需要根据项目需求进行定制化封装。本文将介绍如何基于 vue 框架封装 van-radio-group 组件,让我们一起来探索吧! 封装文…

Python网络编程:构建网络应用与通信

💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 Python是一门强大的编程…

node查询七牛云上的文件信息

const qiniu require(qiniu) const {getQiNiuKey, } require(./tools)//#region 七牛云 const { accessKey, secretKey } getQiNiuKey() const mac new qiniu.auth.digest.Mac(accessKey, secretKey) let config new qiniu.conf.Config() // 空间对应的机房 config.zone …

目标跟踪方向开源数据集资源汇总

Temple Color 128 数据集下载链接:http://suo.nz/2dKEEL 本数据集包含一大组 128 种颜色序列,带有基本事实和挑战因素注释(例如,遮挡) NfS高帧率视频数据集 数据集下载链接:http://suo.nz/34o8df 第一个…

旺店通·企业奇门与金蝶云星空对接集成订单查询连通销售订单新增(旺店通销售-金蝶销售订单-小红书)

旺店通企业奇门与金蝶云星空对接集成订单查询连通销售订单新增(旺店通销售-金蝶销售订单-小红书) 接通系统:旺店通企业奇门 慧策最先以旺店通ERP切入商家核心管理痛点——订单管理,之后围绕电商经营管理中的核心管理诉求,先后布局流量获取、会…

react-route的路由

React-Router是一个基于React的强大路由库,它可以帮助我们在React应用中实现页面之间的跳转和路由管理。本文将详细介绍React-Router的路由功能、常用功能模块、路由传参和路由嵌套,并提供相关代码和解释。 路由功能 React-Router通过管理URL和组件的映…

Vue3 ~

变动 实例 const app new Vue({}) Vue.use() Vue.mixin() Vue.component() Vue.directive()const app Vue.createApp({}) app.use() app.mixin() app.component() app.directive()createApp 代替 new Vue 允许多个根标签 createStore 代替 Vue.use(Vuex) createRouter 代替…

保障网络安全:IP代理识别API的作用与应用

引言 随着互联网的不断发展,网络安全问题已经变得愈发重要。在网络上,恶意用户可以利用IP代理隐藏其真实身份,从而发动各种网络攻击或欺诈行为。为了保障网络安全,IP代理识别API成为了一种不可或缺的工具,本文将深入探…

计算机竞赛 深度学习 opencv python 公式识别(图像识别 机器视觉)

文章目录 0 前言1 课题说明2 效果展示3 具体实现4 关键代码实现5 算法综合效果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习的数学公式识别算法实现 该项目较为新颖,适合作为竞赛课题方向,学…

Apollo配置更新通知

文章目录 启用方式hook编写服务部署本地部署容器化部署构建镜像 使用 ⚡️: 应领导要求想要把 Apollo 配置变更信息更新到企业微信群中,线上出现异常可根据变更时间,快速反应是否是配置变更导致异常 启用方式 🌛: 前提有一个可正常使用的Apo…

微服务保护-Sentinel

初识Sentinel 雪崩问题及解决方案 雪崩问题 微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。 如图,如果服务提供者I发生了故障,当前的应用的部分业务因为依赖于服务I,因此也会被阻塞。此时&a…

深度学习pytorch之tensorboard和transform的使用

这样操作是引入tensorboard,申明一个类,logs是生成日志的文件夹,事件就在这里产生。 writer为申明的实例,这里做的画线操作 第一个是tags是图片的标签,第二个参数是y值,第三个是步长,x值 关闭…

Kotlin simple convert ArrayList CopyOnWriteArrayList MutableList

Kotlin simple convert ArrayList CopyOnWriteArrayList MutableList Kotlin读写分离CopyOnWriteArrayList_zhangphil的博客-CSDN博客Java并发多线程环境中,造成死锁的最简单的场景是:多线程中的一个线程T_A持有锁L1并且申请试图获得锁L2,而多…

TDengine 与煤矿智能 AI 视频管理系统实现兼容性互认

煤矿行业是一个充满危险和复杂性的领域,具备产业规模大、分布地域广、安全性要求高等特点,为了实现智能化预警、预测等目的,煤矿企业纷纷采用现代化的技术来提高安全性、生产效率和管理水平。煤矿智能 AI 视频管理系统可以助力企业更好地进行…

JMeter:断言之响应断言

一、断言的定义 断言用于验证取样器请求或对应的响应数据是否返回了期望的结果。可以是看成验证测试是否预期的方法。 对于接口测试来说,就是测试Request/Response,断言即可以针对Request进行,也可以针对Response进行。但大部分是对Respons…

基于SSM的博客系统开发

文章目录 前言1.技术选型:2.主要功能:3.项目展示:前台页面:后台页面: 总结 前言 提示:人类与强权的斗争,就是记忆与遗忘的斗争。 --米兰昆德拉《笑忘录》 1.技术选型: 开发工具&am…

android 存储新特性

分区存储 本页内容应用访问限制将分区存储与 FUSE 搭配使用 FUSE 和 SDCardFSFUSE 性能微调减轻与 FUSE 相关的性能影响隐私优势远超性能劣势MediaProvider 和 FUSE 更新 分区存储会限制应用访问外部存储空间。在 Android 11 或更高版本中,以 API 30 或更高版本为…

Linux Day16 多线程的一些常见问题

目录 一、多线程fork() 问题一:多线程中某个线程调用 fork(),子进程会有和父进程相同数量的线程吗? 1.1.1 不使用fork前,让线程函数和主程序打印其进程号 结果: 结论: 1.1.2 在主程序中加入fork 结果…

个人博客网站一揽子:Docker搭建图床(Lsky Pro)

Lsky Pro 介绍 Lsky Pro 是一个用于在线上传、管理图片的图床程序,中文名:兰空图床,你可以将它作为自己的云上相册,亦可以当作你的写作贴图库。 兰空图床始于 2017 年 10 月,最早的版本由 ThinkPHP 5 开发&#xff0…