首页 > 其他分享 >Modbus协议详解1:Modbus的简介

Modbus协议详解1:Modbus的简介

时间:2023-08-27 12:31:31浏览次数:35  
标签:EIA 协议 简介 接口 Modbus 详解 链路 设备

Modbus协议详解1:Modbus的简介_链路

Modbus协议是应用非常广泛的一种通信协议规约,也是最早应用在工业现场的协议。

早在1979年出现工业串行链路以来,Modbus的应用就开始普遍起来,它使得各种自动化设备之间的互相通信得到实现,做嵌入式产品开发的朋友应该不会陌生,Modbus的身影是随处可见的。并且在中国Modbus都已经形成了规范的标准,都有相应的国标的文件可以查阅到的。

有兴趣的朋友可以查阅标准文件:

《GBT 19582.1-2008 基于Modbus协议的工业自动化网络规范  第1部分:Modbus应用协议》
《GBT 19582.2-2008 基于Modbus协议的工业自动化网络规范  第2部分:Modbus协议在串行链路上的实现指南》
《GBT 19582.3-2008 基于Modbus协议的工业自动化网络规范  第3部分:Modbus协议在TCP∕IP上的实现指南》

虽然有标准文件的存在,查阅也很方便,但是对初学者和从没接触过Modbus的朋友来说,想要用于开发需要花费不少的时间去研究国标文件,费时间也费脑子。所以我想根据自己在项目开发中使用Modbus协议的经验对该协议进行拆解,有顺序的讲解Modbus的重要内容,帮助大家快速理解Modbus协议,可以做到快速应用于项目中进行协议的开发。

灵魂一问:Modbus是什么?

Modbus本质上是一种应用层上的报文协议,属于OSI模型上的应用层,它可以支持在多种不同类型总线上的设备之间进行通信,当然也一样支持以太网中应用。看下面的图片:

Modbus协议详解1:Modbus的简介_ide_02

Modbus协议在设备端上实现的是一种主/从的通信协议结构,即请求/应答的通信模型。这怎么理解呢?其实就是使用了Modbus协议进行通信的设备中有一个设备要作为主机,其他的都作为从机,通信就是在主机和从机之间进行的。示意图如下:

Modbus协议详解1:Modbus的简介_ide_03

Modbus常见的通信链路

Modbus应用很广泛,几乎可以应用在任何能够进行数据交互的场景中。在设备之间应用Modbus协议时,对使用何种物理链路进行数据流动并没有限制。

比如常用的有线方式:EIA/TIA-232-E、EIA-422、EIA/TIA-485-A、光纤、网线等。以及很多的无线方式等等的。实现的都是串行链路上的异步通信方式,同一时刻允许数据流向某一端的设备,不能同时出现两端流动。Modbus的通信栈如下:

Modbus协议详解1:Modbus的简介_链路_04

Modbus应用中常见的一些专业名词

在应用Modbus的时候经常可以看到一些专业名词以及英文缩写,它们都是有着专业的含义和代表意义的。常见的缩略语如下:

ADU :应用数据单元
HDLC :高级数据链路控制
HMI :人机界面
IETF :因特网工程工作组
I/O :输入/输出设备
IP :互连网协议
MAC :介质访问控制
MB :MODBUS 协议
MBAP :MODBUS 协议
PDU :协议数据单元
PLC :可编程逻辑控制器
TCP :传输控制协议
2W :在 “电气接口” 一章中定义的两线制配置,或其中的一个接口。
4W :在 “电气接口” 一章中定义的四线制配置,或其中的一个接口。
2W+2W :在两线制系统中使用四线制接口的特殊配置。(需要时可参见 Schneider Electric Momentum 文件 870 USE 101 10)。
AUI :连接单元接口 (Attachment Unit Interface)
公共端 :EIA/TIA 标准中的信号公共端 (Common)。在两线制或四线制 RS485 Modbus 网络中,
信号和可选的电源的公共端。 Power Supply 公共端
DCE :一个 Modbus 设备。例如, 实现了 RS232 数据电路设备 (Data-Circuit Equipment) 的
可编程序控制器适配器。也称作数据通信设备(Data Communication Equipment)。
设备 :Modbus 设备
驱动器 :发生器,或发送器
DTE :一个 Modbus 设备。例如, 实现了 RS232 数据终端设备 (Data Terminal Equipment)编程终端或 PC
ITr :干缆侧的物理总线接口 (Interface on Trunk Side)。
IDv :设备侧的物理总线接口 (Interface on Derivation Side)。
LT :线路终端(Line Termination)。
Modbus :设备 实现了 Modbus 串行链路并遵循技术规范的设备。
RS232 :EIA/ TIA -232 标准。
RS485 :EIA/ TIA -485 标准。
RS485 :Modbus 与该技术标准一致的两线制或四线制网络

标签:EIA,协议,简介,接口,Modbus,详解,链路,设备
From: https://blog.51cto.com/wangjunlv/7252701

相关文章

  • linux下vim命令详解
    高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的::qx    开始记录宏,并将结果存入寄存器xq    退出记录模式@x    播放记录在x寄存器中的宏命令稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退......
  • iptables简介
    DESCRIPTION      Iptablesisusedtosetup,maintain,andinspectthetablesofIPv4packetfilterrulesintheLinuxkernel. Severaldifferenttablesmay      bedefined. Eachtablecontainsanumberofbuilt-inchainsandmayalsocont......
  • 最短路三种算法详解
    最短路最短路问题即,给你一张图,让你求出图中两点的最短距离。这篇文章会讲解\(Dijkstra\)、\(Spfa\)、\(Floyd\)三种算法,让您透彻理解最短路!Dijkstra朴素版题目:\(Dijkstra\)通常是用来解决图中一个定点到其余点的最短距离,基本思路是:从中心向外扩展,直到扩展到终点为止。......
  • PROFIBUS主站转MODBUS TCP网关
    1.产品功能YC-DPM-TCP网关在Profibus总线侧实现主站功能,在以太网侧实现ModbusTcp服务器功能。可将ProfibusDP从站接入到ModbusTcp网络;通过增加DP/PA耦合器,也可将ProfibusPA从站接入ModbusTcp网络。YC-DPM-TCP网关最多支持125个Profibus从站的通信,只支持单主站系统,不支持多主站......
  • ChatGPT全称是什么?一文详解chatGPT含义、特点及未来发展
    一、引言近年来,人工智能(AI)技术的迅猛发展为人类生活带来了诸多变革。其中,聊天机器人(Chatbot)作为AI领域的重要应用之一,逐渐融入了我们的日常生活。而在这个领域中,ChatGPT成为了备受瞩目的明星产品。那么,ChatGPT全称是什么?它的含义又是怎样的呢?本文将详细解析ChatGPT的含义、特点以......
  • 垃圾收集器ParNew&CMS与底层三色标记算法详解
    垃圾收集算法分代收集理论当前虚拟机的垃圾收集都采用分代收集算法,这种算法没有什么新的思想,只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。比如在新生代中,每次收集都会有大量对象(近9......
  • 跨境电商需要用到的电商API详解(淘宝京东拼多多1688API)
    随着电子商务的快速发展,跨境电商已经成为越来越多企业的选择。在跨境电商的业务流程中,电商API发挥着至关重要的作用。本文将详细介绍跨境电商需要用到的电商API,包括商品信息、商品类目信息、店铺信息、交易明细信息、商品管理、评价信息、店铺用户信息等。一、商品信息API  获......
  • 每日一库:fsnotify简介
    fsnotify是一个用Go编写的文件系统通知库。它提供了一种观察文件系统变化的机制,例如文件的创建、修改、删除、重命名和权限修改。它使用特定平台的事件通知API,例如Linux上的inotify,macOS上的FSEvents,以及Windows上的ReadDirectoryChangesW。fsnotify具有以下特点:跨平台支持:fs......
  • 【Matlab 教程】-01 简介
    1、背景介绍MatrixLaboratory高级编程语言许多有用的toolboxs和内置functions简单的可视化2、课程目标如何使用Matlab编写程序,通过大量实践、实验解决工程上的问题3、课程计划1.简介2.Matlab基本操作与矩阵输入3.结构化程式与自定函数4.变量与文件存......
  • Linux设备驱动开发详解——学习笔记
    Linux设备驱动概述计算机系统的运转需要软件和硬件共同参与,硬件是底层基础,软件则实现了具体的应用。硬件和软件之间则通过设备驱动来联系。在没有操作系统的情况下,工程师可以根据硬件设备的特点自行定义接口。而在有操作系统的情况下,驱动的架构则由相应的操作系统来定义。驱动存......