工厂车间里最尴尬的事:西门子 PLC 对施耐德变频器说了一句话,对方一脸茫然。

引子:工厂里的「巴别塔」

2011 年,汉诺威工业博览会提出了一个改变全球制造业的概念——工业 4.0

但这概念一落地就撞上了第一个拦路虎:工厂车间里跑着 Modbus、PROFIBUS、PROFINET、EtherCAT、EtherNet/IP……几十种协议,设备之间互相听不懂对方在说什么。

一台西门子 PLC 想从罗克韦尔的传感器读个温度值,需要经过协议转换网关、额外布线、两张数据映射表,还有一圈工程师的骂声。

这不是技术问题,这是历史遗留问题。

要理解今天工业通信的割据局面,你得先回到 1979 年。

第一章:1979,Modbus——这个「简陋」到离谱的协议,为什么活了 43 年?

故事的起点不在协议,在 PLC

1968 年,通用汽车受够了。

当时的生产线上,继电器控制系统像一座蛛网迷宫——成百上千个继电器用硬接线连在一起,改一条产线逻辑就要重新接线,工时以周计。GM 找到了 Bedford Associates 的 Dick Morley,说:你能不能帮我搞一个「可编程」的替代方案?

传说 Morley 的团队经历了 84 次失败的尝试,所以项目代号就叫做「084」。1969 年,Modicon 084 诞生——全球第一台商用 PLC

但 PLC 诞生后的十年里,工厂里的控制器都是孤岛。每台 PLC 管理自己的一摊事,设备之间的协调靠硬接线信号。直到 1979 年,Modicon 公司推出了 Modbus 协议——名字直截了当:“Mod” 来自 Modicon,“bus” 就是总线。

「简单」到让现代工程师头皮发麻

来看看 Modbus 的设计有多朴素:

  • 架构:主从模式——一个主站发请求,从站被动回应,不许多嘴
  • 数据模型:只有四种寄存器——线圈(开关量)、输入状态(只读开关量)、保持寄存器(读写数值)、输入寄存器(只读数值)
  • 帧结构:功能码 + 地址 + 数据 + CRC 校验,没有握手,没有认证,没有加密
  • 物理层:两根线(RS-485)就能跑

用现在的话说,Modbus 的安全性是「出了工厂大门就裸奔」。但你得理解 1979 年是什么环境——以太网标准(IEEE 802.3)才刚出来四年,TCP/IP 还远没普及。工程师要的只是让两台 PLC 传几个数字——越简单,越不容易出 bug。

更关键的一点:Modbus 是开放免费的。任何人都可以免费实现它,不需要付授权费。到 80 年代中期,几乎所有的 PLC 厂商都提供了 Modbus 接口——它从 Modicon 的私有协议变成了工业通信的「事实标准」。

一个「刚好够用」的设计,锁定了四十年的命运

Modbus 的成功哲学可以浓缩为四个字:刚好够用

它不先进,但足够解决问题。它不安全,但 1979 年的工业现场根本没有网络攻击这个概念。它没有语义——一个保持寄存器里存的是温度还是压力,靠的全是工程师的手写文档——但那个时代也确实不需要语义层。

今天全球有数以百万计的 Modbus RTU 节点还在跑。它活得久不是因为没人想换它,而是它简单到换不掉——一个 8 位 MCU 就能实现完整的 Modbus 从站,成本几乎为零。任你 OPC UA 多强大、MQTT 多轻量,当你的末端设备只有 64KB 内存的时候,Modbus 还是唯一的选择。

历史教训一:一个协议的成功不取决于它有多先进,而取决于它是否在正确的时间给出了足够简单的答案。

第二章:1985-1998,现场总线大战——IEC 把 8 个标准塞进一份文档,暴露了工业通信最大的秘密

Modbus 不够用了

80 年代中期开始,工厂从单台 PLC 变成了控制系统。几十台设备、多个产线段需要协同工作。Modbus 的主从轮询模式在复杂拓扑下越来越笨拙——一条总线上只能有一个主站,要从它手里拿到数据得排队。

更让人头疼的是:没有标准化的设备描述。西门子的寄存器地址方案和施耐德不一样,集成时工程师得翻手册一个个对着查。

各国纷纷亮剑,标准之争打响

1989 年,德国政府资助的「Fieldbus」项目催生了 PROFIBUS。它和 Modbus 最大的区别:支持多主站令牌传递(Token Passing),效率远高于轮询;还定义了设备行规(Profile)——让不同厂商的同类型设备有了统一的数据结构。

同一时期:

  • 法国推出 FIP(后改称 WorldFIP)
  • 美国推出 DeviceNet(基于 CAN 总线,由 ODVA 管理)
  • 日本推出 CC-Link(三菱电机主导)
  • 欧洲推出 CANopen(1995 年,轻量灵活)
  • 楼宇自动化领域推出 BACnet(1987 年启动,1995 年发布,少有的从一开始就是开放标准的协议)

到 90 年代末,工业通信的格局可以用四个字形容:百花齐放,各自为政

IEC 61158:「8 合 1」的黑色喜剧

IEC(国际电工委员会)从 80 年代就开始试图制定一个统一的现场总线国际标准。

十几年,开了无数次会议,各国代表吵得天翻地覆。德国站 PROFIBUS,美国站 Foundation Fieldbus,法国站 WorldFIP……每个国家都有自己扶持的协议,每个协议背后都是一条产业链。

最终结果是——1999 年,IEC 61158 发布。

这份「统一标准」里包含了 8 种类型:PROFIBUS、Foundation Fieldbus、WorldFIP、Interbus……全部并列。等于把吵架的结果原封不动塞进了一份文档。

这是工业通信史上最大的妥协产物,也暴露了最深层的规律:工业协议不是技术选型,是产业链博弈。技术最优解从来不是唯一考量。

被低估的遗产

现场总线时代留给后来者最重要的两样东西:

  1. Modbus 教会了行业:「简单+免费」可以赢
  2. PROFIBUS 教会了行业:「标准化+行规(Profile)」才能规模化

这两条教训贯穿了后来所有协议的设计逻辑。

第三章:1996-2003,OPC DA 的崛起与 Windows 的枷锁

SCADA 的驱动地狱

90 年代中期,Windows NT 开始进入工业控制。SCADA 系统和 HMI 软件需要从不同品牌的 PLC 采集数据——一个项目同时连西门子、施耐德、AB 三家 PLC,就要装三套专有驱动,驱动之间还经常版本冲突。

1996 年,一群 Windows 平台的工业软件厂商成立了 OPC 基金会,推出 OPC DA(Data Access) 规范。

核心思路很简单:PLC 厂商提供一个 OPC DA Server,任何 SCADA 软件通过标准接口就能读数据。不需要专有驱动了。

COM/DCOM:甜蜜的毒药

OPC DA 基于 Microsoft 的 COM/DCOM 技术实现。这意味着:

  • 只能跑在 Windows 上——Linux、嵌入式设备、云端,统统不支持
  • DCOM 远程配置极其复杂——防火墙规则、权限、端口、域名……一个远程连接配置折腾半天是日常
  • 平台绑定到了骨髓里——当制造业开始走向跨平台和物联网,COM/DCOM 这个 Windows 专属底座越来越像一条锁链

同一时期,另一条赛道上发生了什么?

1999 年,IBM 和 Eurotech 合作开发了 MQTT 协议。它的起源场景非常具体:石油管道监控——管道绵延几百公里,通过卫星通信把传感器数据传回中心,带宽窄到令人发指,延迟高、连接不稳定。

MQTT 为这个场景量身定制了极简的发布/订阅模型

  • 客户端把消息发到 Broker,Broker 再分发给订阅者
  • 最小报文头只有 2 字节
  • 支持 QoS(服务质量)三级保证
  • 断线自动重连
  • 不需要 COM、不需要 Windows、甚至不需要 TCP 以外的任何基础设施

两个协议在同一时期诞生,走向了完全不同的方向:OPC DA 选了「功能丰富 ​+ 平台绑定」,MQTT 选了「极简 ​+ 跨平台」。 十五年后,这个选择差异成了它们各自命运的根源。

第四章:1999-2011,工业以太网的拐点——EtherCAT 的「飞拍」天才设计

以太网曾被工厂拒之门外

听起来很荒谬:以太网从 80 年代就存在于办公室,但工厂车间一直排斥它。

原因非常具体:

  • CSMA/CD 机制的延迟不可控——网络负载高时会碰撞退避,运动控制要求微秒级确定性延迟
  • 早期硬件成本高——交换机、网卡远比串行方案贵
  • 工厂认为没必要——串行总线够用了,为什么换?

转折发生在 1999-2003 年

两个变化同时发生:

  1. 以太网硬件成本暴跌——100M 交换机从数百美元降到几十美元
  2. 协议组织找到了绕过 CSMA/CD 的方法

1999 年,Modbus TCP 率先推出——本质上就是把 Modbus 帧包在 TCP/IP 里跑以太网,没有实时性增强,但证明了以太网可以承载工业协议。

2003 年,PI 组织推出 PROFINET,之后陆续定义了 RT 与 IRT 两个实时等级定义了 RT(软实时 1-10ms)和 IRT(硬实时 31.25μs 抖动<1μs)两级。

同时,Beckhoff 推出 EtherCAT

EtherCAT 的「飞拍」到底有多天才?

EtherCAT 的通信机制和所有其他协议都不同——它叫 Processing on the Fly(飞拍)

传统的以太网通信像快递:主站给从站发一个包裹,从站拆开、看完、再包一个包裹寄回去。100 个从站就要 100 趟快递。

EtherCAT 的方式像一列不停站的火车:

主站发出一个以太网帧,这个帧像一列火车穿过所有从站。每个从站在帧「飞过」的瞬间读写自己的那一段数据——读走主站给的指令,写入自己的反馈。帧到达最后一个从站后原路返回主站。整个过程帧不停留、不复制,所有从站共享同一个帧。

这意味着:100 个从站的周期时间可以做到 ≤100μs,抖动 ​<1μs。

EtherCAT 创始人 Hans Beckhoff 当年做了一个关键决策:不用标准以太网芯片。 从站用专用的 EtherCAT 从站控制芯片(ESC),成本极低(几欧元),但主站需要实时内核或专用硬件。

这个决策让 EtherCAT 获得了极致性能,也让主站开发门槛偏高——「从站便宜、主站门槛高」的特点一直保持到今天。

另一个极端:EtherNet/IP

EtherNet/IP 走了完全相反的路:完全基于标准 TCP/IP+UDP/IP,上层用 CIP(Common Industrial Protocol),和 DeviceNet 共享同一套对象模型。

这意味着:标准交换机、路由器、甚至 Wi-Fi 接入点都能直接用在 EtherNet/IP 网络中。HTTP、FTP、SNMP 等 IT 协议也能跑在同一条线上。

代价也很明显:实时性上限只有毫秒级,做不了亚毫秒级的运动控制。

三条路线,三种哲学

这不是技术选型——你买的 PLC 决定了你的协议。 欧洲买西门子用 PROFINET,北美买罗克韦尔用 EtherNet/IP,做高速运动控制的选 EtherCAT。

第五章:2011 至今,OPC UA 的涅槃——从 Windows 的牢笼里飞出来

工业 4.0 遇到的第一个问题:设备之间「语言不通」

回到文章开头的场景:工厂里几十种协议各自为政。不是技术问题——是信息孤岛。

OPC 基金会从 2003 年开始设计 OPC UA。注意:OPC UA 不是 OPC DA 的升级版,是一次彻底的从头重写。

它从 OPC DA 失败的三个教训出发:

  1. 平台绑定是致命的 → OPC UA 跨平台,跑在 Windows、Linux、嵌入式、甚至单片机上
  2. 没有语义数据永远只是数字 → OPC UA 定义了信息模型(Information Model)
  3. 安全不能是补丁 → X.509 证书认证、加密、签名、角色权限控制,安全内置且默认开启

信息模型:让数据「有含义」

这是 OPC UA 和所有其他协议最本质的区别。

在 Modbus 里,一个泵是一个保持寄存器地址 40001,值是浮点数 3.14——你完全不知道 3.14 是流量还是压力还是转速,只能靠查文档。

在 OPC UA 里,一个泵是一个对象:

客户端不需要预先知道地址,可以在线浏览服务器上的节点树。更关键的:Companion Specification 提供了行业标准模型——PackML(包装机械)、Euromap(塑料机械)、PADIM(过程自动化),不同厂商的同类设备有了统一的语义框架。

「OPC UA PubSub over MQTT」:语义+传输的最优解

MQTT 在物联网时代最大痛点是:它搬的是字节,不是含义。

topic 是字符串 factory/line3/pump1/data,payload 是 {"f": 3.14, "s": 1}。Team A 定义了泵的 JSON schema,Team B 定义了另一个泵的另一个 schema——六个月后没人知道哪个字段是流量哪个是压力。有人写了个 Excel 来映射字段名,这个 Excel 永远处于过期状态。

OPC UA PubSub over MQTT 解决了这个问题:

云端收到的不是无意义的 JSON blob,而是带完整语义的 OPC UA 数据。 整条链路从车间到云端语义连贯,不再需要人肉做数据字典。

历史教训二:一个有语义但没有传输效率的协议(OPC UA)和一个有效率但没有语义的协议(MQTT),最好的关系不是竞争,是互补。

第六章:2027,下一个拐点——TSN 会让「专用硬件」变得没必要吗?

TSN(时间敏感网络)是什么?

IEEE 802.1 系列 TSN 标准定义了以太网上的确定性调度机制。一句话概括:同一根网线上,可以同时跑实时控制数据和 IT 管理数据,而且实时数据的延迟是确定的。

这意味着:

  • EtherCAT 的飞拍机制、PROFINET IRT 的专用交换机——这些「为了确定性专用的硬件」——可能不再必要
  • 同一根 TSN 网线上,OPC UA FX 可以直接做现场级通信
  • PROFINET/EtherCAT/EtherNet/IP 从「必须用」变成「可选用」

三大未来剧本

剧本一(最可能):三层共存

到 2030 年,工厂最可能的架构是:

三层各有分工,优势最大化、劣势最小化。Modbus RTU 的存量十年内不会消失——存量太大,替换成本太高。

剧本二(最危险):TSN 洗牌

如果 TSN 在 2027 年成功规模化,过去二十年建立的实时以太网生态在一次技术换代中重新洗牌。厂商绑定松动、协议栈重构成本大、现场工程师需要重新学习——这些摩擦会让转型比预期慢得多。

剧本三(最乐观):统一语义通路

OPC UA PubSub over MQTT 成为从传感器到云端的全链路语义通路。数字孪生、预测性维护、远程监控直接消费结构化数据,不再需要中间翻译层。

结语:每个协议今天的位置,都是它诞生时那个时代的答案

把四十多年的历史压缩到一张因果表里:

Modbus 告诉你:在最需要简单的时代给出最简单的答案,是活下去的最好方式。

OPC UA 告诉你:从失败中学习比从成功中学习更值钱——它的每个特性都是对 COM/DCOM 时代痛点的精准回应。

EtherCAT 告诉你:在成熟赛道里,敢不走寻常路的架构创新,能让你拿到别人拿不到的性能上限。

MQTT 告诉你:你可以极简、极轻、极快,但当你终于要「深度」了,你曾经放弃的那些东西,还得一件件补回来。

工厂里每一条协议的总线里,流淌的不只是数据,是一个产业四十年的博弈、妥协、创新与锁定。

Logo

葡萄城是专业的软件开发技术和低代码平台提供商,聚焦软件开发技术,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。

更多推荐