3. EtherNet/IP协议概述

要真正理解 EtherNet/IP,不能只把它当成“跑在以太网上的工业协议”。它本质上是 CIP(Common Industrial Protocol,通用工业协议) 在 TCP/IP 与以太网之上的实现。CIP 提供统一的对象模型、服务语义和设备行规,而 EtherNet/IP 负责把这些 CIP 报文封装进标准以太网帧,从而让控制器、变频器、远程 IO、机器人等设备在同一套语义下互操作。理解 CIP 体系,是理解 EtherNet/IP、DeviceNet、ControlNet 三者关系的钥匙。

一、CIP协议体系:面向对象的统一语义层

CIP 是一个独立于底层网络的应用层协议。它不关心报文最终走的是以太网、CAN 还是 ControlNet,只定义“设备如何被描述、如何被访问、如何交换数据”。其核心是对象模型:每个 CIP 设备都由一组对象构成,对象包含属性(数据)、服务(可执行操作)和实例(具体实现)。

  • 标识对象(Identity Object,0x01):描述厂商 ID、设备类型、产品代码、版本、序列号,是设备“身份证”。
  • 消息路由对象(Message Router,0x02):把收到的服务请求分发到目标对象,是 CIP 的“交通枢纽”。
  • 连接管理器(Connection Manager,0x06):管理显式连接与隐式 I/O 连接,负责建立、维护和关闭连接。
  • 应用对象:如 Assembly(0x04)、Parameter(0x0F)、Motor Data、Position Controller 等,由设备行规定义。

CIP 提供两类通信方式:显式消息(Explicit Messaging) 用于配置、诊断、参数读写,请求-应答式,可靠性高;隐式消息(Implicit Messaging) 用于实时 I/O 数据交换,基于连接,周期性或状态变化触发,强调低延迟与确定性。所有 CIP 网络都遵循这一对通信模型,区别只在于底层承载方式。

CIP 的关键价值:把“设备语义”和“网络传输”解耦。同一套对象与服务,可以在 EtherNet/IP、DeviceNet、ControlNet 上以不同方式承载,应用层代码与设备行规无需重写。

二、EtherNet/IP在CIP体系中的位置

EtherNet/IP 是 CIP 在 TCP/IP + Ethernet 上的适配层。它把 CIP 报文封装为 EtherNet/IP 报文,再交给 TCP 或 UDP 传输:

  • 显式消息:使用 TCP 端口 44818,面向连接、可靠传输,适合配置与诊断。
  • 隐式 I/O 消息:使用 UDP 端口 2222,面向数据报,配合组播/单播,适合实时 I/O。
  • 封装协议:EtherNet/IP 封装头包含命令、长度、会话句柄、状态、发送方上下文等字段,用于在以太网上承载 CIP。

因此,EtherNet/IP 并不是“另一个协议”,而是 CIP 的一个网络适配层。它继承了 CIP 的对象模型、服务集和设备行规,同时利用以太网的带宽、交换能力和 IP 路由能力,把 CIP 从现场总线扩展到企业级网络。

CIP 统一应用层与三种网络适配 CIP 通用工业协议(应用层) 对象模型:Identity / Message Router / Connection Manager / Assembly / Parameter 服务:Get / Set / Read / Write / Forward Open / Forward Close 通信模型:显式消息(请求-应答) + 隐式消息(实时 I/O 连接) 网络适配层 EtherNet/IP 承载:TCP/IP + Ethernet 显式:TCP 44818 隐式:UDP 2222 速率:10/100/1000 Mbps 拓扑:星型/环网/线性 DeviceNet 承载:CAN + 24V 供电 速率:125/250/500 kbps 拓扑:干线-分支 节点:最多 64 个 定位:设备级现场总线 ControlNet 承载:同轴/光纤,CTDMA 速率:5 Mbps 拓扑:干线-分支/冗余 确定性:时间片调度 定位:控制级网络 共同点:同一 CIP 对象模型、同一服务集、同一设备行规 差异点:物理层、数据链路层、传输速率、拓扑结构、实时性与确定性机制 EtherNet/IP = CIP over TCP/IP + Ethernet;DeviceNet = CIP over CAN;ControlNet = CIP over CTDMA

三、与DeviceNet、ControlNet的关系

三者同属 CIP 家族,关系可以概括为“同一应用层,不同网络层”。DeviceNet 面向设备级,成本低、布线简单,适合传感器、按钮、小型 IO;ControlNet 面向控制级,强调确定性、冗余与时间片调度,适合 PLC 之间、PLC 与远程 IO 的高速控制;EtherNet/IP 面向信息级与控制级融合,带宽大、兼容标准以太网,适合大数据量、跨网段、与 IT 系统集成的场景。

对比项 EtherNet/IP DeviceNet ControlNet
应用层 CIP CIP CIP
物理层/链路层 Ethernet + TCP/IP CAN 同轴/光纤,CTDMA
典型速率 100 Mbps / 1 Gbps 125/250/500 kbps 5 Mbps
典型拓扑 星型、环网、线性 干线-分支 干线-分支、冗余
实时性机制 QoS、交换、组播 CAN 优先级仲裁 时间片调度
典型应用 控制器、机器人、远程 IO、MES 集成 传感器、执行器、小型 IO PLC 互连、高速远程 IO

四、案例场景:一条产线的三层网络

某汽车零部件产线采用三层结构:信息层使用 EtherNet/IP,连接 PLC、HMI、SCADA 与 MES;控制层使用 ControlNet,连接主 PLC 与远程 IO 机架,保证扫描周期稳定;设备层使用 DeviceNet,连接变频器、阀岛、光电传感器。三层网络通过网关或 PLC 的通信模块实现 CIP 路由,上层 EtherNet/IP 控制器可以直接访问下层 DeviceNet 设备的对象,无需为每种网络单独编写驱动。

在集成项目中,若设备同时支持 EtherNet/IP 与 DeviceNet,优先选择 EtherNet/IP 可减少网关数量、提升带宽,并便于接入 IT 网络;但若现场已有大量 DeviceNet 设备且布线成熟,保留 DeviceNet 并通过网关接入 EtherNet/IP 往往更经济。

五、常见误区与复盘

  • 误区一:EtherNet/IP 就是 TCP/IP 上的 Modbus。 两者语义完全不同。EtherNet/IP 使用 CIP 对象模型与服务,不是寄存器地址映射。
  • 误区二:EtherNet/IP 只能走 TCP。 显式消息走 TCP,隐式 I/O 走 UDP,二者缺一不可。
  • 误区三:DeviceNet 和 EtherNet/IP 不能互通。 通过 CIP 路由或网关,二者可以在对象层互通。
  • 误区四:ControlNet 已被淘汰。 在强确定性、冗余控制场景中,ControlNet 仍有应用价值,且与 EtherNet/IP 同属 CIP,迁移成本可控。
# 典型 EtherNet/IP 显式消息端口与 CIP 对象访问示例
# 显式消息:TCP 44818
# 隐式 I/O:UDP 2222

# 读取 Identity 对象实例 1 的属性 1(厂商 ID)
CIP Service: Get_Attribute_Single (0x0E)
Class: 0x01 (Identity Object)
Instance: 0x01
Attribute: 0x01

# 建立隐式 I/O 连接
CIP Service: Forward_Open (0x54)
Connection Type: Class 1 (UDP)
RPI: 10 ms

掌握 CIP 体系后,再学习 EtherNet/IP 的报文封装、连接建立与对象访问,就会顺理成章:所有网络差异都被封装在底层,应用层始终面对同一套 CIP 语义。这也是 EtherNet/IP 能够成为主流工业以太网协议的根本原因。