结果,我们选了以太网/IP。倒不是因为它多先进,纯粹是因为——它能跟DeviceNet设备划等号!CIP协议族那种“上头一根线,下头随意插”的特性,救了我们。后来那个系统跑了七年没出过幺蛾子,直到去年才因为伺服老化停机。说实话,工业通信协议这玩意儿,就像买车:参数党盯着百公里加速,老司机只问“这车皮实耐造吗?”
EtherNet/IP到底是个什么怪胎?
它不是那种横空出世的颠覆性技术。早在1990年代末,罗克韦尔自动化(Rockwell)那帮人干了件挺“鸡贼”的事:把已有的ControlNet和DeviceNet上层协议CIP(通用工业协议)往标准以太网TCP/UDP上一架,就弄出了EtherNet/IP。省了重新造轮子的功夫,还蹭了以太网生态的东风。很多人分不清EtherNet/IP和标准IP——一个英文字母“Ethernet”加一个“IP”,到底是Ethernet Industrial Protocol,还是Ethernet and IP?傻傻分不清楚。其实它就是Industrial Protocol,跟网际协议那个IP没半毛钱关系。但正是这种“偷懒”的设计,让它天生具备一种混不吝的兼容性。CIP对象模型是个宝藏:你可以在同一条总线上承载实时I/O数据、配置参数、甚至FTP文件传输,三种类型流量共用同一根网线——这叫什么?隐式报文和显式报文协同工作。隐式报文走UDP,像机关枪一样突突突传生产数据;显式报文走TCP,用来下配置、读诊断信息。你要是刚入门,建议一定搞明白这两个概念,线上线下培训都把这当作硬骨头啃。

但别以为它没毛病。2015年我调试过一台第三方视觉相机,通过EtherNet/IP跟AB的PLC通讯,结果丢包丢到怀疑人生。查了整整两天,最后发现是交换机IGMP Snooping没配好——组播报文淹没了整个子网。这事给我上了一课:以太网/IP用起来爽,但乱配交换机就是给自己埋雷。后来我养成一个习惯,新项目组网必做三件事:划VLAN、关掉无关的广播、IGMP查询器设得死死的。
协议江湖:以太网/IP对上PROFINET,谁更能打?
这问题我每年要回答不下五十遍——展会、论坛、甚至微信群里总有人@我。我的回答逐渐变得越来越圆滑:看你跟谁玩。你要是西门子全家桶用户,硬上EtherNet/IP那是自讨苦吃;同样,罗克韦尔阵营里的人非要切PROFINET,接线头不对,脑袋更疼。但假如你是个混搭工厂——既有罗克韦尔PLC,又有倍福的EtherCAT伺服,还有一堆Modbus TCP老仪器,那EtherNet/IP就是天然的弥合剂。它不排斥任何人,只要你能说CIP。问:EtherNet/IP的实时性到底够不够用?我们做高速包装,节拍30ms怕跟不上。
答:30ms?老弟,以太网/IP要是连这都搞不定,我早转行卖烤串了。标准EtherNet/IP走UDP隐式报文,典型循环时间可以到10ms以下,配置得当,再加上DLR(设备级环网)冗余,5ms也不是梦。当然,你非要跟EtherCAT那种主从式破100μs的变态比,是差口气。但多数运动控制场合,它通过CIP Sync对时精度±100ns,足够应付。唯一要小心的是——交换机!别用那种二十块一个的傻瓜交换机,至少上带管理型的,启用QoS,把隐式报文优先级顶到最高。

我又要吐槽了:网上很多对比文章,列个表格左边PROFINET,右边EtherNet/IP,把“拓扑结构”、“传输距离”、“成本”一项项打分,最后得出结论——我就想问,画这表的人你到底装过机柜没?现场环境温度、冲击、油污,还有那灵魂走线,能把理论优势全吃光。有一回我在汽车焊装车间,PROFINET网线被焊渣烫了个针眼大的洞,整个环网瘫痪,EtherNet/IP的DLR愣是没受影响——就因为环路恢复时间差了那么几十毫秒。现场没有理想国,能活下来的协议才是好协议。
那些年,我们踩过的坑与越过的山

问:EtherNet/IP设备集成时,EDS文件总出错怎么办?
答:EDS文件(电子数据表)是设备的身份证,可这身份证经常伪造!不少小厂写的EDS文件字段缺失或版本不对,你用Rockwell的软件注册时直接报红叉。我的馊主意:先别急,找个文本编辑器打开EDS,看[Connection Manager]段,检查“Connection1”大小跟你PLC里的CIP I/O大小是否匹配。如果不匹配,要么改EDS,要么手动在软件里覆盖大小。更狠的招——用通用Ethernet Module,手动填Assembly Instance和尺寸,绕过EDS。这招虽野,但能救命。当然,记得打电话骂供应商让他们更新EDS。
还有个容易被忽略的宝贝:Socket接口。太多人只知道用EtherNet/IP传IO,不晓得直接发TCP/UDP原始数据。我在一个食品厂改造时,需要把质检秤的数据实时送给MES系统,MES那边只有HTTP接口。怎么办?在AB PLC里用Socket编程,直接POST JSON数据过去,省掉一个中间网关。这招挺骚的,但不保证所有人玩得转——你得懂套接字编程基础,还要处理异步响应。但这就是EtherNet/IP的隐藏魅力:标准以太网带来的开放性,你能做的事远超IO通信。
这些年,我还经手过EtherNet/IP与OPC UA的联合。工业4.0口号喊得震天响,上层IT系统嗷嗷待哺要数据,你用CIP协议直接从底层抓?那得累死MES程序员。于是我们架起OPC UA服务器,通过EtherNet/IP从分站收集数据,再上行发布。Kepware这个中间件就很称职,它一头连着一百多台EtherNet/IP设备,另一头给云端喂结构化数据。仿佛一对别扭但分不开的搭档。
它还那么年轻,却开始被唱老

但我也清醒。TSN全网部署成本,中小工厂看了流泪。Ethernet/IP守着庞大安装量——全球节点超过五千万?具体数字记不清,盘踞在北美和亚太的制造重镇。未来十年,它大概率会以“EtherNet/IP over TSN”的形态苟着,同时跟OPC UA FX等新贵相互拥抱又互掐。
最后说句掏心窝子的:如果你刚入行,别被各种协议大战迷花眼。先吃透EtherNet/IP的CIP对象模型,搞明白生产者-消费者模式,再配几个真实驱动器运转起来——那些底层逻辑一通百通。工具而已,别信仰化。当然了,要是你老板非要上PROFINET,那就乖乖听话,但别忘了偷师EtherNet/IP,毕竟多把刀不吃亏。