倍福EAP协议

产品描述

通过EtherCAT自动化协议(EAP)设备,可以在通过以太网连接的PC之间循环,高度确定性地交换所需变量。EAP设备之间的通信是根据发布者/订阅者原则进行的,并且由EtherCAT技术小组(ETG)(ETG 1005 –参见网页 www.ethercat.org)指定。

必须为TwinCAT EAP设备安装用于TwinCAT的实时以太网驱动程序,以便进行高度确定的通信。

与TwinCAT 2网络变量的比较

TwinCAT EAP设备基于TwinCAT 2熟悉的网络变量(NWV),并包含一些扩展。EAP报文除其他外还略微扩展了NWV报文。但是,此扩展仅涉及电报的内容。EAP报文的结构与NWV报文相同。因此,网络变量与EtherCAT自动化协议兼容,反之亦然。在TwinCAT 2和3 之间的EAP一章中,可以找到有关TwinCAT 2和3之间的EAP通信的更多详细信息 。

先决条件

TwinCAT版本3.1(内部版本4018.13)或更高版本中提供了本文档中描述的TwinCAT EAP设备的全部功能范围。

附加信息

·

基本原则

·

技术概念

基本原则

使用TwinCAT EAP设备,可以通过网络将数据从任何变量从TwinCAT控制器A传输到TwinCAT控制器B。这些变量通常用于控制机器内的处理操作。因此,它们也称为过程变量(PV)。对于TwinCAT EAP设备,发送和接收可以通过TwinCAT实时以太网驱动程序支持的标准网络适配器进行。

EAP设备之间的通信基于发布者/订阅者原理进行。发送者(称为发布者)将消息发送到所有或多个网络设备;通常,发布者不知道接收方或根本不知道接收方。另一方面,有一些称为“订阅者”的接收者,它们对某些消息感兴趣并接收这些消息,而不知道它们源自哪个发布者,或者根本不知道这种发布者是否存在。

EAP发布者的结构

EAP Publisher由许多嵌套元素组成,如下图所示。最低级别的基本元素是 Tx变量。它定义了一个输出变量,该变量链接到一个过程变量,并具有其他一些属性,例如数据类型。数据类型可以自由选择;它可能是复杂的数据类型,大小为数百个字节。唯一的条件是不超过EAP帧的最大大小(EAP帧的大小对应于标准以太网帧的大小)。在操作过程中,过程变量提供要由发布者发送的值。

在下一个更高的水平, TxVariables 在所引用的 对TxPdo 元件(对TxPdo = TxProcessDataObjects)。一个 TxPDO 可以引用多个 TxVariable, 从而将它们合并到一个对象中。然后, TxPDO 定义一个有序的TxVariables集 。不得超过EAP帧的最大大小的条件也适用于 TxPDO。

所述 TXDATA 元件(TxProcessData = TxPD)位于下一个较高的水平。它代表 发布者变量 ,在EAP中被理解为发布者的通信单元。所述 TXDATA 元素引用某一 对TxPdo 和定义了许多特性,如的 ID 的的 出版商变量,它们的 版本 和时钟周期,基于在其上 发布变量 在第一时间被发送。基于这些属性, 发布者变量 在发送方定义了一个对象,必须在接收方定义一个合适的Subscriber变量,以便成功进行数据交换。

数据传输通过以太网协议或UDP / IP基于网络进行。类似地, 然后为 TxFrame分配一个TxData列表,该列表将被发送到相同的目标地址。甲 TxFrame 被限制为每个数据分组的最大数据长度。为了发送 Publisher变量,至少必须定义以下属性:

目的地址:
目的地址通常是一个多播地址,因此 Publisher变量 会自动发送到一组接收者。也可以输入单个接收者的地址。

ID:
为每个 Publisher变量 定义一个数字,该数字在整个网络中必须是唯一的。基于此数字, 可以由Subscriber标识 Publisher变量。

时钟周期:
时钟周期定义 发送Publisher变量的时间间隔 。EAP循环时间通常在几毫秒到几百毫秒之间。

链接到过程变量:
最后但并非最不重要的是,需要在Publisher变量 和 过程变量之间建立链接 ,以确保过程数据实际上是在Publisher变量的帮助下发送的 。否则,Publisher变量的值 将始终保持为零。

EAP订户的结构

EAP订阅服务器的结构类似于发布服务器的结构,并在下图中进行了说明。订户最低级别的基本元素称为 RxVariable。RxVariable定义了一个输入变量,该输入变量也链接到过程变量,并包含多个属性,例如数据类型。在操作期间,过程变量获取订阅服务器接收到的值。

因此,以上级别的元素称为 RxPDO (RxProcessDataObjects)。每个元素定义一组有序的 RxVariables。

所述 RXDATA 元件(RxProcessData = RXPD)位于下一个较高的水平。它代表 订户变量 ,并被理解为EAP中订户的通信单元。所述 RXDATA 元件的引用一定 RxPDO 并定义所要求的特性(ID和版本),它必须在匹配 出版商变量 被接收。对于一个成功的数据交换,所引用的数据类型 RxVariable 及其顺序在 RxPDO 必须等同于 对TxPdo 所述的 出版商变量。该 用户变量 因此,在接收方定义了一个对象, 必须在发送方定义一个匹配的 Publisher变量,以便进行数据交换。

由于EtherCAT自动化协议的设计,对于订户而言,接收到的数据与发送方无关。特别是, 在框架内发送哪个发布者变量无关紧要 。因此,订阅服务器没有框架元素或类似元素,不会将某些订阅服务器变量合并 为一个单元,因此只能整体接收。但是, 在订阅服务器只应接收 某个发送者的发布者变量的情况下, RxData 提供了将AMS NetID定义为过滤器地址 的选项 。在这种情况下,至少必须为Subscriber变量定义以下属性 :

ID:
该 ID 一个的 订户可变 限定 出版商变量 应接收它。该 ID 是一个数字,它应该是为每个唯一的 出版商变量 整个网络。它用于 在接收端标识 Publisher变量。

链接到过程变量:
最后, 只有将订户变量链接到过程变量时, 才有意义。只有这样,接收到的数据才真正由过程变量应用,并在机器控制中加以考虑。

此外,Subscriber变量的数据长度 必须与Publisher变量的数据长度相同 。否则,接收到的 Publisher变量将 被丢弃。

附加信息

·

沟通方式

沟通方式

TwinCAT EAP设备支持两种通信类型:循环过程数据通信(EtherCAT类型4)和非循环EtherCAT邮箱通信(EtherCAT类型5)。对于邮箱通信,TwinCAT EAP设备仅支持AoE协议(AoE –基于EtherCAT的ADS)。AoE协议的规范在EtherCAT协议增强功能(ETG 1020)中进行了描述。对于过程数据通信,区分两种通信模式:

推送数据交换 模式,在该模式下,EAP发送方周期性地或在检测到状态变化时将其过程信息发送到网络,并且EAP接收者期望此过程信息并相应地接收它。此模式对应于TwinCAT 2网络变量(NWV)的发布者/订阅者原理。
轮询数据交换 模式,其中EAP客户端将带有其过程信息的请求报文发送给EAP服务器,然后将其过程信息发回给EAP服务器。通过响应电报发送给EAP客户端。

此外,TwinCAT EAP设备在过程数据通信期间支持不同的连接类型和不同的寻址模式。支持的连接类型为:

单播:EAP消息从一个端点发送到另一端点,换句话说:该消息正好寻址到一台PC。

组播:EAP消息从一个端点发送到其他多个端点,换句话说:该消息发送给一组PC。

广播:EAP消息从一个端点发送到所有可访问的端点,换句话说:该消息发送给所有设备。

可以使用MAC地址,AMS NetID或IP地址。根据连接类型和寻址模式的配置,为EAP过程数据通信激活特定的网络协议。确切的分配如下表所示。

网络协议

寻址方式

连接类型

MAC地址

AMS NetID

IP地址

单播

以太网协议

以太网协议

UDP / IP

多播

以太网协议

不可能

UDP / IP

广播

以太网协议

不可能

UDP / IP

根据不同的寻址模式(MAC,AMS NetID和IP),支持以下连接类型的单播,多播和广播:

MAC地址:
EAP消息是根据以太网协议传输的。将接收消息的网络适配器的MAC地址配置为目标地址。在这种寻址模式下,EAP消息无法从路由器中继到另一个子网,因为它基于IP地址运行。因此,该消息只能通过交换机在子网内发送。

广播和组播

保留特殊的MAC地址用于广播或多播消息:

广播MAC:FF-FF-FF-FF-FF-FF

组播MAC:组播MAC地址必须满足以下条件。

·

第一个字节的最低位(位1)的值为1(组位)。

·

如果MAC地址是全局唯一的,则后面的位2的值为0;否则,值为0。
或值1(如果该地址仅在本地唯一)。

·

前24位(位3至24)对应于制造商ID,称为组织唯一标识符(OUI)。Beckhoff的OUI为“ 00-01-05”。

·

可以为每个接口分别指定其余的24位(位25至48)。为EtherCAT自动化协议定义了序列“ 04-00-00”。

TwinCAT EAP设备的最终标准多播MAC地址为01:01:05:04:00:00。

AMS NetID寻址:
EAP消息基于类型4 EtherCAT协议(EAP)进行传输。根据地址解析协议(ARP)和配置的AMS NetID确定所需的目标MAC地址。与MAC寻址一样,EAP消息只能在子网内发送。

通过AMS NetID进行通信

使用 AMS NetID 作为目标地址的优点是它是逻辑地址。 使用配置的AMS NetID借助特殊的ARP请求确定目标设备的 MAC地址 。

例如,即使更换了控制计算机或计算机的网络适配器,也不必更改EAP连接的配置,从而导致MAC 地址的更改 。唯一的条件是为新的控制计算机分配了原始的 AMS NetID。

如果 配置了连接类型“ 单播”,则 默认情况下还将配置“ 订户监视”机制(请参阅“ 通过ARP进行远程站点监视”)。

IP寻址:
对于EAP消息,Internet协议(IP)与用户数据报协议(UDP)一起用于中继和寻址收件人。所需的目标MAC地址是根据地址解析协议(ARP)和配置的IP地址确定的。通过UDP / IP寻址,路由器可以将EAP消息中继到其他子网(例如,包括Internet)。

保留特殊IP地址用于广播或多播消息:

广播IP:255.255.255.255被指定为广播IP地址。广播MAC地址FF-FF-FF-FF-FF-FF直接从此IP地址派生。

组播IP:组播IP地址必须在224.0.0.0到239.255.255.255(IPv4)之间。在EAP设备中,TwinCAT 为每个配置的 多播IP地址生成一个兼容的 多播MAC地址 ,该地址在TwinCAT启动时(即,在激活运行模式时)使用。

推送数据交换(n:m连接)

推送数据交换模式基于与NWV传输相同的模型(发布者/订阅者原则)。它提供了网络中n:m连接的选项。每个EAP设备可以发送一个或多个EAP电报,以及其输出过程数据(TxData)。每个EAP设备可以“侦听”以确定所接收的EAP电报中包含的过程数据是否与其输入的过程数据(RxData)匹配,以便可以对其进行处理(如果适用)。因此,一个同一个EAP设备可以发送和接收过程数据。这样,可以建立双向通信。

使用推送数据交换,可以根据需要自由选择每个配置的EAP报文的寻址模式(单播,多播或广播)。

轮询数据交换(1:1连接)

轮询数据交换模式受客户端/服务器体系结构原则的约束。借助这种架构,它可以实现“软”同步。EAP设备可以同时充当客户端和服务器。

轮询模式的连接类型

对于“轮询数据交换”模式,仅唯一定义连接类型单播。

单播(1:1连接)
客户端将EAP报文及其输出过程数据发送到服务器,然后服务器将其输入过程数据通过单独的EAP报文返回给客户端。

网络协议

以太网协议以太网协议负责交换网络中的数据包。它处理OSI层1和2(物理层和数据链路层)的任务。以太网协议标头应包含发送者地址,接收者地址和以太网类型,该类型指定将哪个协议用于下一个更高的OSI层。发送方和接收方地址以MAC地址的形式输入。MAC代表 媒体访问控制
在这种情况下,是指生产期间分配给每个以太网设备的唯一硬件地址。例如,可以为Beckhoff PC的以太网端口分配MAC地址00:01:05:34:05:84;Beckhoff ID是“ 00:01:05”,第二部分是在生产过程中指定的。发送方和接收方MAC地址确定网络中两台PC之间每个以太网报文的路由。以太网电报可以通过交换机进行进一步处理,但通常不能通过路由器进行处理。

用户数据报协议/ Internet协议(UDP / IP)接收器通过以太网电报中的附加IP报头进行标识,以便可以由路由器进行进一步处理。该电报具有以太类型0x0800,它指定它是IP电报。在随后的UDP标头中,端口号0x88A4用于源端口和目标端口。根据该端口号,TwinCAT系统检测到该电报是基于实时的用户数据报。

TwinCAT根据以太类型0x88A4(如果使用以太网协议)或基于目标端口0x88A4(对于UDP / IP)识别EAP报文。因此,TwinCAT以太网驱动程序使接收到的EAP报文绕过操作系统的NDIS堆栈,因此TwinCAT优先将其视为Beckhoff实时以太网报文。发送EAP报文时,操作系统的NDIS堆栈也会被绕过。
一旦TwinCAT PC接收到EAP报文并如此进行识别,在进一步处理报文时,将在报文中传输的 过程数据 (PD)分配给在EAP设备中配置的RxData。该分配基于 PD ID。收到的 PD 如果在接收方未配置任何具有匹配PD ID的RxData,则将丢弃 该消息。

最后, 仅当接收到的PD 的数据长度和版本号与预期的数据长度和版本号匹配时,才应用 PD的各个 过程变量 (PV)的 值。

·

通过ARP进行远程站监视

通过ARP进行远程站监视

EAP基于无连接协议(以太网协议和UDP / IP)。这些协议不返回消息的确认。TwinCAT EAP设备使用地址解析协议(ARP)进行远程终端监视,以使EAP报文的发送方能够检测到接收方不再可用。该 ARP重试间隔 可以在EAP出版商用于配置的时间框架检查接收者是否仍然可以访问。仅当配置了单播连接时,才能启用远程终端监视(订户监视)。

如果 启用了订户监视,则发布者将 根据配置的时间间隔将ARP请求电报发送 到配置的目标设备。如果接收器仍按预期运行,则以ARP应答 电报响应 。否则,将无响应。在诊断变量FrameState(请参见发布者)中,如果发生错误,则设置第三位(0x0004)。

ARP处理

将MAC地址分配给网络地址(IP地址)的ARP处理由操作系统(Windows)处理。将MAC地址分配给AMS NetID的ARP处理由TwinCAT系统处理。

·

EAP发送机制

EAP发送机制

EAP报文的发送是基于触发机制触发的。EAP设备的配置用于确定此 触发 机制的工作方式。对于每个 TxData, 定义 一个 触发条件。如果 满足此 触发条件, 则通过EAP报文发送TxData。换句话说:在每个EAP设备中, 触发 条件用于每个 TxData 来配置触发 机制的操作 。

有5种不同类型的触发条件,在此进行介绍。

触发条件的叠加

各个触发条件的说明指出哪些其他触发条件需要停用。换句话说,不允许组合使用哪些条件。下面的示例进一步显示了几个活动触发条件相互重叠。它们如何重叠尚不清楚。因此,建议禁用所有不允许的触发条件。

1。

轮询请求Rx PD 触发条件 轮询请求Rx PD 控制以“轮询数据交换”模式发送响应电报(请参阅“ 通信方法”部分 )。一旦 TxData 具有针对触发条件“ 轮询请求Rx PD”的有效条目 ,相应的 TxData就会 在此模式下运行。如果与 EAP设备中配置的RxData的对象索引匹配,则存在有效条目 。 然后,此 RxData定义用于返回TxData 作为响应的预期请求 。当EAP设备收到包含预期过程数据的EAP电报时 ,在下一个周期中,
TxData 在新的EAP报文中返回给请求报文的发送者。因此,当 启用了触发条件“ 轮询请求RxData”时 ,EAP设备将用作 此TxData的“ 轮询数据交换”服务器 。 如果启用了轮询请求接收PD 条件,则必须禁用所有其他条件(2到5) 。

2。

除法器/模数甲 分配器/模 条件用于指定与其中频率 TxFrame 或 TXDATA 被发送(参见下图)。该频率始终是驱动EAP设备的任务周期时间的倍数。的 分频器 值定义多个。的 模 值指定的开始周期 TxFrame 或 TXDATA 被首次发送。如果 分频器 的值为0,则禁用此条件。 如果 启用了除法器/模数条件,则条件3、4和5不相关 ;但是他们应该被禁用。必须禁用条件1。

3。

周期时间的 TXDATA 以特定间隔发送,由所述所定义 的周期时间 值(单位:μS)(参见下图)。该 周期时间应该是任务循环时间的整数倍。如果配置的值不是任务周期时间的整数倍,则将自动设置下一个较小的倍数,如有必要,可将其减小为0。如果值为0 µs,则禁用此条件。如果 启用了循环时间触发条件,则应禁用触发条件1、2、4和5 。

周期时间与任务周期时间之间的关系

假设任务周期时间为5 ms(5000 µs),过程数据 A 的周期时间 为10000 µs,过程数据 B 的周期时间 为20000 µs。现在,任务周期时间从5 ms降低到15 ms(15000 µs)。过程数据 A 的周期时间或 过程数据 B 的周期时间都不 是任务周期时间的倍数;因此,循环时间不能被任务循环时间整除。
结果, 过程数据 A仅每15 ms(15000 µs)发送一次, 过程数据 B仅每30 ms(30000 µs)发送一次。

4。

状态改变(COS):在更改超时的 TXDATA 当它的其中一个变量的值改变与前值进行比较时,才会发送。最大时间间隔定义为超时时间(单位:µs)。如果变量的值在该时间间隔内没有变化 ,则在经过时间间隔后,将 发送TxData,无论如何(请参见下图)。时间间隔的值必须是任务周期时间的整数倍。如果时间间隔设置为0 µs, 则会禁用触发条件 CoS On Change Timeout。如果 启用了触发条件CoS On Change Timeout,则必须禁用触发条件1、2和3 。

5,

国家等级(CoS)的变化:禁止时间的 禁止时间 规定的最小时间间隔,使 TXDATA 在此之前的时间间隔过去后,这是上次发送不发送。 因此,“ 禁止时间”指定了一个最小时间间隔(以µs为单位),在该时间间隔后 发送TxData-即使所包含的Tx变量的一个值发生了 变化(请参见下图)。此时间间隔的值只能是任务周期时间的整数倍,并且必须小于CoS On Change Timeout的值 。如果时间间隔设置为0 µs, 则禁用触发条件“ 禁止时间”。

如果启用了禁止条件“ 禁止时间” ,则应禁用触发条件1、2和3 。

触发条件的配置选项

触发条件1、3和5(轮询请求RxData,循环时间和禁止时间)可以通过EAP对象字典进行配置(请参见 TwinCAT EAP设备文档中的CANopen对象字典一章 )。

触发条件的特殊功能

对于定义一个时间间隔的所有触发条件,此间隔不能小于驱动EAP设备的任务的任务周期时间。

不建议将条件组合使用,因为条件没有明确定义。以下是复杂性的一个很好的例子:

最后一行清楚地表明160ms和240ms的传输不会发生,因为附加的分频器/模数条件会阻止传输。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值