尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

从两根线到TSN:制造业通信协议40年恩怨史

从两根线到TSN:制造业通信协议40年恩怨史 工厂车间里最尴尬的事西门子 PLC 对施耐德变频器说了一句话对方一脸茫然。引子工厂里的「巴别塔」2011 年汉诺威工业博览会提出了一个改变全球制造业的概念——工业 4.0。但这概念一落地就撞上了第一个拦路虎工厂车间里跑着 Modbus、PROFIBUS、PROFINET、EtherCAT、EtherNet/IP……几十种协议设备之间互相听不懂对方在说什么。一台西门子 PLC 想从罗克韦尔的传感器读个温度值需要经过协议转换网关、额外布线、两张数据映射表还有一圈工程师的骂声。这不是技术问题这是历史遗留问题。要理解今天工业通信的割据局面你得先回到 1979 年。第一章1979Modbus——这个「简陋」到离谱的协议为什么活了 43 年故事的起点不在协议在 PLC1968 年通用汽车受够了。当时的生产线上继电器控制系统像一座蛛网迷宫——成百上千个继电器用硬接线连在一起改一条产线逻辑就要重新接线工时以周计。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三菱电机主导欧洲推出CANopen1995 年轻量灵活楼宇自动化领域推出BACnet1987 年启动1995 年发布少有的从一开始就是开放标准的协议到 90 年代末工业通信的格局可以用四个字形容百花齐放各自为政。IEC 61158「8 合 1」的黑色喜剧IEC国际电工委员会从 80 年代就开始试图制定一个统一的现场总线国际标准。十几年开了无数次会议各国代表吵得天翻地覆。德国站 PROFIBUS美国站 Foundation Fieldbus法国站 WorldFIP……每个国家都有自己扶持的协议每个协议背后都是一条产业链。最终结果是——1999 年IEC 61158 发布。这份「统一标准」里包含了 8 种类型PROFIBUS、Foundation Fieldbus、WorldFIP、Interbus……全部并列。等于把吵架的结果原封不动塞进了一份文档。这是工业通信史上最大的妥协产物也暴露了最深层的规律工业协议不是技术选型是产业链博弈。技术最优解从来不是唯一考量。被低估的遗产现场总线时代留给后来者最重要的两样东西Modbus 教会了行业「简单免费」可以赢PROFIBUS 教会了行业「标准化行规Profile」才能规模化这两条教训贯穿了后来所有协议的设计逻辑。第三章1996-2003OPC DA 的崛起与 Windows 的枷锁SCADA 的驱动地狱90 年代中期Windows NT 开始进入工业控制。SCADA 系统和 HMI 软件需要从不同品牌的 PLC 采集数据——一个项目同时连西门子、施耐德、AB 三家 PLC就要装三套专有驱动驱动之间还经常版本冲突。1996 年一群 Windows 平台的工业软件厂商成立了 OPC 基金会推出OPC DAData Access规范。核心思路很简单PLC 厂商提供一个 OPC DA Server任何 SCADA 软件通过标准接口就能读数据。不需要专有驱动了。COM/DCOM甜蜜的毒药OPC DA 基于 Microsoft 的 COM/DCOM 技术实现。这意味着只能跑在 Windows 上——Linux、嵌入式设备、云端统统不支持DCOM 远程配置极其复杂——防火墙规则、权限、端口、域名……一个远程连接配置折腾半天是日常平台绑定到了骨髓里——当制造业开始走向跨平台和物联网COM/DCOM 这个 Windows 专属底座越来越像一条锁链同一时期另一条赛道上发生了什么1999 年IBM 和 Eurotech 合作开发了MQTT协议。它的起源场景非常具体石油管道监控——管道绵延几百公里通过卫星通信把传感器数据传回中心带宽窄到令人发指延迟高、连接不稳定。MQTT 为这个场景量身定制了极简的发布/订阅模型客户端把消息发到 BrokerBroker 再分发给订阅者最小报文头只有2 字节支持 QoS服务质量三级保证断线自动重连不需要 COM、不需要 Windows、甚至不需要 TCP 以外的任何基础设施两个协议在同一时期诞生走向了完全不同的方向OPC DA 选了「功能丰富 ​ 平台绑定」MQTT 选了「极简 ​ 跨平台」。十五年后这个选择差异成了它们各自命运的根源。第四章1999-2011工业以太网的拐点——EtherCAT 的「飞拍」天才设计以太网曾被工厂拒之门外听起来很荒谬以太网从 80 年代就存在于办公室但工厂车间一直排斥它。原因非常具体CSMA/CD 机制的延迟不可控——网络负载高时会碰撞退避运动控制要求微秒级确定性延迟早期硬件成本高——交换机、网卡远比串行方案贵工厂认为没必要——串行总线够用了为什么换转折发生在 1999-2003 年两个变化同时发生以太网硬件成本暴跌——100M 交换机从数百美元降到几十美元协议组织找到了绕过 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/IPEtherNet/IP走了完全相反的路完全基于标准 TCP/IPUDP/IP上层用 CIPCommon 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 失败的三个教训出发平台绑定是致命的→ OPC UA 跨平台跑在 Windows、Linux、嵌入式、甚至单片机上没有语义数据永远只是数字→ OPC UA 定义了信息模型Information Model安全不能是补丁→ 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/datapayload 是{f: 3.14, s: 1}。Team A 定义了泵的 JSON schemaTeam 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告诉你你可以极简、极轻、极快但当你终于要「深度」了你曾经放弃的那些东西还得一件件补回来。工厂里每一条协议的总线里流淌的不只是数据是一个产业四十年的博弈、妥协、创新与锁定。
返回列表