Modbus协议详解(工作原理、功能代码、Profibus、Modbus RTU、Modbus ASCII、Modbus TCP、Modbus Plus)

Modbus协议通常被称为工业化网络的祖父。Modbus 协议可根据工业和商业要求轻松配置。由于在多个领域的流行和广泛应用,本文详细概述了 Modbus 通信、其功能代码、实现和应用。
什么是Modbus?

Modbus 是开放标准的 RTU,许多组织和工程师将其实施到他们的设备中,而无需支付任何费用。该协议被认为是最普遍的通信协议,并且通常可以作为链接工程电子设备的一种手段来访问。

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

Modbus 的协议被明确定义为主从协议,这意味着作为主设备的工具将使一个或多个工具作为从设备。这清楚地表明从机不会承接数据,它需要等到它被要求提供信息。主设备将信息写入从设备,然后将信息从寄存器读取到主设备。从寄存器的角度来看,注册地址总是存在的。
Modbus 通信协议如何工作?

由于这种开放标准的远程终端单元 (RTU) 采用主从方法来创建跨各种设备的通信,因此,采用RTU方案的任何类型的应用程序都将拥有一个Modbus主设备和至少一个从设备。这清楚地表明从机不会承接数据,它需要等到它被要求提供信息。
在这里插入图片描述

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

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

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

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

这就是Modbus 通信协议的运作方式。
功能代码

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

下表清楚地总结了Modbus 功能代码。这些代码只存在一个子类别。但是对于一些相应的应用程序,这些可能不会得到应用。
在这里插入图片描述

Profibus 与/s Modbus

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

Modbus具有结构简单、操作流线型、易于上手的协议。尽管协议本身和物理层的定义存在一些差异,但这会在多供应商操作中产生问题。而 Profibus 是最复杂的协议,其构建是为了使整个行业自动化。它在具有调制解调器的多供应商功能中表现出色,并具有彻底的诊断功能。

在智能设备以点对点方式与控制器连接时,或者存在一个远程位置时,Modbus 最适合这种情况。在存在多个点,即多个供应商的情况下,Profibus 是最好的。

协议版本

Modbus 协议的变体是:

Modbus RTU

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

Modbus ASCII

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

Modbus TCP

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

Modbus Plus

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

Modbus 应用

主要应用有:

用于医疗保健领域,用于分析自动温度水平

交通行为分析

在家庭自动化中实施以简化数据传输

天然气、石油、地热、海德尔、风能和太阳能等行业

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值