Modbus协议工作原理_数据格式_串行模式
在当前Web服务和互联网通信协议时代,通信和对通信场景的响应请求实际上是非常独特的。其中,Modbus协议可根据工业和商业要求轻松配置。
Modbus协议通常被称为工业化网络的鼻祖,它在多个领域极度流行并且被广泛应用,用于工业自动化领域中不同设备之间的通信。它是开放的、可扩展且易于维护的通讯协议。在本文中,小编简单介绍Modbus通讯协议工作原理、功能代码、串行模式等相关内容。
什么是Modbus?
Modbus是开放标准RTU协议,许多组织和工程师将其实施到他们的设备中而无需支付任何类型的费用。该协议被认为是最普遍的通讯协议,通常可以作为连接工程电子设备的一种方式访问。
具体来说,Modbus是用于电子设备之间通过串行线路或以太网连接进行信息传输的通讯协议。在开放的标准条件下,任何人都可以实施。这可能用于连接电力领域SCADA中使用RTU进行控制的系统。
Modbus协议被明确定义为一个主从协议,这意味着作为主协议的设备将使一个或多个设备成为从协议。这清楚地表明,从设备不会接收数据,它需要等待,直到被要求提供信息。主设备将向从属设备写入信息,然后从从属寄存器向主设备读取信息。从从属寄存器的角度来看,将始终存在注册地址。
Modbus协议工作原理
由于这种开放标准的远程终端单元 (RTU) 采用主从方式来创建跨各种设备的通信,这对应于采用RTU场景的任何类型的应用程序都将拥有一个Modbus主设备和至少一个从设备。
通过串行总线或网络启用跨设备的主从通信。在OSI方法中,Modbus位于第七层。这样做的目的是请求协议,然后传递功能代码提到的相应服务。Modbus RTU协议的这些功能代码就是Modbus请求组件。
为了开发Modbus应用数据单元,交付单元应该发起一个设备事务,这是通知服务器处理指定类型操作的操作,由主设备发起的请求的设计由应用协议决定。然后将功能码编码为8位,即一个字节。只有在1-25范围内的功能代码才被认为是有效的,并且在这128-255中留出用于异常响应。
当有从主机到从机的请求/消息时,这意味着它是功能代码字段,通知服务器执行请求的操作。对于某些操作,还会有一些子功能代码。例如,主设备可以读取一组各种输入/输出的ON和OFF转换。
此外,它还读取或写入一组Modbus寄存器的信息。当主机接收到从机的响应时,从机使用功能代码字段来表示它是正常响应还是异常响应。从设备对第一个功能码的请求在有正常响应时会产生共振。
以上就是Modbus 通信协议的工作原理。
Modbus功能代码
Modbus协议通过识别多个功能码来获取寄存器的可访问性。Modbus主要有四种不同的数据块,这里可能会出现寄存器号或地址重叠的情况。所以正因为如此,必须定义一个确切的定义,哪里需要地址,哪里需要功能代码。
下表清楚地总结了Modbus功能代码,这些代码仅存在一个子类别。但是对于一些相应的应用程序,这些可能不会得到应用。
功能代码 | 注册类型 |
1 | 阅读线圈 |
2 | 读取离散输入 |
3 | 读取保持寄存器 |
4 | 读取输入寄存器 |
5 | 单线圈写入 |
6 | 单个保持寄存器的写入 |
15 | 多个线圈的写入 |
16 | 写入多个保持寄存器 |
Profibus与Modbus的区别
将Profibus和Modbus作为单独的应用进行比较,两者各有多种优势和应用。
Modbus具有结构简单、操作流水线化、易于上手的协议。尽管协议本身和物理层的定义存在一些差异,但这会在多供应商操作中产生问题。而Profibus是最复杂的协议,其构建是为了实现整个行业的自动化。它在具有调制解调器的多供应商功能中运行异常,并具有全面的诊断功能。
当智能设备以点对点的方式与控制器连接时,或者存在一个远程位置时,Modbus最适合这种场景。在存在多个点(即多个供应商)的情况下,Profibus发挥最佳作用。
值得一提的是,如今一种越来越受欢迎的应用程序提供了两全其美的优势。此应用程序利用Modbus在主控制器和数据集中器之间进行数据传输,并且它有一个使用Profibus的远程位置。
Modbus协议版本
此设备中的协议版本适用于以太网和串行端口。Modbus 协议的变体包括:
1、Modbus RTU
为了建立协议通信,它以二进制格式表示数据,主要用于串行通信,此版本中的消息按空闲时间划分。RTU版本遵循的格式是循环冗余校验验证机制,保证了数据的可靠性。
2、Modbus ASCII
为了建立协议通信,ASCII字符被利用并且主要在串行通信中实现。此版本中的消息由冒号(“)和尾随换行符 (/) 分隔。ASCII版本中遵循的格式是纵向冗余检查以验证机制。
3、Modbus TCP
此版本的Modbus用于通过端口502链接的TCP/IP网络进行通信。此变体不需要任何类型的校验和计算,因为较低级别本身提供了此功能。
4、Modbus Plus
这是Schneider Electric的专利变体,与其它类型的变体相比,它支持各种主站之间的点对点类型的通信。它需要一个专门的协处理器来管理快速HDLC,例如令牌变化。它使用1 Mbit/s的双绞线,并由放置在每个节点的变压器隔离组成。在Modbus+和计算机之间建立连接需要特定类型的硬件,例如ISA总线。
5、另外,其它种类的协议版本还包括:
- Enron
- Pemux
- Modbus over UDP
以太网与Modbus的区别
以太网(Ethernet)与Modbus之间的区别包括以下内容:
Ethernet | Modbus |
以太网用于连接有线 LAN(局域网)或 WAN(广域网)中的不同设备。因此,它允许设备通过协议相互交互。 | Modbus是一种通信协议,用于通过以太网或串行线路在电子设备之间传输数据。所以它通常用于过程和工厂自动化。 |
以太网协议分为基本、快速、千兆、10G、PoE(以太网供电)和ATM(异步传输模式)等不同类型。 | Modbus协议分为两种类型,即RS-232和RS-485。 |
以太网的优点是效率、速度、安全、高质量的数据传输、成本低、可靠性等。 | Modbus的优点是安装简单、使用简单、通讯可靠、规格开放等。 |
以太网的缺点是移动性、安装、连接、可扩展性等。 | Modbus 的缺点是,它没有任何对象形式,但是空间只为地址保留。仅限于以太网或/IP、OPC UA、ProfiNet IO 并且数据速率较低等。 |
Modbus协议应用
Modbus通信协议在工业化网络领域应用非常的广泛,一些主要的应用包括:
- 在医疗保健领域用于分析自动温度水平。
- 交通行为分析。
- 在家庭自动化中实施以简化数据传输。
- 受雇于天然气、石油、地热、Hydel、风能和太阳能等行业。
总结
Modbus通信协议分为两个层次——应用层和传输层。应用层定义了通信协议的功能码和寄存器映射表。传输层定义了实际的通信方式,包括串行和TCP/IP等模式。
Modbus协议支持多种通信模式,如ASCII、RTU等串行模式以及TCP/IP网络模式。它可以在各种应用场景中使用,例如控制器、传感器、故障诊断系统等。
以上就是关于Modbus通信协议的相关基础内容介绍,除了以上知识内容之外,还需要知道其它主要概念,主要包括数据可视化、寄存器类型、异常代码、与这些网关设备的通信、此类RTU中的数据编码、数据表示、故障排除、速度和串行通信,和消息传递等。