干了二十年自动化,最怕听一句话:“咱上个统一的协议吧。”
每次听到这个,我就想笑。真的,苦笑。你知道工厂里多少种设备?PLC、变频器、远程IO、视觉系统、机器人……光西门子一家,前后就玩过MPI、Profibus、Profinet。还有罗克韦尔的EtherNet/IP,倍福的EtherCAT,施耐德那套Modbus TCP……
想统一?做梦。
不过话说回来,这几年OPC UA加TSN的呼声倒是挺高。好像一夜之间,所有厂家都宣布支持了。展会上逛一圈,个个展台上都贴着“Time-Sensitive Networking”,“Unified Communication”。但你去工地上转转,扯根网线还得问清楚:是交叉线还是直连?那个交换机支不支持IEEE 802.1Qbv?
这就是工业通信的魔幻现实。
你以为是TCP/IP,其实是另一套玩法
很多搞IT的转行过来,以为工业以太网就是普通以太网加个坚固外壳。错得离谱。普通以太网的TCP/IP栈在拥塞时会丢包、重传,延迟忽高忽低——这叫“尽力而为”。可一条灌装线,伺服电机必须在100微秒内收到位置指令,否则瓶子就歪了。这怎么搞?
于是各家搞起了私货。EtherCAT用了“飞读飞写”的集束帧,一个数据帧经过所有从站,就像地铁到站开关门,人不下车,东西在门口接力。EtherNet/IP让CIP协议搭在TCP/UDP上,但实时性靠CIP Sync对时。Profinet RT走软实时,IRT则要专用ASIC芯片。Powerlink完全抛弃TCP/IP,在数据链路层搞轮询。
乱吧?但这就是事实:没有一种协议能通吃所有场景。慢的过程控制,HART还活着,4-20mA加点数字信号,稳如老狗。高速运动控制,EtherCAT、Mechatrolink这种才扛得住。不同行业还有偏好的圈子文化——汽车制造业你绕不开Profinet,北美包装线到处是EtherNet/IP。

我曾经在一个改造项目里,想把老旧的Modbus RTU设备连上新的Profinet网络。采购报了台网关,结果发现网关轮询RS-485节点就要500毫秒,上位机那边数据抖得跟心电图似的。最后没法子,把一部分逻辑下放到网关里做边缘计算,才勉强糊弄过去。
OPC UA来了,然后呢?

OPC UA确实是好东西。地址空间、信息模型、安全机制,比以前的OPC DA强太多。可你别指望它一统江湖。OPC UA最大的意义在于信息集成,把不同协议的数据抽象成统一模型,送到MES、SCADA、云端。但你底层的电机还是要硬实时,靠OPC UA over TSN?
说到TSN,它是一堆IEEE标准的集合,给以太网加上时间同步(802.1AS)、流量调度(802.1Qbv)、帧抢占(802.1Qbu)等。理论上可以让周期性控制数据和普通IT数据在同一根线上跑,且互不干扰。但工程化落地还有一大截路。交换机要支持,配置要统一,一个VLAN错配,整个网络抖动大到控制器直接报错。
去年我试过用某厂商的TSN交换机搭POC,折腾了两天,时钟同步老漂移。最后发现是交换机内部时钟晶振温漂问题——加个小风扇吹着就好了。你说这玩意儿能大规模铺开?我看悬。
问:工厂里已经有Profinet和EtherNet/IP两块网络,能通过OPC UA把它们数据汇聚到一起吗?
答:能,而且这是最典型的应用。用一台支持双网口的工控机或网关,一个口跑Profinet主站,一个口跑EtherNet/IP扫描器,内部把变量映射成OPC UA服务器。上位SCADA直接读OPC UA。但注意数据刷新率——网关处理两个协议栈的延迟,加上变量映射,可能从几毫秒涨到几十毫秒。如果只是看电流、温度这类慢量,完全没问题。快量(比如机器人关节扭矩)建议还是直连控制器。
别忽略了“老家伙们”
工业通信最头疼的不是新协议,是历史债务。满车间都还在跑的Modbus RTU、串口设备,你不可能全换掉。Modbus协议简单到令人发指:一个主站轮询,从站地址1-247,功能码就那么几条。可它活了四十多年,现在照样用。为什么?因为简单才可靠。你看那些复杂协议,配置一堆XML文件,GSDML、EDS、XDC,换个从站版本有时都要重新组态,简直反人类。

有些改造项目,我宁愿在PLC侧加个串口模块,延续Modbus,也不愿意全上Profinet——成本是一回事,施工进度拖不起。新协议调试要抓包、分析时序,旧串口两根线一接,9600波特率一设,数据就来了。糙快猛,但有效。
问:听说IO-Link会取代传统传感器接线,它算工业通信吗?怎么跟上层系统对接?
答:IO-Link本质是点对点通信,是传感器/执行器层的数字化。它把普通的开关量、模拟量变成带有诊断数据的数字信号,通过主站连到现场总线(Profinet、EtherNet/IP等)。所以它自己不算是上层通信协议,而是底层接口的升级。好处巨大——传感器脏了、断线了,马上能诊断出来。配置参数可以直接下载,换传感器不用重新标定。对接上层基本透明,主站会把它映射成传统I/O点或数据块,UFF中控室照样用Modbus TCP或OPC UA传上去。
怎么选?没有银弹

如果你是新上一条产线,我的建议就三个字:看生态。你选的主控制器品牌,基本决定了通信阵营。西门子全家桶当然Profinet,倍福系没得选——EtherCAT。别想着混搭,除非你做好了当系统集成烈士的准备。
但如果是存量改造,优先考虑网关、协议转换器。别听厂家忽悠“全厂统一协议”,那成本够你再建半条线。搞一个坚实的数据骨干网,比如OPC UA over TSN(等它真正成熟了),把各个“信息孤岛”串起来,底层该怎么跑还是怎么跑。这才是务实的路子。
最后再说点扎心的:工业通信的壁垒,往往不是技术,是商业。协议背后是阵营,是芯片,是认证费。你以为EtherCAT是开放的?倍福持有专利,从站控制器芯片只授权给少数几家。Profinet也有认证费用。所以别太天真。
但换个角度,正是这些壁垒,让我们的设备跑得稳。权衡,妥协,这才是工程。