EtherNet/IP---2面向对象的协议

目录

1、EtherNet/IP提供什么服务?

2、简化以太网/IP对象模型概述

3、使用CIP公开应用程序数据

Developing Your Implementation开发您的实施

CIP通信示例1

CIP通信示例2

CIP通信示例3


1、EtherNet/IP提供什么服务?

CIP应用层定义了一组应用程序对象和设备配置文件,这些对象和配置文件定义了公共接口和行为。此外,CIP通信服务支持不同CIP网络上的设备之间的端到端通信。EtherNet/IP将CIP通信服务映射到以太网和TCP/IP,使以太网上的设备以及与其他CIP网络之间的多供应商互操作性成为可能。

2、简化以太网/IP对象模型概述

在CIP应用层中,设备使用对象模型表示(图4)。应用程序对象定义了设备数据如何以一种通用的方式表示和访问。特定于网络的对象定义了如何配置IP地址等参数和特定于以太网/IP的功能。

3、使用CIP公开应用程序数据

设备中的对象是与该数据相关联的相关数据和行为的组。CIP需要某些对象来描述设备、设备的功能、通信方式及其唯一身份。例如,标识对象(Identity Object)包含称为属性的标识数据值,这些值用于存储设备的标识信息。标识对象的属性包括供应商ID、设备类型、设备序列号和其他标识数据。CIP没有指定对象数据是如何实现的,而是必须支持哪些数据值或属性并使其可用于其他CIP设备。

CIP定义了三种类型的对象:

所有CIP设备中必须包含Required Objects。这些对象包括Identity Object、the Message Router Object 和network-specific objects。

Application Objects描述设备如何封装数据。这些对象特定于设备类型和功能。例如,输入设备将具有描述特定输入点的值和故障状态的属性的输入对象。

Vendor-specific Objects的对象描述特定于特定供应商的服务;它们是可选的,并且没有在预定义的设备配置文件中进行描述。

CIP设备内的寻址数据使用相同的面向对象视图。(对象的)类是表示相同类型的系统组件的一组对象(图5)。有时,有必要在设备中拥有一个对象的多个“副本”,称为对象实例( object instances)。这组对象称为对象类。对象类的每个实例都将具有相同的一组属性,但将具有唯一的一组值。对象实例或对象类具有提供服务和实现行为的属性。

使用非时间关键消息访问设备内的数据(显式消息-请参阅稍后的EtherNet/IP通信类型)通常包含以下地址信息:

  • 设备网络地址
  • 类别ID
  • 实例ID
  • 属性ID
  • 服务代码(描述所需的操作/服务)

寻址的类/实例/属性ID形式也用于电子数据表(EDS)中,以识别设备内的可配置参数。

除了指定设备数据的表示方式外,CIP还指定了使用触发器(如循环或状态变化)访问I/O数据的方法。供应商还可以描述如何使用Assembly对象将来自不同对象的数据组合到I/O或配置消息中。

Developing Your Implementation开发您的实施

您需要了解的有关EtherNet/IP的信息取决于您正在进行的开发类型。如果您正在编写自己的I/O适配器或I/O扫描仪堆栈,那么您应该非常熟悉EtherNet/IP规范。

如果您正在编写显式消息客户端或服务器堆栈,则应该熟悉有关显式通信的规范方面以及适当的应用程序对象。

如果您正在将EtherNet/IP硬件或软件解决方案集成到现有实施中,您需要有足够的知识来针对您的独特情况集成和定制解决方案。

所有开发人员都需要对EtherNet/IP有足够的了解,才能调试他们的实现并在现场支持他们的用户。

了解以下重要的EtherNet/IP主题将有助于您的实施。有关这些重要主题的其他材料,请参阅“进一步信息”部分。

CIP通信基础:显式和隐式(I/O)通信的基本概念;已连接和未连接的消息;正向开放服务和连接建立;I/O应用程序连接的类型。您应该能够理解两个EtherNet/IP设备之间发生的消息事务的基本顺序。附录C提供了消息流程图,以帮助理解这一点。您应该了解I/O连接的运行/空闲通知机制及其在控制应用程序中的使用。控制器/扫描仪通常使用它来通知他们的设备他们已经进入程序(空闲)模式。目标设备对该通知做出适当反应是很重要的。

CIP通信示例1

这是一个序列,显示发送未连接的显式消息所需的步骤。这假设两个设备尚未通话,因此必须建立TCP连接和封装会话。通常,这用于多个显式请求,因此在图的中间指示消息迭代。

CIP通信示例2

这是一个序列,显示了打开显式消息连接所需的步骤。这假设两个设备尚未通话,因此必须建立TCP连接和封装会话。显式消息连接通常用于发送许多显式消息,如图中间所示。请求的数量和连接的持续时间取决于应用程序。

CIP通信示例3

这个序列显示了打开I/O(隐式)消息连接所需的步骤。这假定两个设备尚未通话,因此必须建立TCP连接和封装会话。使用TCP上的显式消息建立I/O连接。一旦建立,实际的I/O连接在UDP上运行,独立于TCP连接(参见图20中的UDP数据流)。这个I/O连接将无限期地继续交换数据,直到超时或使用显式消息故意中断。

CIP对象模型:CIP对象模型的基础,包括对象类(object classes)、实例(instances)、属性(attributes)和服务(services)。

CIP对象库:您应该熟悉标识对象(Identity Object)。如果要实现I/O扫描器或适配器,则应该熟悉汇编对象。EtherNet/IP嵌入式设备必须实现TCP/IP接口对象和以太网链路对象进行网络配置。

EtherNet/IP封装层:用于通过TCP和UDP传输CIP的封装层的基本概念,包括使用TCP和UDP的地方;EtherNet/IP注册端口号;为I/O连接使用IP多播。

设备配置文件:哪个设备配置文件最适合您的实现?请参考选择设备配置文件一节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值