IEC PAS 62030:2004 — MODBUS应用协议与RTPS有线协议(工业现场总线)

IEC PAS 62030:2004 是一份公开可用规范,定义了两个用于工业测量与控制系统的互补通信协议:MODBUS 应用层协议规范(V1.1a)和实时发布-订阅(RTPS)有线协议(1.0版)。这两个协议共同覆盖了传统的主-从轮询通信(MODBUS)和用于实时工业自动化网络的现代发布-订阅数据分发(RTPS)。

设计洞察:在一个 PAS 中同时包含 MODBUS 和 RTPS,反映了工业界在同一网络基础设施上既需要确定性的请求-响应通信(用于配置和监控)又需要高速数据分发(用于控制器、HMI 和历史数据库之间的实时过程数据共享)的需求。

一、MODBUS 应用层协议(第1部分)

MODBUS 应用层协议部分定义了工业设备间客户端-服务器通信的完整应用层报文规范。MODBUS 支持串行线路传输(使用 RS-232 或 RS-485 的 MODBUS RTU/ASCII)和基于 TCP/IP 的通信(MODBUS TCP)。该协议使用简单的基于功能码的请求-响应模型,客户端发送请求 PDU(协议数据单元),服务器返回响应 PDU。

功能码 名称 描述
01 (0x01) 读取线圈 读取服务器的二进制输出
02 (0x02) 读取离散输入 读取服务器的二进制输入
03 (0x03) 读取保持寄存器 读取 16 位模拟输出寄存器
04 (0x04) 读取输入寄存器 读取 16 位模拟输入寄存器
05 (0x05) 写入单线圈 写入单个二进制输出
06 (0x06) 写入单寄存器 写入单个 16 位模拟寄存器
15 (0x0F) 写入多线圈 写入多个二进制输出
16 (0x10) 写入多寄存器 写入多个 16 位寄存器
23 (0x17) 读写多寄存器 单次事务中原子读写

MODBUS 数据模型组织为四个主要数据块:离散输入(只读位)、线圈(可读写位)、输入寄存器(只读16位字)和保持寄存器(可读写16位字)。这种简单、平坦的寻址模型使 MODBUS 即使在资源受限的微控制器上也极易实现,这促成了其在工业自动化中的持久流行。

重要提示:MODBUS TCP 使用端口 502,将标准 MODBUS PDU 封装在带有 7 字节 MBAP(MODBUS 应用协议)头的 TCP/IP 帧内。虽然这使其可以简单地通过标准以太网路由,但也意味着 MODBUS TCP 没有内置安全机制(无认证、无加密)。对于需要网络安全的安装环境,MODBUS TCP 应部署在 VPN 内或至少部署在物理隔离的网段上。

标准定义了串行 MODBUS 的三种传输模式:RTU 模式(使用 CRC-16 错误校验的二进制编码、8 位数据、1 个起始位、1-2 个停止位、奇偶校验可配置)、ASCII 模式(使用 LRC 错误校验的十六进制字符编码)以及整体帧格式。RTU 模式因其比 ASCII 模式更高的数据吞吐量而最为广泛采用,ASCII 模式会使传输字节数翻倍。

二、实时发布-订阅(RTPS)协议(第2部分)

RTPS 有线协议定义了一种面向实时工业控制应用的发布-订阅数据分发机制。与 MODBUS 的客户端-服务器模型不同,RTPS 允许数据生产者(发布者)向多个消费者(订阅者)广播数据,无需每个订阅者显式轮询。这显著减少了网络流量,并确保所有订阅者在确定性的时间范围内同时接收数据。

特性 MODBUS(客户端-服务器) RTPS(发布-订阅)
通信模型 请求-响应(轮询) 推送型(事件驱动)
数据流 点到点 一对多、多对多
时序特性 确定性(轮询间隔) 实时性(周期性或按需变化)
网络效率 较低(每个设备逐一轮询) 较高(数据一次发布)
应用场景 配置、SCADA 轮询 实时过程数据、报警

RTPS 协议使用”发现”阶段的概念,发布者和订阅者在网络上宣布其存在和数据主题。发现之后,数据使用实时传输机制直接从发布者流向订阅者。规范定义了数据序列化格式、QoS 策略(可靠性、持久性、截止时间)和传输映射(UDP/IP、TCP/IP)。该协议后来演变为 OMG DDS(数据分发服务)标准的核心,现已广泛应用于自主系统、国防和工业物联网应用。

设计洞察:对于同时需要配置访问和实时数据的应用,混合方法非常有效:使用 MODBUS 进行设备配置、参数调整和监控轮询(低速率、请求-响应),同时使用 RTPS 进行高速过程变量分发(高速率、发布-订阅)。这种双协议方法充分利用了各自的优势,而不牺牲功能或性能。

三、TCP 连接管理与实施指南

该 PAS 提供了 MODBUS/TCP 连接管理的详细实施指导。它区分了自动和显式 TCP 连接管理。对于大多数应用,建议使用自动管理:MODBUS 客户端协议栈根据需要自动打开、维护和关闭 TCP 连接。一个关键建议是每个 TCP 帧应恰好携带一个 MODBUS ADU(应用数据单元);不鼓励在同一个 TCP 段中发送多个 MODBUS 请求或响应。

关键注意:标准建议避免为每个 MODBUS 事务打开和关闭 TCP 连接。推荐的方法是在客户端和服务器之间保持持久 TCP 连接,跨多个事务重用。为每个请求打开新的 TCP 连接会产生 TCP 三次握手和慢启动拥塞控制的开销,在高延迟网络中可能使事务延迟增加数百毫秒。

对于每个设备同时充当客户端和服务器的双向通信场景,应为客户端数据流和服务器数据流分别建立独立的 TCP 连接。标准还规定了最小连接限制以及在达到连接限制时的行为,根据设备能力管理 TCP 资源。

常见问题

问:IEC PAS 62030 与 Modicon 的 MODBUS 规范相同吗?

答:IEC PAS 62030 正式采纳 MODBUS 应用协议规范 V1.1a 作为 IEC 公开可用规范。技术内容与 MODBUS 组织发布的 MODBUS 规范完全相同。IEC PAS 格式提供了国际认可,为监管和采购目的提供了稳定的参考。

问:RTPS 和 MODBUS 能否在同一网络上同时运行?

答:可以,前提是网络基础设施同时支持 UDP(用于 RTPS)和 TCP(用于 MODBUS TCP)。在以太网中,两种协议可以共存而互不干扰,因为它们使用不同的传输层端口(MODBUS TCP 使用端口 502,RTPS 通过发现机制使用动态分配的端口)。但网络带宽规划必须考虑合计流量。

问:工程师在系统设计中应考虑 MODBUS RTU 与 MODBUS TCP 之间的哪些关键差异?

答:关键差异包括:(1)寻址方式——RTU 使用设备地址(1-247),TCP 使用 IP 地址;(2)错误校验——RTU 使用每帧计算的 CRC-16,TCP 依赖 TCP/IP 协议栈的内置校验和;(3)时序——RTU 需要 3.5 字符时间的帧间隔,TCP 无此限制;(4)布线——RTU 通常使用 RS-485 多点连接,最大 1200 米,TCP 使用标准以太网,每段最长 100 米(可通过交换机扩展)。

问:IEC PAS 62030 是否已被更新的标准取代?

答:MODBUS 规范已由 MODBUS 组织独立维护。第 2 部分定义的 RTPS 协议已演变为 OMG DDS(数据分发服务)标准(在某些领域已正式化为 IEC/ISO 19459)。然而,IEC PAS 62030 仍具有重要的历史意义,因为它记录了奠定 MODBUS 和发布-订阅工业通信模式广泛采用的基础协议版本。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注