搜索结果

×

搜索结果将在这里显示。

🍦 EtherNet/IP总线

EtherNet/IP总线

一、EtherNet/IP 基础概念

1.ODVA 组织简介

ODVA 成立于 1995 年,是一个全球性协会,其成员包括世界领先的自动化公司。ODVA 的使命是促进工业自动化中开放的,可互操作的信息和通信技术。ODVA 将其独立于媒体的网络协议,通用工业协议或“CIPTM”以及 CIP 的网络改进版 EtherNet/IPTM,DeviceNetTM ,CompoNetTM 和 ControlNetTM 视为其核心技术。其负责的主要内容有:

  1. 设备的一致性测试认证与互操作;
  2. 授权 EtherNet/IP 技术;
  3. 发放 Vendor ID 代表厂商设备信息;
  4. 其下的 SIG 小组负责各类规范、方针等内容的制定。

2.EtherNet/IP 基础架构

2.1 EtherNet/IP OSI 参考模型

img

EtherNet/IP 的 ISO/OSI 参考模型如上图所示,其物理层、链路层、网络层、传输层均与标准以太网相同,特点在于其在传输层之上增添了一个封装层,对来自应用层的数据进行报文格式的封装;而应用层采用的是 CIP 协议,满足其在工业自动化领域的一些功能和服务。

特点:

  1. 服务于各类工业自动化应用;
  2. 基于标准的 IEEE802.3 与 TCP/IP Suite;
  3. 应用层采用通用工业协议 CIP;
  4. IT 集成,包括 Web、OPC 等服务;
  5. 物理层实现基于标准的以太网控制器;
  6. 规定了特定的传输端口,UDP/IP(PORT 44818),TCP/IP(PORT 44818)。

2.2 EtherNet/IP 各层功能特点

2.2.1 物理层:

1)传输介质可选铜缆双绞线或光纤;

2)几乎可以容纳无限数量的点对点节点;

3)可以通过嵌入式交换机技术和设备级环网技术来实现线型、星型和环网拓扑;

4)可根据需求选择不同的物理接口:基本的以太网连接,支持 COTS 现成商用标准,适合 IP 20 应用;工业等级应用,需性能增强的 RJ-45 连接器,密封 RJ-45 连接器以及更紧凑的 M12 连接器,适合 IP 67 应用;

2.2.2 数据链路层与网络层:

img

EtherNet/IP 的链路层帧格式如上图所示,与标准以太网没有区别,遵循 IEEE 802.3 规范设计,并支持全双工传输。

img

同时网络层与传输层也使用 TCP/IP 与 UDP/IP 进行传输,两种方式分别传输两种不同的消息:TCP/IP 是面向连接的点对点传输,并且传输的是封装 CIP explicit messages(显示消息),主要用于配置信息与诊断数据的传输;UDP/IP 是单对多的广播传输,主要用于实时性要求较高的数据传输,并由 Timeout 机制检测是否传输出错。

2.2.3 Encapsulation 封装协议
2.2.3.1 主要功能

img

实时性要求不同的数据会采用不同的封装形式与传输形式:实时性要求不高的数据会采用 CPF(Common Packet Format 通用包格式)+Encapsulation 的封装,走 TCP/IP 传输通道;而实时性要求较高的数据仅采用 CPF 封装,并走 UDP/IP 传输通道。封装层主要功能如下:

  1. 解除 IP 网络的 CIP 消息封装;
  2. 将 CIP 消息包装为以太网消息;
  3. 会话管理;
  4. 与下层 TCP/IP 协议层以及 TCP/IP 堆栈进行交互。
2.2.3.2 封装结构

img

img

EtherNet/IP 的以太网包与其中的封装部分结构如上图所示,其中封装部分各细分部分功能如下:

Command:代表该包的功能和作用;

Length:指示后方数据域的长度;

Session Handle:会话句柄,表示会话建立或响应的请求;

Status:指示改包的命令有无正确执行,可比对状态码表进行确认;

Sender Context:包含描述发送者信息的内容;

Options:可选设置;

Command-specific Data:根据命令的不同有所区别

2.2.3.3 命令类型

img

2.2.3.4 命令特定数据域(CPF)结构

img

数据域部分的结构如上图所示,其结构为 1 个 1 个的 item 的连接,其每种 item 的含义如下:

  • Item Count:指示该包数据域中 item 的总个数;
  • Address Item:存放目的地地址信息:

Type ID:地址类型;

  • Length:地址长度;

  • Data:地址具体数值;

  • Data Item:存放数据信息:

Type ID:数据类型;

  • Length:数据长度;

  • Data:具体数据,封装了 CIP 报文包的内容,包含 CIP 命令、请求路径等内容;

2.2.4 传输层的消息类型
2.2.4.1 显式消息

显式消息使用 TCP 进行传输,端口一般是 44818,通信模式是请求响应模式。 主站向从站发送消息,从站回应主站的消息。例如主站向从站发送显示消息。 针对 Class 1(Identity),的 Instance 1 的 Attributes 1 Vendor ID (供应商 ID)执行 Services 0x0E Get_Attribute_Single(获取单个属性) 操作,从站在收到该信息后将自己的供应商 ID 返回给主站。这就是一次完整的显式消息.

应用:非周期性从端数据的读写

特点:

① 报文中包含地址项和服务请求(命令);

② 通常用于两个站点之间的通用通信路径;

③ 面向逻辑连接的连接方式,点对点传输,请求对应响应;

img

上图中,Command 的值为 0x6F,指示该报文为 SendRRData,其上半部分的结构为封装报文头结构,下半部分为命令特定数据域结构,与前文提到的报文结构基本无异。

2.2.4.2 隐式消息

隐式消息(有些厂商也叫做 IO 消息)使用 UDP 进行传输,端口一般是 2222。通信的模式是连接式的。首先主站通过显式消息向从站发起连接请求。主要是针对 Class 6 (Connection Manager)的 Instance 1 执行 Services 0x54 Forward_Open,主站发送连接请求时会附带连接参数等信息.从站在收到这些 Forward_Open 之后,会根据自身的状态判断是否可以建立连接,如果可以会通过显式消息返回给主站连接成功的信息。随后主站和从站会按照连接参数中约定的通信周期,周期性通过 UDP 的 2222 端口向对方发送数据.

应用:实时的 IO 应用数据交互

特点:

① 报文中没有地址项,也没有服务请求(命令);

② 通过 Connection ID 来确定任务目标;

③ 生产者与(一或多个)消费者之间的特殊通信路径;

④ 点对点或多播;

img

上图的报文结构中,不含有封装协议报文头,且命令特定数据域中的地址项与数据均固定,通过 Connection ID 来标识访问的数据。

2.2.5 EtherNet/IP 应用层-CIP

img

应用层协议 CIP 规定了 Ethernet/IP 从站设备的四个部分: 对象模型(Object Model),服务(Services),消息路由(Message Routing),连接管理(Connection Management).

其中最关键的是对象模型.

CIP 中的每个设备都是由多个对象(Objects)组成,每个对象都有以下属性:

Class(类): 定义对象的类型,例如 Identity Object、Connection Object 等。
Instance(实例): 类的具体实现,表示实际的设备组件。
Attributes(属性): 描述对象的状态或配置参数。
Services(服务): 提供对对象的操作(如读写、配置等)。

基本原理:以是否存在实时性要求为依据,划分数据的优先级,区别对待不同优先级的数据。具体的协议内容,将单独成篇进行介绍。

2.3 EtherNet/IP 特点总结

① 在标准以太网基础上建立,而不仅仅是与之兼容;

② 多种数据传输速率:10、100、1000Mbit/s;

③ 可以使用标准基础架构来构建系统;

④ 可以使用 IP 路由器将网络构建为子网;

⑤ 使用 IP 寻址进行所有通信,完全支持跨子网的通信,因此网络中几乎没有节点数量限制;

⑥ 非实时通信和实时通信可以在同一子网中共存;

⑦ 支持协调驱动和运动控制;

⑧ 支持设备级环网(DLR),该环网通过介质冗余提供单容错能力;

⑨ 与其他上层协议(如 HTTP,FTP,VOIP 等)共存;

3.Ethernet/IP 的性能

Ethernet/IP 总线的实时性是通过设置消息的 Qos 来实现的. 市面上常见的 Ethernet/IP 设备的实时性大部分在 5-10ms. 相比起 EhterCAT 等电机控制协议的 1ms 通信周期, 这个实时性还是较差的. 所以 Ethernet/IP 协议只能用作过程控制, 无法用于运动控制.

4.Ethernet/IP 协议的使用方法

在工业场景中, 很少有使用显式消息的情况, 大部分情况都是主站和从站间通过隐式消息通信 (部分厂家把这个叫做 IO 连接). 这里介绍较为通用的主站连接从站的方法.

对于任何一个 Ethernet/IP 从站设备, 都会配套有一份 eds 文件(设备描述文件). 该文件记录了 从站设备 中所实现的 CIP 对象模型中的类的信息, 以及进行 IO 连接时所需参数信息.

首先将从站的 eds 文件导入主站, 然后主站通过扫描网络中从站的方式(或者手动输入的方式)获取从站的 IP 地址信息.

随后正常启动主站即可建立 Ethernet/IP 网络连接.

不同的主站厂商提供的导入 eds 文件和扫描从站的方式不一样, 请以主站厂商的用户手册为准.