什么是Modbus?带您认识 Modbus TCP/IP协议!

>>>>> 免费前往使用

一、什么是 Modbus TCP/IP?

 Modbus TCP/IP 是对成熟的 Modbus 协议的改编,可在 TCP/IP 网络上使用。它提供标准化的 TCP 接口,允许 Modbus 设备通过以太网进行无缝通信,从而实现高效可靠的数据交换。因此,其主要功能是为基于以太网的系统上的 Modbus 通信建立一座桥梁,而以太网系统在当今的互联世界中无处不在。

 Modbus TCP/IP 消息协议继承了原始 Modbus 协议的简单性和鲁棒性(通过保留消息结构、基于寄存器的通信等),增加了 TCP/IP 的可靠性和互操作性。它将传统的 Modbus 数据封装在 TCP/IP 数据包中,使数据能够通过标准网络基础设施进行传输。

 Modbus TCP/IP 使用 TCP(传输控制协议)作为底层传输协议。TCP 通过提供数据分段、确认和重传等功能,确保 Modbus 消息在网络上可靠且有序地传送。

 该协议依赖于 IP 层(互联网层)来进行寻址、路由和数据包传送。它使用 IP 地址来识别网络中的源设备和目标设备。IP 确保 Modbus TCP/IP 消息在连接到以太网的设备之间正确路由。

 TCP/IP 数据包中的 Modbus 消息封装发生在客户端-服务器模型中。该模型将一台设备指定为发起请求的客户端,而其他设备则充当处理这些请求并发送响应的服务器。

 因此,Modbus TCP/IP 提供了一种优雅的解决方案,可促进现代网络基础设施上的 Modbus 通信,从而增强该协议在当今数字化工业环境中的相关性。它的一些亮点功能已被进一步讨论。

二、Modbus TCP/IP 基本原理

 Modbus 协议系列(包括 Modbus TCP/IP)以一些基本概念和原则为中心,这些概念和原则是其运行的基础。这些内容如下:

 客户端/服务器架构:Modbus 消息传递结构是一种命令/响应协议,需要一个请求数据的客户端(也称为 TCP 客户端)和一个处理请求并返回响应的服务器。 基于寄存器的通信:在 Modbus 领域中,数据存储在四个基本数据实体中,即离散输入、线圈、输入寄存器和保持寄存器。这些实体对于 Modbus 系统内数据的组织和解释至关重要。离散输入和线圈处理二进制信息,而输入和保持寄存器处理数字数据。 寻址:Modbus 采用简单的寻址方案来识别正在访问的寄存器。寻址通常使用数值来指定起始寄存器地址以及要读取或写入的寄存器的数量。 基于功能代码的读/写操作:Modbus 中的数据访问由 Modbus 数据帧中的功能代码字段定义。这些功能代码至关重要,因为它们指定要对数据实体执行的操作类型。操作的范围可以从读取和写入到数据操作功能。 面向事务:Modbus 的一个基本原则是其面向事务的性质。Modbus 客户端发出的每个请求都独立于所有其他请求。这种事务属性使 Modbus 能够用于广泛的应用和用例。

三、Modbus TCP/IP 架构

 Modbus TCP/IP 架构代表了一种分层的网络通信方法。该架构包含两个主要组件:TCP/IP 堆栈和 Modbus 应用协议 (MBAP)。Modbus 协议与 TCP/IP 的集成是通过在通常的 Modbus 消息结构之前包含 MBAP 标头来实现的。

 TCP/IP 堆栈构成较低层,包括物理层(以太网)、网络层(IP)和传输层(TCP)。该结构负责数据在网络上的物理和逻辑传输。

 MBAP 位于 TCP/IP 堆栈之上(作为应用层的一部分),负责将 Modbus 消息封装在 TCP/IP 数据包内。该架构允许通过标准网络基础设施无缝通信 Modbus 数据。

 该架构的核心是 Modbus 消息。Modbus TCP/IP 消息包含 Modbus 应用协议标头、指示消息操作的功能代码以及数据字段(数据字段根据功能代码而变化)。这些消息的构造格式使其易于被网络中的设备处理和理解。

 这种分层结构对于实现 Modbus 网络中不同设备之间的无缝互操作性至关重要。它还有助于保持 Modbus 协议的简单性和稳健性,即使它适应现代网络技术的工作。

四、Modbus 应用协议 (MBAP)

 Modbus 应用协议 (MBAP) 是 Modbus TCP/IP 协议的关键组件。它是一种应用层协议,定义 Modbus TCP/IP 网络中设备之间通信的数据编码。MBAP 标头对于通过 TCP/IP 网络成功传送 Modbus 消息起着至关重要的作用。

 MBAP 标头是标准 Modbus 消息前缀的 7 字节结构。该标头包括三个主要字段:


 MBAP 封装的使用使 Modbus TCP/IP 协议能够利用 TCP/IP 强大、可靠的传输机制,同时保持 Modbus 消息传递结构的简单性和直接性。它充当Modbus协议与现代网络技术集成的桥梁。

五、设备和寄存器寻址

 了解设备和寄存器寻址对于使用 Modbus TCP/IP 至关重要,因为它提供了引用网络设备内特定数据点的机制。本节详细介绍了与 Modbus TCP/IP 网络中的设备和寄存器寻址相关的核心概念。

 Modbus TCP/IP 中的设备寻址是在网络的 IP 级别处理的。与 Modbus RTU 或 Modbus ASCII 不同,Modbus RTU 或 Modbus ASCII 中的每个设备都分配有 1-247 范围内的唯一从站 ID,而 Modbus TCP/IP 网络中的设备使用其 IP 地址进行寻址。IP 寻址的使用允许连接和联网大量设备,每个设备都有其唯一的标识符,从而促进复杂和大规模的工业系统。

 同时,Modbus TCP/IP 中的寄存器地址涉及设备内访问数据的方式。在 Modbus 中,数据被组织成四个基本表,每个表与特定类型的数据相关联:


 每个表都有一个唯一的功能代码用于访问其数据,并且表中的每个数据点都有一个唯一的地址,通常在 0-65535 范围内。例如,读取地址 40001 处的保持寄存器的请求将使用功能代码 3(读取保持寄存器)和地址 0 发送(因为 Modbus 寻址是从零开始的,这意味着寄存器从 0 开始编号) ,不是 1)。

 Modbus TCP/IP 的一个独特之处是该协议支持单播和多播请求。单播请求使用设备的唯一 IP 地址定向到单个设备。相反,多播请求使用多播 IP 地址发送到一组设备。此功能允许在处理网络中的多个设备时实现高效、并发的数据访问。

 这样,Modbus TCP/IP 中的设备和寄存器地址就形成了两级层次结构。IP地址标识网络中的特定设备,而功能代码和数据地址标识该设备内的特定数据点。这种结构允许在工业自动化系统中进行精确控制和数据访问。

六、Modbus TCP/IP 的工作原理

 Modbus TCP/IP 遵循简单而强大的数据通信和控制模型。它的设计考虑到可靠性、效率和简单性对于工业自动化和过程控制应用至关重要。Modbus TCP/IP 的框架包含不同的方面,从其固有的客户端-服务器模型到数据传输和查询的特定方法。

七、客户端-服务器通信

 Modbus TCP/IP 的定义方面之一是其客户端-服务器模型。该模型构成了 Modbus TCP/IP 网络中数据通信的支柱。

 在此模型中,客户端向服务器(或多台服务器)发送请求,然后服务器处理该请求并发回响应。客户端通常是人机界面 (HMI)、可编程逻辑控制器 (PLC) 或任何需要数据或设备控制的设备。另一方面,服务器通常是传感器、执行器或其他提供数据或执行操作的设备。

 每个客户端请求都包含 MBAP 标头、功能代码和数据字段。MBAP 标头是 Modbus TCP/IP 所特有的,包含事务标识符和协议标识符等详细信息。功能码表示客户端希望服务器执行的操作。这可能是读取数据、写入数据或诊断服务器。数据字段包含请求的详细信息,例如要读取的注册地址或要写入寄存器的值。

 服务器根据功能代码处理请求。如果请求是读取数据,则服务器从其寄存器中检索所请求的数据。如果请求是写入数据,服务器将提供的值写入指定的寄存器。然后,服务器将响应发送回客户端,确认操作成功完成,或者如果操作无法完成则指示错误。

 这种简单的客户端-服务器模型是 Modbus TCP/IP 操作的核心。它的简单性和稳健性使其成为工业自动化和过程控制的优秀协议,其中可靠性和效率至关重要。