Modbus协议通常被称为工业化网络的鼻祖。在当前的网络服务和互联网通信协议时代,通信和对通信场景的响应请求实际上是如画的。Modbus协议可根据工业和商业要求轻松配置。由于这种极端的流行性和在多个领域的广泛应用,本文提供了Modbus通信、其功能代码、实现和应用的详细概述。


什么是Modbus?

Modbus是一种开放标准的RTU,许多组织和工程师在其设备中实现它,而不包括任何类型的支付。该协议被认为是最普遍存在的通信协议,并且作为连接工程电子设备的手段通常是可访问的。

详细地说,这是用于通过串行线或以太网连接在电子设备之间进行信息传输的通信协议。在开放的标准条件下,任何人都可以实现它。这可能用于连接电力领域中使用SCADA中的RTU进行控制的系统。

Modbus的协议被定义为主协议和从协议,这意味着作为主协议的工具将使一个或多个工具作为从协议。这清楚地表明,slave不会承担数据,它需要等待,直到被要求提供信息。主设备将向从设备写入信息,然后从从寄存器向主设备读取信息。从从属寄存器的角度来看,将始终存在一个已注册的地址。

Modbus通信协议是如何工作的?

由于这种开放标准的远程终端单元(RTU)采用主设备和从设备的方式来创建各种设备之间的通信,因此,任何采用RTU场景的应用程序都将拥有一个Modbus主设备和至少一个从设备。这清楚地表明,slave不会承担数据,它需要等待,直到被要求提供信息。

ding="async" class="size-medium wp-image-39837" src="https://uploads.9icnet.com/images/aritcle/20230518/Modbus-Communication-1-300x170.png" alt="Modbus Communication" width="300" height="170" sizes="(max-width: 300px) 100vw, 300px">
Modbus通信

通过串行总线或网络启用设备之间的主设备和从设备通信。在OSI方法中,Modbus被置于第七层。这样做的目的是请求协议,然后交付功能代码所提到的相应服务。Modbus RTU协议的这些功能代码是Modbus请求组件。

为了开发Modbus应用数据单元,交付单元应发起设备事务。这是通知服务器进行指定类型的操作的操作。由主设备发起的请求的设计由应用协议确定。然后,功能代码将被编码为8位,即一个字节。只有在1-25范围内的功能代码才被认为是有效的,并且在128-255中被留出用于异常响应。

Architecture
建筑学

当存在从主设备到从设备的请求/消息时,这意味着是功能代码字段通知服务器执行请求的操作。对于某些操作,还会有一些子功能代码。例如,主设备可以读取各种输入/输出的集群的ON和OFF转换。

它还可以读取或写入一组Modbus寄存器的信息。当主设备接收到从设备的响应时,则从设备使用功能代码字段来表示它是非异常响应或异常响应。在有正常响应的情况下,从设备将对第一个功能代码的请求产生谐振。

这就是Modbus通信协议已经发挥作用。

功能代码

Modbus协议识别多个功能代码,以获得寄存器的可访问性。Modbus主要有四种不同的数据块,这里可能会出现寄存器号或地址的重叠。因此,必须在需要地址和需要功能代码的地方定义一个确切的定义。

下表清楚地总结了Modbus功能代码。这些代码中只有一个子类别。但对于一些相应的应用程序,这些可能不会得到应用。

Modbus功能代码 寄存器类型
1. 读取线圈
2. 离散输入的读数
3. 读取保持寄存器
4. 读取输入寄存器
5. 单线圈写入
6. 写入单个保持寄存器
15 多个线圈的写入
16 写入多个保持寄存器

现场总线v/s Modbus

为了将Profibus和Modbus作为单独的应用程序进行比较,两者都有多种优点和应用。

Modbus具有简单的结构、简化的操作和易于接近的协议。尽管协议本身和物理层的定义存在一些差异,但这会在多供应商操作中产生问题。而Profibus是为实现整个行业的自动化而构建的最复杂的协议。它在具有调制解调器的多供应商功能中运行异常,并进行全面诊断。

当智能设备以点对点方式与控制器连接时,或者存在一个远程位置时,Modbus最好能满足这种情况。在存在多个点(即多个供应商)的情况下,Profibus将提供最佳服务。

一个越来越受欢迎的应用程序提供了两个世界中最优秀的。该应用程序利用Modbus在主控制器和数据集中器之间进行数据传输,它有一个远程位置,可以使用Profibus。

协议版本

协议版本在这个设备中既有以太网端口也有串行端口。Modbus协议的变体有:

Modbus远程终端设备

为了建立协议通信,这以二进制格式表示数据,并且主要用于串行通信。此版本中的消息除以空闲时间。RTU版本中遵循的格式是循环冗余检查,以验证机制,从而确保数据可靠性。

Modbus ASCII协议

为了建立协议通信,ASCII字符被使用,并且大多在串行通信中实现。此版本中的消息由冒号(“)和尾部换行符(/)分隔。ASCII版本中遵循的格式是纵向冗余检查,以验证机制。

Modbus TCP协议

此版本的Modbus用于通过端口502连接的TCP/IP网络进行通信。这种变体不需要任何类型的校验和计算,因为较低级别本身提供了这一点。

Modbus TCP Architecture
Modbus TCP体系结构

Modbus Plus协议

这是施耐德电气的专利变体,与其他类型的变体相比,它支持不同主机之间的对等通信。它需要一个承诺的协同处理器来管理快速HDLC,例如令牌变化。它使用1Mbit/s的双绞线,并在每个节点上放置变压器隔离。在Modbus+和计算机(如ISA总线)之间建立连接需要特定类型的硬件。

其他类型的协议版本有:

  • 安然公司
  • Pemux公司
  • UDP上的Modbus

以太网与Modbus

以太网与Modbus之间的差异包括以下内容。

以太网

Modbus协议

以太网用于连接有线LAN(局域网)或WAN(广域网)中的不同设备。因此,它允许设备通过协议进行交互。

 

Modbus是一种通信协议,用于通过以太网或串行线在电子设备之间传输数据。因此,它通常用于过程和工厂自动化。
以太网协议分为基本、快速、千兆、10千兆、以太网供电和异步传输模式。 Modbus协议分为RS-232和RS-485两种类型。
以太网的优点是效率、速度、安全性、高质量的数据传输、低成本、可靠性等。 Modbus的优点是:;安装简单、使用方便、通讯可靠、规格开放等。

 

以太网的缺点是移动性、安装、连接、可扩展性等。 Modbus的缺点是:;它没有任何对象形式,但是只为地址保留了空间。仅限于以太网或/IP、OPC UA、ProfiNet IO,数据速率较低等。

 

Modbus应用程序

主要应用程序有:

  • 用于医疗保健领域,用于分析自动温度水平
  • 交通行为分析
  • 实现家庭自动化,简化数据传输
  • 受雇于天然气、石油、地热、海德尔、风能和太阳能等行业

除此之外,该概念中已知的其他主要概念还有数据可视化、寄存器类型、异常代码、与这些网关设备的通信、这种类型的RTU中的数据编码、数据表示、故障排除、速度和串行通信以及消息传递。本文全面介绍了什么是Modbus,它的工作原理、功能代码、协议版本和应用程序。

与所有这些一起出现的问题是,Modbus的实现是什么?