EAP,手册EAPTwinCAT

隐藏文件 2

3 期前 版本:日期: 1.62020-06-16 目录 目录 1前言.....................................................................................51.1文档说明............................................................................51.2安全说明............................................................................5 2产品描述.................................................................................72.1基本原则............................................................................72.1.1通讯方式...................................................................92.1.2通过ARP进行远程站监控...................................................112.1.3EAP发送机制..............................................................112.1.4EAP性能..................................................................132.1.5EAP状态机................................................................142.2技术概念...........................................................................152.2.1EAP报文结构..............................................................15 3EAP连接诊断............................................................................193.1订阅服务器.........................................................................193.2发布服务器.........................................................................21 4创建EAP配置...........................................................................234.1添加EAP设备......................................................................234.2添加发布服务器变量.................................................................244.3添加订阅服务器变量.................................................................284.4使用自定义数据类型.................................................................33 5配置EAP设备...........................................................................375.1TwinCATEAP设备...................................................................37 期5.2发布服务器框.......................................................................39 5.3发布服务器变量.....................................................................425.4订阅服务器框.......................................................................43 前5.5订阅服务器变量.....................................................................43 5.6TwinCAT2和3之间的EAP..........................................................45 6CANopen对象字典........................................................................466.1EAP对象字典(子配置文件1000).....................................................466.2EAP设备的TwinCATADS接口........................................................576.3ADSoverEtherCAT(AoE)............................................................586.4TwinCATEAP设备的在线配置.........................................................606.5轮询数据交换的配置.................................................................636.6还原在线配置.......................................................................63 7EAP设备配置(EDC)文件.................................................................65 EAP 版本:1.6
3 目录 期前
4 版本:1.6 EAP 前言
1 前言 1.1文档说明 本说明仅供熟悉适用国家标准的控制和自动化工程专家使用。
在安装和调试元器件时,必须遵循本文档及以下注意事项和说明。
技术人员应负责在每次安装和调试时使用已发布的文档。
负责人员必须确保所述产品的应用或使用符合所有安全要求,包括所有相关法律、法规、准则和标准。
免责声明本文档经过精心准备。
然而,所述产品正在不断开发中。
我们保留随时修改和更改本文档的权利,恕不另行通知。
不得依据本文档中的数据、图表和说明对已供货产品的修改提出赔偿。
商标Beckhoff®、TwinCAT®、EtherCAT®、EtherCATG®、EtherCATG10®、EtherCATP®、SafetyoverEtherCAT®、TwinSAFE®、XFC®、XTS®和XPlanar®均为倍福自动化有限公司的注册商标并由公司授权使用。
本出版物中使用的其他名称可能是商标,第三方出于自身目的使用它们可能侵犯商标所有者的权利。
正在申请的专利涵盖EtherCAT技术,包括但不限于以下专利申请和专利::EP1590927、EP1789857、EP1456722、EP2137893、DE102015105702包括在其他各国家的相应专利申请或注册。
EtherCAT®是注册商标和专利技术,由德国倍福自动化有限公司授权使用 期版权所有 ©德国倍福自动化有限公司未经明确授权,禁止复制、分发、使用本文档及擅自将内容与他人交流。
前违者将承担赔偿损失的责任。
在专利授权、工具型号或设计方面保留所有权利。
1.2安全说明 安全规范请注意以下安全说明和阐述!可在以下页面或安装、接线、调试等区域找到产品相关的安全说明。
责任免除所有元器件在供货时都配有适合应用的特定硬件和软件配置。
禁止未按文档所述修改硬件或软件配置,德国倍福自动化有限公司不对此承担责任。
人员资格本说明仅供熟悉适用国家标准的控制、自动化和驱动工程专家使用。
符号说明在本文档中,下列符号随安全指示或说明一起使用。
必须仔细阅读并严格遵守安全说明! EAP 版本:1.6
5 前言 危险严重受伤的风险! 未遵守带有此符号的安全说明将直接危及人员生命和健康。
警告受伤的风险! 未遵守带有此符号的安全说明将危及人员生命和健康。
人身伤害! 未遵守带有此符号的安全说明可能导致人员受伤。
谨慎 注意 危害环境或损坏设备 未遵守带有此符号的安全说明可能危害环境或损坏设备。
提示或指示 此符号表示该信息有助于更好地理解。


6 版本:1.6 EAP 产品描述
2 产品描述 EtherCAT自动化协议(EAP)设备允许在通过以太网连接的PC之间周期性地高度准确交换任何所需变量。
EAP设备之间的通讯根据发布服务器/订阅服务器原则进行,并由EtherCAT技术组(ETG)指定(ETG1005–参见网页)。
为进行高度准确的通讯,必须为TwinCATEAP设备安装TwinCAT实时以太网驱动程序。
与TwinCAT2网络变量进行比较 TwinCATEAP设备基于TwinCAT2中熟悉的网络变量(NWV),并包含一些扩展。
除其他改变外,EAP报文还稍稍扩展了NWV报文。
但是,这一扩展只涉及报文内容。
EAP报文的结构仍与NWV报文相同。
因此,网络变量与EtherCAT自动化协议兼容,反之亦然。
有关TwinCAT2和3之间EAP通讯的更多信息,参见章节TwinCAT2和3之间的EAP[}45]。
前提条件TwinCAT3.1版(版本4018.13)或更高版本中提供了本文档所述的TwinCATEAP设备全部功能范围。
2.1基本原则 TwinCATEAP设备支持通过网络将来自TwinCAT控制器A的任何变量数据传输到TwinCAT控制器
B。
这些变量通常用于控制机器内部的处理操作。
因此,它们也被称为过程变量(PV)。
对于TwinCATEAP设备,可以通过一个由TwinCAT实时以太网驱动器支持的标准网络适配器进行发送和接收。
EAP设备之间的通讯基于发布服务器/订阅服务器原则进行。
发送器(称为发布服务器)将信息发送到全部或多个网络设备;通常,发布服务器不知道是哪个接收器,或不知道接收器是否存在。
另一方面,接收器(称为订阅服务器)对某些信息感兴趣并接收这些信息,却不知道它们源自哪个发布服务器,或不知道这个发布服务器是否存在。
EAP发布服务器的结构 期EAP发布服务器由许多嵌套元素组成,如下图所示。
最低级别的基本元素是Tx变量。
它定义了一个输出变 量,该变量链接到一个过程变量,并具有多个其他属性,例如数据类型。
可以自由选择数据类型;它可能是一个大小为几百字节的复杂数据类型。
唯一条件是不得超过EAP帧的最大尺寸(EAP帧的大小相当于标准以太 前网帧的大小)。
操作过程中,过程变量提供的值由发布服务器发送。
在下一个更高的级别,TxVariables被TxPDO元素(TxPDO=TxProcessDataObjects)引用。
一个TxPDO可以引用多个TxVariables,因此可以将他们合并到一个对象中。
然后,TxPDO定义一组有序的TxVariables。
不得超过EAP帧的最大尺寸这一条件也适用于TxPDO。
TxData元素(TxProcessData=TxPD)位于下一个更高级别。
它代表发布服务器变量,并被理解为EAP中发布服务器的通讯单元。
TxData元素引用一个特定的TxPDO,并定义许多属性,例如发布服务器变量的ID、其版本和时钟周期,首先根据这些属性发送发布服务器变量。
根据这些属性,发布服务器变量在发送器上定义一个对象,因此,必须在接收器上定义一个合适的订阅服务器变量,以便可以成功进行数据交换。
EAP 版本:1.6
7 产品描述 数据传送基于网络,通过以太网协议或UDP/IP进行。
类似地,随后为TxFrame分配一个TxData列表,这些数据将被发送到相同的目标地址。
TxFrame受限于每个数据包的最大数据长度。
要发送发布服务器变量,至少必须定义以下属性: 目标地址:目标地址通常为多播地址,以便将发布服务器变量自动发送到一组接收器。
也可以输入单个接收器的地址。
ID:每个发布服务器变量都定义了一个数字,该数字在网络中必须是独一无二的。
基于该数字,发布服务器变量可以被订阅服务器识别。
时钟周期:时钟周期定义了发送发布服务器变量的时间间隔。
EAP周期范围通常在几毫秒到几百毫秒之间。
过程变量链接:最后但同样重要的一点是,需要在发布服务器变量与过程变量之间建立链接,以确保过程数据借助发布服务器变量被实际发送。
否则,发布服务器变量的值始终保持为零。
EAP订阅服务器的结构 EAP订阅服务器的结构与发布服务器的结构相似,如下图所示。
订阅服务器最低级别的基本元素称为RxVariable。
RxVariable定义了一个输入变量,该变量也链接到一个过程变量,并包含多个属性,例如数据类型。
在操作期间,过程变量获得订阅服务器接收的值。
相应的,上述级别的元素称为RxPDOs(RxProcessDataObjects)。
每个元素定义一组有序的RxVariables。
RxData元素(RxProcessData=RxPD)位于下一个更高级别。
它代表一个订阅服务器变量,并被理解为EAP中订阅服务器的通讯单元。
RxData元素引用一个特定的RxPDO,并定义所需属性(ID和版本),该属性必须与要接收的发布服务器变量匹配。
为了成功进行数据交换,所引用RxVariable的数据类型及其在RxPDO中的顺序必须与发布服务器变量的TxPDO相同。
因此,发布服务器变量在接收器上定义一个对象,为此必须在发送器定义一个匹配的发布服务器变量,以便进行数据交换。
期前 由于EtherCAT自动化协议的设计,对于订阅服务器而言,所接收的数据与发送器并不相关。
特别是,在一个帧内发送哪些发布服务器变量不相关。
因此,订阅服务器没有将特定订阅服务器变量合并为一个单元的帧元素或类似元素,因此只能被整体接收。
但是,如果订阅服务器只应接收特定发送器的发布服务器变量,则RxData提供将AMSNetID定义为筛选器地址的选项。
在这种情况下,至少必须为订阅服务器变量定义以下属性: ID:订阅服务器变量的ID定义哪个发布服务器变量应该接收它。
ID是一个数字,对于整个网络中的每个发布服务器变量而言,它都应该是独一无二的,其用于在接收端识别发布服务器变量。
过程变量链接:最后,只有链接到过程变量,使用发布服务器变量才有意义。
只有这样,接收到的数据才会被过程变量实际应用,并在机器控制中被考虑在内。
此外,订阅服务器变量的数据长度必须与发布服务器变量的数据长度相同。
否则,接收的发布服务器变量将被弃用。

8 版本:1.6 EAP 产品描述 2.1.1通讯方式 TwinCATEAP设备支持两种通讯类型:周期性过程数据通讯(EtherCAT类型4)和非周期性EtherAT邮箱通讯(EtherCAT类型5)。
对于邮箱通讯,TwinCATEAP设备仅支持AoE协议(AoE–ADSoverEtherCAT)。
AoE协议规范在EtherCAT协议增强版(ETG1020)中进行描述。
对于过程数据通讯,有两种不同的通讯模式: 推送数据交换模式,在这种模式下,EAP发送器周期性地或在检测到状态变化时将其过程信息发送到网络,并且EAP接收器预期到此过程信息并相应地将其接收。
此模式与TwinCAT2网络变量(NWV)的发布服务器/订阅服务器原理相同。
轮询数据交换模式,在这种模式下,EAP客户端将带有其过程信息的请求报文发送到EAP服务器,然后服务器以响应报文的形式将其过程信息返回到EAP客户端。
此外,TwinCATEAP设备在处理数据通讯过程中,支持不同的连接类型和不同寻址模式。
支持的连接类型包括: •单播:EAP信息从一个终点发送到另一个终点,即该信息被精确发送到一台PC。
•多播:EAP信息从一个终点发送到多个终点,即该信息被发送到一组PC。
•广播:EAP信息从一个终点发送到所有可访问的终点,即该信息被发送到所有设备。
可以使用MAC地址、AMSNetID或IP地址。
根据连接类型和寻址方式的配置,为EAP过程数据通讯启动特定的网络协议。
具体分配如下表所示。
表1:网络协议 寻址模式 MAC地址 AMSNetID IP地址 连接类型 单播 以太网协议 以太网协议 UDP/IP 多播 以太网协议 不支持 UDP/IP 广播 以太网协议 不支持 UDP/IP 根据不同寻址模式
(MAC、AMSNetID和IP),支持以下连接类型的单播、多播和广播: 期MAC寻址: EAP信息基于以太网协议传输。
将接收消息的网络适配器MAC地址配置为目标地址。
在该寻址模式下,EAP信息无法从一个路由器转发到另外一个子网络,因为它基于IP地址运行。
因此,该消息只能通过交换机在子网络内发送。
前广播和多播 为广播或多播信息保留专用的MAC地址: 广播MAC:FF-FF-FF-FF-FF-FF 多播MAC:多播MAC地址必须符合以下条件。
•第一个字节的最低顺序位(第1位)的值为1(组位)。
•如果MAC地址是全局唯一的,则第2位的值为0;如果该地址仅为本地唯
一,则值为
1。
•前24位(第3至24位)对应于制造商ID,称为组织唯一标识符(OUI)。
Beckhoff的OUI为“00-01-05”。
•剩余24位(第25至48位)可以为每个接口单独指定。
为EtherCAT自动化协议定义了序列“04-00-00”。
ð为TwinCATEAP设备生成的标准多播MAC地址为01:01:05:04:00:00。
AMSNetID寻址:EAP信息基于类型4EtherCAT协议(EAP)传输。
根据地址解析协议(ARP)和配置的AMSNetID确定所需的目标MAC地址。
与MAC寻址一样,EAP信息只能在子网络内发送。
EAP 版本:1.6
9 产品描述 通过AMSNetID进行通讯使用AMSNetID作为目标地址的优点在于它是逻辑地址。
使用已配置的AMSNetID,借助特定的ARP请求来确定目标设备的MAC地址。
即使更换了控制计算机或计算机网络适配器,例如导致MAC地址改变,也不必更改EAP连接配置。
唯一条件是为新的控制计算机分配原始AMSNetID。
如果配置了连接类型单播,则默认情况下还将配置订阅服务器监控机制(参见通过ARP进行远程站 监控[}11])。
IP寻址:对于EAP信息,互联网协议(IP)连同用户数据报文协议(UDP)一起用于收件人的转发和寻址。
根据地址解析协议(ARP)和配置的IP地址确定所需的目标MAC地址。
通过UDP/IP寻址,路由器可以将EAP信息转发到其他子网络(例如,包括互联网)。
为广播或多播信息保留专用的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表示介质访问控制,这里指在生产过程中分配给每个以太网设备的唯一硬件地址。
例如,可以为BeckhoffPC的以太网端口分配MAC地址00:01:05:34:05:84;“00:01:05”是BeckhoffID,第二部分在生产过程中指定。
发送器和接收器MAC地址确定了网络中两台PC之间每个以太网报文的路由。
以太网报文可以通过交换机进行进一步处理,但通常不能通过路由器进行处理。
用户数据报文协议/互联网协议(UDP/IP)接收器通过以太网报文中的附加IP标题识别,以便可以由路由器进行进一步处理。
该报文具有以太类型0x0800,该类型指定报文为IP报文。
在后续UDP标题中,端口编号0x88A4用于源端口和目标端口。
根据此端口编号,TwinCAT系统检测到该报文为实时用户数据报文。
TwinCAT基于以太类型0x88A4(如果使用以太网协议)或目标端口0x88A4(适用于UDP/IP)识别EAP报文。
相应的,TwinCAT以太网驱动器使接收到的EAP报文绕过操作系统的NDIS堆栈,因此,TwinCAT优先将其视为Beckhoff实时以太网报文。
发送EAP报文时,也会绕过操作系统的NDIS堆栈。
10 版本:1.6 EAP 产品描述 一旦TwinCATPC接收到EAP报文并将其识别出来,在进一步处理报文时,报文中传输的过程数据(PD)将被分配给EAP设备中配置的RxData。
此分配基于PDID。
如果接收器未配置带匹配PDID的RxData,则丢弃接收的PD。
最后,只有当接收到的PD数据长度和版本编号与预期的数据长度和版本编号匹配时,才会应用PD各个过程变量(PV)的值。
2.1.2通过ARP进行远程站监控 EAP基于无连接协议(以太网协议和UDP/IP)。
这些协议不返回消息确认。
TwinCATEAP设备使用地址解析协议(ARP)进行远程终端监控,以使EAP报文发送器能够检测到接收器不再可用。
EAP发布服务器中可使用ARP重试间隔来配置时帧,用于检查接收器是否仍可访问。
只有配置单播连接时,才可启用远程终端监控(订阅服务器监控)。
如果启用了订阅服务器监控,发布服务器将根据配置的时间间隔向配置的目标设备发送ARP请求报文。
如果接收器仍按预期运行,则以ARP答复报文响应。
否则,将无响应。
在诊断变量FrameState(参见发布服务器)中,如果发生错误,则设置第3位(0x0004)。
ARP处理 将MAC地址分配给网络地址(IP地址)的ARP处理由操作系统(Windows)进行。
将MAC地址分配给AMSNetID的ARP处理由TwinCAT系统进行。
2.1.3EAP发送机制 EAP报文的发送基于触发机制触发。
EAP设备的配置用于确定此触发机制的工作方式。
为每个TxData定义一个触发条件。
如果满足此触发条件,将通过EAP报文发送TxData。
换句话说:在每个EAP设备中,触发条件用于每个TxData,以配置触发机制的操作。
期有5种不同类型的触发条件,如此处所述。
触发条件的叠加各个触发条件的说明指示需要停用哪些其他触发条件。
换句话说,哪些条件不允许组合在一起。
以下前示例进一步显示了多个触发条件相互重叠的情况。
未明确定义它们如何重叠。
因此,建议禁用所有不允许的触发条件。

1.轮询请求RxPD触发条件轮询请求RxPD以轮询数据交换模式控制响应报文的发送(参见章节通讯方式[}9])。
一旦TxData具有触发条件轮询请求RxPD的有效条目,相应的TxData将在此模式下运行。
如果与EAP设备中配置的RxData对象索引相匹配,则存在有效条目。
然后,此RxData定义将返回TxData作为响应的预期请求。
如果EAP设备接收到包含预期过程数据的EAP报文,在下一个周期中,TxData将以新EAP报文的形式返回至请求报文的发送器。
因此,当触发条件轮询请求RxData启用时,EAP设备充当此TxData的轮询数据交换服务器。
如果启用了轮询请求RxPD条件,则必须禁用所有其他条件(2到5)。

2.分隔符/模数分隔符/模数条件用于指定发送TxFrame或TxData的频率(参见下图)。
该频率始终是驱动EAP设备任务周期的倍数。
分隔符值定义该倍数。
模数值指定首次发送TxFrame或TxData的起始周期。
如果分隔符的值为
0,则禁用此条件。
EAP 版本:1.6 11 产品描述如果启用了分隔符/模数条件,则条件3、4和5不相关;而应该被禁用。
必须禁用条件
1。

3.周期TxData按周期值(单位:µs)定义的特定间隔发送(参见下图)。
周期应该是任务周期的整数倍。
如果配置的值不是任务周期的整数倍,则将自动设置下一个较小的倍数,可降至0(如有必要)。
如果值为0µs,则禁用此条件。
如果启用了周期触发条件,则应禁用触发条件1、2、4和
5。
周期与任务周期之间的关系 期前 假设任务周期为5ms(5000µs),则过程数据A的周期为10000µs,过程数据B的周期为20000µs。
现在,任务周期从5ms降至15ms(15000µs)。
过程数据A和过程数据B的周期都不是任务周期的倍数;因此周期无法被任务周期整除。
所以,过程数据A仅每15ms(15000µs)发送一次,过程数据B仅每30ms(30000µs)发送一次。

4.状态改变(CoS):改变超时TxData仅在其中一个变量的值与前一个变量的值相比发生变化时才发送。
最大时间间隔定义为超时时间(单位:µs)。
如果变量值在此时间间隔内没有变化,则在时间间隔结束后,无论如何都将发送 12 版本:1.6 EAP 产品描述 TxData(参见下图)。
时间间隔值必须是任务周期的整数倍。
如果时间间隔设置为0µs,则会禁用触发条件CoS改变超时。
如果启用了触发条件CoS改变超时,则必须禁用触发条件1、2和
3。

5.状态改变(CoS):禁止时间禁止时间指定最小时间间隔,这样,在上次发送后,TxData不会在该时间间隔结束前再发送。
因此,禁止时间指定最小时间间隔(以µs为单位),即使所含Tx变量的一个值改变,也会在该时间间隔后发送TxData(参见下图)。
此时间间隔的值只能是任务周期的整数倍,并且必须小于CoS改变超时的值。
如果时间间隔设置为0µs,则会禁用触发条件禁止时间。
如果启用了禁止条件禁止时间,则应禁用触发条件1、2和
3。
触发条件配置选项 触发条件1、3和5(轮询请求RxData、周期和禁止时间)可通过EAP对象字典(参见TwinCATEAP设备文档中的章节CANopen对象字典[}46])进行配置。
触发条件的特殊性 对于定义时间间隔的所有触发条件,此间隔不能小于EAP设备驱动任务的任务周期时间。
前期不建议将这些条件组合使用,因为这些条件没有被明确定义。
以下提供了很好的复杂性示例: 最后一行清楚表明,160ms和240ms的传输不会发生,因为它被附加的分隔符/模数条件阻止。
2.1.4EAP性能 如果使用TwinCATEAP设备,则必须考虑所用网络结构的时间边界条件: EAP 版本:1.6 13 产品描述 •在仅通过交换机(例如,按照以太网协议)发送报文的网络结构中,可以实现约10ms或以下的通讯周期。
•在也可经由路由器(即通过UDP/IP)发送报文的网络结构中,可以实现约100ms的通讯周期。
在并行进行其他通讯的网络中,EAP通讯性能可能受到影响。
2.1.5EAP状态机 EAP状态机(EAPSM)控制EAP设备的状态。
根据状态,EAP设备可以访问或执行不同的功能。
以下状态之间有所区别: •初始化•操作前•安全操作和•操作 前期每个EAP设备启动后的常规状态为OP状态。
在达到OP状态前,EAP设备将依次切换到每个状态。
在每个 状态跳转期间,EAP设备都会执行特定操作。
如果在跳转期间发生错误,则无法将设备切换至相应的后续状态,因此将保持最后到达的状态。
可读错误代码用于诊断错误原因。
初始化通常,EAP设备的初始化状态是临时状态。
即,EAP设备无法明确设置为初始化状态。
但是,在某些情况下,SM会将EAP设备重置为初始化状态。
在这种状态下,邮箱通讯和EAP设备的过程数据通讯均无法进行。
操作前(Pre-Op)从初始化转变到Pre-Op的过程中,EAP设备检查邮箱是否已正确初始化。
在Pre-Op状态下,可以进行邮箱通讯,但不可进行过程数据通讯。
安全操作(Safe-Op)从Pre-Op转变到Safe-Op的过程中,EAP设备检查内部对象引用及更新: •基于周期的配置参数,•过程映像输入和输出变量的引用指针,以及•每个发布服务器/订阅服务器变量从PLC到其过程变量的映射。
在Safe-Op状态下,将进行邮箱通讯并发送发布服务器变量。
尚未收到EAP报文。
14 版本:1.6 EAP 产品描述 操作(Op)从Safe-Op转变到Op的过程中,EAP设备再次检查启动期间是否发生错误。
在Op状态下,如果需要,EAP设备将接收传入的EAP报文,并将接收到的过程数据复制到输入变量中。
进行邮箱通讯,发送发布服务器变量,并接收订阅服务器变量。
如果在上述状态转变过程中发生错误,则EAP设备保持在最后达到的状态,或重置为Safe-Op状态。
同时,将设置错误位和相应的错误代码(参见TwinCATEAP设备文档中的章节CANopen对象字典)。
例如,由于CANopen对象词典中的不一致而导致发生典型错误,从而使配置无效。
2.2技术概念 2.2.1EAP报文结构 EAP报文可以通过以太网(Ethertype=0x88A4,符合EtherCAT协议)或UDP/IP(UDP端口0x88A4)进行传输。
如果EAP基于EtherCAT协议,那么EAP专用报文部分将嵌入到EtherCAT协议的用户数据中。
EAP报文由过程数据帧标题和一个或多个过程数据(PD)组成。
PD是通过EAP交换数据的主要单元。
PD由所谓的PDO标题和至少一个过程变量(PV)组成。
总体而言,PD的过程变量构成过程数据对象(PDO)。
参见下图。
过程数据帧标题 期前 过程数据帧标题包括五个字段(参见上图中的第2行和第3行)。
后一个字段(EAPSM)扩展了twincat2的NWV报文内容。
该字段除其他信息外还包含有关EAP设备当前状态的信息。
发布服务器ID根据发布服务器ID识别报文发送器。
它包含发送器的AMSNetID。
如果接收器配置为仅处理来自特定发送器的报文,则根据发布服务器ID字段检查EAP报文是否源自此发送器。
CntPDO该字段包含报文中的过程数据编号,以便接收器可以完全处理报文。
周期该字段的值随发送器的每个任务周期而递增。
在接收端,该字段的内容可作为序列号,例如,用来检查报文是否丢失。
应在轮询数据交换模式下,在服务器端监控该字段。
Res为以后的扩展保留。
EAPSM该字段包括4个子条目。
•Res:为以后的扩展保留。
•切换:为每个新EAP报文切换此位。
•Err:该字段指示EAP状态机是否发生错误。
EAP 版本:1.6 15 产品描述 •状态:该字段包含EAP状态机当前状态值。
1:初始化2:操作前4:安全操作8:操作 不允许使用其他值PDO标题PDO标题包含4个字段,每个字段的数据长度为2个字节(参见上图中的第3行和第4行)。
PDIDPDID(16位)可作为EAP变量的全局标识,且在网络中具有唯一性。
选择过程数据标识符(PDID) 为了实现明确的分配,我们建议为连接的PC之间的每个数据通讯使用不同的ID。
原因:下图中,框2(订阅服务器)中的PC2不仅从PC1接收ID8作为框2(发布服务器)的预期变量,而且由于它们是作为广播(!)发送,因此来自框2(发布服务器)中的变量也来自PC3。
之后将无法在PC2中进行区分! 期前 版本可在此字段中为PD输入版本编号。
版本对EAP通讯的影响在章节通讯方式[}说明。
如果对过程数据进行了至少一项更改,则应该一致增加版本编号。
•过程数据的数据长度已改变。
•过程数据变量的数据类型已改变。
•PDO中的变量顺序已改变。
9]的网络协议部分中进行了 16 版本:1.6 EAP 产品描述长度该字段包含以字节为单位的过程数据长度。
不包括过程数据标题本身的长度。
质量如果值介于0x0和0xEFFF之间,则该字段的值以单位[100µs]显示过程数据的时间。
大于或等于0xF000的值表示过程数据无效。
过程变量(PV)过程变量包含要传输的实际数据(参见上面第一个图中第4行的过程Var)。
只有PV的数据长度非常大时,整个EAP报文才不大于1514字节。
计算EAP报文大小 所有标题和所有发布服务器变量的长度总和不得超过1514字节的限值。
所示EAP报文(参见下图)的总大小为14+28+2+12+8+120+72+12+8+100=376字节。
不同平台上的数据表示形式 期请注意,简单数据和复杂数据(字、数组、实数、字符串和自定义结构)在不同平台上均以不同方式在内部表 示。
x86平台使用字节对齐,其他平台(ARM)使用2字节或4字节对齐。
这意味着,如果在x86/PCPLC项目和ARMPLC项目中都创建了复杂结构,它们可能有不同的有效尺寸和不 前同的内部结构。
在示例(参见上图)中,PC2中的结构大于PC1中的结构。
不仅如此,字和实数变量不匹配,因为变量可在PC1中的任意字节位置开始,但只能在PC2中的任意偶数字节位置开始。
建议在汇编结构时遵循以下规则,以避免对齐产生的尺寸差异:•首先,所有4字节变量(必须位于可被4整除的地址)•然后,所有2字节变量(必须位于可被2整除的地址)•然后是所有1字节变量 EAP 版本:1.6 17 产品描述进一步建议: •如果在PLC中使用了数据类型字符串(x),则字符串的空终止也属于字符串本身,因此x+1必须被4整除。
否则,将没有4字节对齐。
•以上规则也适用于子结构。
其他信息参见Beckhoff信息系统,位于“TwinCAT3/TExxxx|TC3Engineering/PLC/PLC/编程参考/数据类型/自定义数据类型/结构”或“TwinCAT3/TExxxx|TC3Engineering/PLC/PLC/编程参考/声明/对齐”。
总线端子控制器(BCxxxx、BXxxxx)的使用 浮点数(数据类型实数)无法传输到总线端子控制器(BCxxxx、BXxxxx),因为总线端子控制器上的浮点数表示形式与x86平台不同。
例如,数据类型SINT可用于带符号的值。
期前 18 版本:1.6 EAP EAP连接诊断
3 EAP连接诊断 TwinCATEAP设备提供不同的变量,借助这些变量可以诊断EAP通讯的质量或故障。
可在发布服务器和订阅服务器中找到此类诊断变量。
可以通过编程评估这些变量,以便应对可能的故障。
3.1订阅服务器 对于订阅服务器,存在诊断变量质量、CycleIndex和VarState。
•质量:质量表示已接收数据的时间。
•CycleIndex:可借助CycleIndex检测传输故障。
•VarState:VarState变量表示已配置的RxData和阻止接收数据的传入过程数据之间是否存在差异。
质量 质量变量包含以[100µs]表示的时间长度,过程数据在该时间前到达接收器的时间过迟。
更新TwinCATEAP设备的输入过程映像前,这一时间长度在每个周期中即以周期递增。
在处理已接收的EAP报文的过程中,更新输入过程映像。
在此处理过程中,将每个报文的多个值分配给输入过程映像的相应变量。
期前 EAP 版本:1.6 19 EAP连接诊断 期前 如上图所示,例如,将从报文中接收的质量值分配给输入过程映像的相应质量变量。
如果EAP报文中质量值为
0,则在接收到报文后立即将输入过程映像像的质量重置为
0。
20 版本:1.6 EAP EAP连接诊断 上图显示了EAP报文延迟到达如何影响质量值:开始时,在第一个周期开始前及时收到EAP报文。
第二个周期也是一样。
之后,直到第三个周期开始后,报文才到达接收器。
其结果是,直到第四个周期才可以处理报文。
因此,质量变量值会在第三个周期时增加一个周期,但不会重置为
0。
质量变量只在第四个周期时通过分配延迟报文的质量值重置为
0。
诊断变量质量假设订阅服务器的任务周期是发布服务器的十倍,则仅每十个周期接收一次EAP报文。
因此,在九个周期内没有报文到达订阅服务器,这也意味着输入过程映像的质量变量无法在九个周期过程中重置。
因此,质量变量将以九个周期的周期时间递增。
最多增加九倍周期时间。
其结果是:“缓慢”发送器(例如:发布服务器中的100ms传输时间)与“快速”接收器(例如订阅服务器中的10ms接收时间)一起导致诊断变量质量的相应增加值。
因此,必须为EAP报文的传输和接收考虑不同的周期时间。
在这方面,特别重要的是注意发送器中已配置的触发条件(参见EAP发送机制[}11])。
EL6601/EL6614 使用EL66xx时,过程数据的到达时间恰好是该数据出现在EAP设备的输入过程映像中时,而不是数据到达EL66xx或EtherCAT设备的输入映像中时。
CycleIndexCycleIndex(尺寸:16位)是一个计数器,由发布服务器通过过程数据传输。
在发送EAP报文之前,通常在发送器端随每个新周期而递增,从而可以推断出传输中断。
它可以在接收器端(订阅服务器中)读取为CycleIndex(参见本章最上方的插图)。
VarStateVarState(尺寸:16位)提供有关RxData当前状态的信息。
VarState可能有以下值: 简短描述 位 描述 无效散列/版本 VS.0 如果由于接收到的过程数据版本与该RxProcessData的配置版本不相 符而无法接收到过程数据,则该位设置为
1。
否则,该位设置为
0。
收到无效的变量长度 VS.1 如果由于接收到的变量数据长度与配置的RxVariable不相符而无法 收到过程数据,则该位设置为
1。
否则,该位设置为
0。
期EL6601/EL6614前使用EL66xx终端时不会创建此VarState。
3.2发布服务器 诊断变量VarState和FrameState在发布服务器中可用。
通过这些诊断变量,可以阐明EAP报文传输的详细属性。
VarStateVarState(尺寸:16位)提供有关TxData当前状态的信息。
VarState可能有以下值: 简短描述未发送(跳过变量) 位 描述 VS.0 只要该值为
0,就会传输TxProcessData。
否则将暂停传输 TxProcessData。
EL6601/EL6614 使用EL66xx终端时不会创建此变量。
FrameStateFrameState(尺寸:16位)提供有关TxFrame当前状态的信息。
FrameState可能有以下值: 简短描述未发送(跳过帧) 位 描述 FS.0 只要该值为
0,就会传输以太网帧。
否则将暂停传输帧。
EAP 版本:1.6 21 EAP连接诊断 简短描述 位 错误(帧过大) FS.1 订阅服务器缺失(仅单播)FS.2 描述 如果该值为
1,则已超出以太网帧的最大尺寸。
链接的变量应较小。
仅在订阅服务器监控启用时设置此位(参见章节发布服务器框[}39])。
一旦订阅服务器监控机制检测到无法再到达以太网帧发送到的EAP设备,就会设置该值。
恢复访问后,立即将该值重置为
0。
EL6601/EL6614 使用EL66xx终端时不会创建此变量。
期前 22 版本:1.6 EAP
4 创建EAP配置 借助TwinCAT3,通过EAP在TwinCAT控制器之间创建通讯连接。
创建EAP配置 4.1添加EAP设备 通过路径[I/O]→[Devices(设备)]将EtherCAT自动化协议设备添加到TwinCAT3中(参见下图)。

1.在[Devices(设备)]节点的上下文菜单中,单击命令[AddNewItem...(添加新项目...)] ðInsertDevice(插入设备)对话框打开。

2.选择EtherCAT节点下的EtherCATAutomationProtocol(NetworkVariables)(EtherCAT自动化协议 (网络变量)),并单击[OK(确定)]确认您的选择。
期前 如果计算机有多个未使用的、支持实时处理的网络适配器,则会出现一个对话框,可以在其中选择网络适配器(参见下图)。

3.选择所需适配器,然后单击[OK(确定)]确认。
ð随后,可以在Devices(设备)节点下,通过名称Device1(EtherCATAutomationProtocol)(设备1(EtherCAT自动化协议))看到EAP设备。
EAP 版本:1.6 23 创建EAP配置 在下一步,可配置发布服务器或订阅服务器变量。
4.2添加发布服务器变量 如果EAP设备要发送变量,则必须添加发布服务器变量,以完成其配置(参见下图)。

1.在EAP设备节点(Device1(设备1))的上下文菜单中,单击条目[AddNewItem...(添加新项目...)]。
ðInsertBox(插入框)对话框打开。

2.选择NetworkVariablePublisher(网络变量发布服务器)并单击[OK(确定)]。
添加多个发布服务器如果要创建多个发布服务器,可以使用 前期Multiple(多个)输入字段设置数量。
24 版本:1.6 EAP 创建EAP配置 期随后,将发布服务器变量(TxData)附加到创建的发布服务器中(参见下图)。

3.在发布服务器的上下文菜单中,单击菜单项[AddnewItem...(添加新项目...)]。
ð出现对话框InsertNetworkVariable(插入网络变量)。

4.选择发布服务器变量的数据类型,在Name(名称)中输入名称,定义ID,然后单击[OK(确定)]。
ð此发布服务器变量的节点出现在发布服务器下(参见下图)。
分配ID为发布服务器变量选择的ID在网络中应该是唯一的。
EAP 版本:1.6 25 创建EAP配置 在配置发布服务器变量的过程中,生成输入和输出变量,它们属于EAP设备的各个节点和子节点 前期图)。
除了无条件输入/输出变量外,还有一些仅在进行特定配置设置后才会生成的条件变量。
(参见下 所有输入/输出变量最终共同构成EAP设备的过程映像。
如果它们与TwinCAT中的应用程序(例如PLC程序)变量链接在一起,则后者可以从过程映像中读取这些内容或将值写入过程映像。
输出变量的作用是写入例如控制EAP设备行为的值。
输入变量的作用是读取它们的值,以便例如评估PLC程序的状态信息并对此作出反应。
通过这种方式,EAP设备的行为会直接受到PLC的影响。
输入和输出变量的外观 过程映像的结构会有所不同,具体取决于EAP设备用于通讯的端口(PLC的网络适配器或EL66xx交换机端口终端)。
26 版本:1.6 EAP 创建EAP配置 无条件输入/输出变量的描述 FrameState发布服务器节点下的FrameState输入变量指示TxFrame的当前状态。
详细描述请参见发布服务器[}21]部分。
FrameCtrl发布服务器下的FrameCtrl输出变量可用于控制EAP报文传输。
FrameCtrl可能有以下值: 简短描述 位 禁用发送 FC.0 从ARP缓存中删除目标FC.1MAC 描述 如果该位设置为
1,将中断帧的传输。
仅当该值返回0时,帧的传输才重新开始。
仅当EAP报文通过IP或AMSNetID发送时,此控制框才有效。
如果设置了该位,则删除ARP缓存中输入的目标MAC地址。
如果EAP设备可以通过ARP确定目标MAC地址,则只有在该位重置为0时才能创建新条目。
(另请参见通过ARP进行远程站监控[}11]) 输出变量FrameCtrl的外观 通过EL66xx终端进行EAP通讯时,此变量不存在!相反,输出变量CycleIdx(尺寸:16bits)被创建,该变量用于诊断通讯连接(参见EAP连接诊断[}19])。
VarState发布服务器变量下的输入变量VarState指示TxData的当前状态。
详细描述请参见发布服务器[}分。
21]部 VarCtrl发布服务器变量下的输出变量VarCtrl可用于控制发布服务器变量的传输。
VarCtrl可能有以下值: 简短描述 位 描述 禁用发布 VC.0发布服务器变量传输中断。
仅当该位的值返回到0时,才重新启动发布服务器变量的传输。
输出变量VarCtrl的外观 期通过EL66xx终端进行EAP通讯时,此变量不存在! CycleIndex 前TxProcessData下的输出变量CycleIndex应与周期性递增的应用变量链接,因为可以评估接收端的 CycleIndex以用于诊断目的(参见EAP连接诊断[}19])。
输出变量CycleIndex的外观 只有通过EL66xx终端进行EAP通讯,输出变量CycleIndex才会存在!如果通过PC网络适配器进行EAP通讯,则此变量不存在。
然后,EAP报文中的CycleIndex随每个任务周期自动递增。
VarData发布服务器变量的输出变量VarData可与适合数据类型的任何变量链接(例如与PLC程序的变量链接)。
条件输出变量的描述 MAC/NetID/IP只有激活TargetAddressOnlineChangeable(可在线更改目标地址)选项时,发布服务器框节点下的输出变量MAC/NetID/IP才存在。
在这种情况下,可以动态更改EAP报文的目标地址(例如借助PLC程序)。
根据为TxFrame配置的寻址类型(MAC地址、AMSNetID或IP),变量的数据类型为MAC、NetID或IP。
VarId仅当激活变量ID的OnlineChangeable(可在线更改)选项时,发布服务器变量下的输出变量VarId才存在。
在这种情况下,可以动态更改TxData的ID(例如借助PLC程序)。
EAP 版本:1.6 27 创建EAP配置 4.3添加订阅服务器变量 如果EAP设备要接收变量,则需要添加订阅服务器变量,以完成其配置(参见下图)。

1.在EAP设备节点(Device1(设备1))的上下文菜单中, 单击条目[AddNewItem...(添加新项目...)]。
ðInsertBox(插入框)对话框打开。

2.选择NetworkVariableSubscriber(网络变量订阅服务器)并单击[OK(确定)]。
添加多个订阅服务器如果要创建多个订阅服务器,可以使用Multiple(多个)输入字段设置数量。
最后,将订阅服务器变量(RxData)附加到生成的订阅服务器(参见下图)。
期前
3.在订阅服务器的上下文菜单中,单击菜单项[AddnewItem...(添加新项目...)]。
ð将打开ImportNetworkVariable(导入网络变量)对话框,可借助其导入或定义订阅服务器变量。
有三种选择。
28 版本:1.6 EAP 创建EAP配置 BrowseforComputer(浏览计算机)可以自动建立与网络中另一个控制器的发布服务器变量的连接。
ü另一个控制器必须位于已知目标系统的列表中。

4.单击[BrowseforComputer…(浏览计算机...)]。
ðChooseTargetSystem(选择目标系统)对话框打开。

5.从列表中选择所需的控制计算机,然后单击[OK(确定)]。
ð将列出此计算机提供的所有发布服务器变量。

6.选择所需的发布服务器变量,并点击[OK(确定)]确认。
ð创建订阅服务器变量以满足所选的发布服务器变量。
BrowseforFile(浏览文件)作为BrowseforComputer(浏览计算机)的另一种选择,可以通过浏览(将要)文件来自动建立与另一台控制计算机变量的连接。

1.单击[BrowseforFile…(浏览文件...)]。
期ð将打开用于浏览文件系统的对话框。

2.浏览文件系统以找到所需的项目文件,然后单击[OK(确定)]确认选择。
ð将列出此计算机提供的所有发布服务器变量。

3.选择所需的发布服务器变量,并点击[OK(确定)]确认。
前ð创建订阅服务器变量以满足所选的发布服务器变量。
在控制计算机上激活的项目 CreatenewVariable(创建新变量)最后一个选项是手动配置订阅服务器变量(参见下图)。
EAP 版本:1.6 29 创建EAP配置 期前
1.单击[CreatenewVariable(创建新变量)]。
ð出现对话框InsertNetworkVariable(插入网络变量)。

2.选择订阅服务器变量的数据类型,在Name(名称)中输入名称,定义ID,然后单击[OK(确定)]。
ð此订阅服务器变量的节点出现在订阅服务器下方(参见下图)。
分配ID所选的订阅服务器变量ID必须与要接收的发布服务器变量ID相同。
30 版本:1.6 EAP 创建EAP配置 无条件输入和输出变量的描述 FrameState/FrameCtrl已保留发布服务器节点下的输入变量FrameState和输出变量FrameCtrl,并且目前未使用。
VarState 订阅服务器变量下的输入变量VarState指示了RxData的当前状态。
详细描述请参见订阅服务器[} 分。
VarCtrl订阅服务器变量下的输出变量VarCtrl可用于控制接收。
VarCtrl可能有以下值: 期简短描述 忽略散列/版本 位 描述 VC.0如果该位设为值
1,则在接收过程数据时取消版本检查。
前输出变量VarCtrl的外观 通过EL66xx终端进行EAP通讯时,此变量不存在! 19]部 VarData订阅服务器变量的输入变量VarData可以与TwinCAT中适合数据类型的任何所需变量链接(例如与PLC程序的变量链接)。
在接收端诊断变量的接收。
为此可使用订阅服务器变量下的两个输入变量质量和CycleIndex。
质量质量变量提供了分辨率为100µs的计数器。
计数器值指示自该订阅服务器变量接收最后数据后的时间长度。
下图中的示例显示了断开网络插口(计数增加)并重新连接(计数值0)后的质量变量在线值 EAP 版本:1.6 31 创建EAP配置 CycleIndexCycleIndex步骤。
前期变量在每个发布服务器周期中递增。
下图中的示例显示了查看 CycleIndex 变量在线值时的典型 32 版本:1.6 EAP 创建EAP配置条件输出变量的描述VarId仅当激活变量ID的OnlineChangeable(可在线更改)选项时,订阅服务器变量下的输出变量VarId才存在。
在这种情况下,可以动态更改订阅服务器变量ID(例如借助PLC程序)。
4.4使用自定义数据类型 创建EAP变量TwinCAT中有两种常见方法来创建自定义数据类型。
一方面,可以通过数据类型选项卡上项目树图的System(系统)节点创建自己的数据类型(参见下一个插图)。
然后,此数据类型可用于TwinCAT项目的所有模块。
因此它是一个全局数据类型。
另一方面,用户通常通过定义DUT(数据单元类型)在PLC项目中创建自己的数据类型。
此数据类型最初仅可本地用于PLC项目。
该数据类型对其他模块,例如I/O配置(因此也包括EAP设备)隐藏。
下图中,您可以看到在PLC中定义了数据类型MyType(我的类型)。
此数据类型还用于PLC程序的输出变量。
但是,如果要在EAP设备的发布服务器框中创建此数据类型变量,则自定义数据类型不会出现在可用数据类型列表中。
期前 可通过System(系统)节点,可基于DataTypes(数据类型)选项卡上的数据类型列表找到数据类型仅用于本地的相应注释。
在下图中,名称为MyType(我的类型)的数据类型出现在列表中。
但是,在Type(类型)属性下有一条注解,即相关数据类型是临时数据(Tmp)。
这意味着相关数据类型是非全局的。
EAP 版本:1.6 33 创建EAP配置 如果必须在全局上下文中使用来自PLC的本地数据类型,则可以将相应的DUT转换为全局数据类型(参见下图)。
期前
1.在DUT的上下文菜单中单击命令[ConverttoGlobalDataType(转换为全局数据类型)]。
ð将自动从PLC项目中删除DUT节点,并创建该类型的全局声明(参见下图)。
在TwinCAT中,同一种数据类型的描述必须是唯一的。
因此,从PLC中删除了数据类型(原始DUT)的定义。
或者,可以在转换后在基于XML的TwinCAT项目文件中找到数据类型的定义,通过这种方式,整个TwinCAT项目就可以全局使用该数据类型。
数据类型作为本地和全局变量出现 将数据类型转换为全局数据类型后,后者在数据类型列表中出现两次:作为本地数据类型或全局数据类型。
仅当不再引用本地数据类型时,才从列表中删除。
转换后,通常需要再次编译PLC项目。
从而删除从PLC程序到本地数据类型的引用,仅引用全局类型。
因此,数据类型应仅在列表中出现一次,如下图所示。
34 版本:1.6 EAP 创建EAP配置 一旦将自定义数据类型转换为全局数据类型,即可在EAP设备中创建发布服务器或订阅服务器变量的过程中从可用数据类型列表中进行选择(参见下图)。
期前 更改全局数据类型 一旦将数据类型转换为全局数据类型,其定义将不再受PLC项目的控制。
数据类型的定义位于基于XML的TwinCAT项目文件中。
现在必须通过System(系统)节点的DataTypes(数据类型)选项卡,在TwinCAT项目中更改此数据类型(参见下图)。
EAP 版本:1.6 35 创建EAP配置 期
1.从列表中选择要更改的数据类型。

2.右键单击,然后在上下文菜单中选择命令[Edit(编辑)]。
前ðTMCEditor(TMC编辑器)打开(TMC=TwinCAT模块配置)。

3.借助TMCEditors(TMC编辑器),您可以根据需要更改数据类型,然后将其保存。
ð按照保存步骤创建数据类型的新版本,并将TwinCAT项目中的原始版本标记为Hidden(隐藏),即可在 TwinCAT项目中接受更改。
使用相关数据类型的PLC程序会自动使用最新版本的数据类型。
为了在机器代码中也接受数据类型的更改,必须在更改后重新编译PLC项目。
如果存在此数据类型的PLC变量并将其与EAP设备的相应发布服务器或订阅服务器变量链接,一旦重新编译PLC项目,就会将最新版本的数据类型与发布服务器/订阅服务器变量一起使用。
如果EAP变量与PLC变量的链接不存在,则EAP设备将继续为其变量使用数据类型的原始旧版本。
如果要使用新版本,则必须首先删除相关的EAP变量,然后再添加所需数据类型的新EAP变量。
数据类型的旧版本将保留在TwinCAT项目中,直至不再引用该旧版本为止。
36 版本:1.6 EAP 配置EAP设备
5 配置EAP设备 使用TwinCAT创建的EAP设备最初配置为标准设置,如章节创建EAP配置[}23]中所述。
选择标准设置是为了使用户只需要确保接收器端数据变量的顺序与发送器端相同,且为要在发送器和接收器双方传输的数据变量选择相同的数据类型。
以这种方式配置的EAP连接始终以推送数据交换模式通讯(参见通讯方式[}9])。
可以借助EAP设备的配置选项和下级框(发布服务器/订阅服务器,发布服务器/订阅服务器变量–参见下图)自由配置EAP通讯。
此外,可以读取关于已启用EAP设备的当前配置信息。
5.1TwinCATEAP设备 借助EAP设备的配置选项,可以指定通过其发送EAP报文的网络接口卡(NIC)和通过ADS/AMS访问EAP设备的AMSNetID。
然后通过选择网络接口卡,自动指定可通过其访问EAP设备的IP地址(如果是UDP/IP 期通讯)。
此外,还可以访问EAP设备的对象字典。
通用General(通用)选项卡上的标准对话框适用于所有TwinCAT设备和框。
可在此对话框中输入描述性名称和有关设备或框描述的有用注释。
前适配器 Adapter(适配器)选项卡上的对话框显示所选网络接口卡,或启用分配的适配器。
协议Protocol(协议)选项卡上的对话框(参见下图)允许分配特定的AMSNetID,通过它,EAP设备可在运行中由ADS/AMS寻址。
此外,还可以通过[ExportConfigurationFile…(导出配置文件…)]按钮将加载项目的当前EAP配置修订导出至XML文件。
此XML文件具有已定义的方案,也称为EAP设备配置(EDC)。
CoE–在线CoE-Online(CoE-在线)选项卡上的对话框显示EAP对象字典(OD)。
比较此处的章节CANopen对象字典[}46]和下图。
借助TwinCAT,一旦配置了TwinCATEAP设备,将自动创建对象字典。
它包含所有配置信息,并且一旦元素添加到当前配置中或从中移除,即会通过条目自动扩展或缩减。
EAP 版本:1.6 37 配置EAP设备 CoE-Online(CoE-在线)对话框的控件元素有以下含义: 状态显示的对象字典状态在文本字段中输出(上图中的黄色背景)。
如果TwinCAT未连接至已启用的EAP设备,则OfflineData(离线数据)状态始终显示。
例如,如果配置的AMSNetID不同于已启用EAP设备的实际AMSNetID,则不会建立连接。
否则,将显示OnlineData(在线数据)状态: 期前 在在线目录中 在离线目录中 读取EAP设备的实际当前目录。
这可能需要几秒钟,显示EAP设备的离线目录。
在这种情况下,修改无 具体取决于大小和周期时间 意义或无法进行。
可在TwinCAT对话框CoE-Online(CoE-在线)中可在TwinCAT对话框CoE-Online(CoE-在线) 看到绿色的Online(在线) 中看到红色的Offline(离线) 读取另一个EAP设备实例的在线数据 可以将协议选项卡上的AMSNetID设置为网络中任何所需EAP设备的AMSNetID,以便通过CoE–Online(CoE–在线)选项卡由TwinCAT读取在线数据。
为此,必须启用EAP设备,并且该设备必须存在ADS/AMS路由。
显示离线数据借助ShowOfflineData(显示离线数据)选项,您可以设置在线显示或离线显示对象字典的内容。
在线意味着从EAP设备读取并显示已启用配置的OD内容。
离线意味着显示在当前加载的TwinCAT项目中借助TwinCAT配置的OD内容。
单次更新如果标记了SingleUpdate(单次更新)选项,则始终在扩展对象(单击“+”符号)以显示子条目,或在窗口中滚动时,才从EAP设备精确读取OD内容。
38 版本:1.6 EAP 配置EAP设备 自动更新如果标记了AutoUpdate(自动更新)选项,则会从EAP设备周期读取所有可见子条目的OD内容,并更新显示。
更新列表更新列表(UpdateList)按钮用于从EAP设备读取所有可见对象条目的当前OD内容,并显示这些内容。
高级单击Advanced(高级)按钮可打开AdvancedSettings(高级设置)对话框(参见下图)。
借助此对话框,可以从EAP设备读取整个或部分OD描述。
该选项特别有利于在操作过程中将对象添加到对象字典中或从对象字典中删除,因为TwinCAT中显示的OD描述不再与EAP设备的当前OD一致。
期前 启动TwinCAT从对象字典中生成一个数据流,包括一系列发送到EAP设备的启动命令。
一旦启用现有配置,将立即进行传输。
生成的启动命令显示在Startup(启动)选项卡的对话框中。
还请参阅有关此2TwinCATEAP设备[}38] 5.2发布服务器框 用于发送EAP报文的基本协议在SendingOptions(发送选项)中的PublisherBox(发布服务器框)配置页上进行设置(参见下图)。
两种可用的基本协议:以太网协议和用户数据报文协议在章节基本原则[}7]中的章节通讯方式[}9]的网络协议部分中有所介绍。
这两种协议中均可配置三种不同的连接方式Broadcast(广播)、Multicast(多播)或Unicast(单播)。
如果是Multicast(多播)和Unicast(单播)连接方式,还必须定义一个目标地址,可借助该目标地址在网络中到达被访地址。
EAP 版本:1.6 39 配置EAP设备 广播Broadcast(广播)报文由一个网络设备传输到网络中的所有其他设备。
Broadcast(广播)的每个收件人自行决定是否处理该信息。
以太网协议级别的Broadcast(广播)被发送到目标MAC地址FF:FF:FF:FF:FF:FF,而UDP/IP级别的广播发送到IP地址255.255.255.255。
多播 Multicast(多播)报文由一个网络设备传输到网络中所选的设备组。
Multicast(多播)消息的收件人必须知 道该消息发送到的Multicast(多播)地址,并且必须将其报告给其网络接口卡。
否则,网络接口卡将丢弃该 Multicast(多播)信息。
根据使用的基本协议,将多播MAC地址直接配置为目标地址,或者由TwinCAT转换为多播MAC地址的多播IP地址将配置为目标地址。
多播IP地址必须在范围224.0.0.0到239,255,255,255(IPv4)之间。
单播 期Unicast(单播)报文由一个网络设备精确传输到另一个网络设备。
如果寻址基于以太网协议进行,那么接收 器的MAC地址将配置为目标地址。
或者,也可以配置接收器的AMSNetID。
如果报文基于UDP/IP发送,那么接收器的IP地址将配置为目标地址(参见下图)。
前使用广播和多播 注意 在MAC级别或IP级别以广播或多播形式发送EAP报文会导致更高的网络负载,这取决于周期时间,因为这些报文被发送到所有网络设备!这可能会导致简单的网络设备(例如打印机)崩溃。
在较短周期内,所有网络通信量可能被阻塞。
为避免网络过载或简单的非实时网络设备过载,建议 •一方面使用单播寻址, •另一方面,将周期时间设置为绝对必要的最小时间。
关于周期时间设置的说明可以在下文中找到。
ð如果配置了连接类型单播,则默认情况下还将配置订阅服务器监控机制(参见通过ARP进行远程站监控[}11])。
40 版本:1.6 EAP 配置EAP设备 禁用订阅服务器监控可以通过DisableSubscriberMonitoring(禁用订阅服务器监控)选项禁用SubscriberMonitoring(订阅服务器监控)机制。
ARP重试间隔输入字段ARPRetryInterval(ARP重试间隔)中的时间设置指定以毫秒(ms)为单位的时间间隔,在该时间间隔内将请求发送到接收器,以检查其可用性。
期前 可在线更改目标地址TargetAddressOnlineChangeable(可在线更改目标地址)选项也仅可用于单播。
如果启用此功能,则在EAP设备的过程映像中还有另一个用于发布服务器的输出变量。
根据配置的基本协议,此变量定义IP地址、MAC地址或AMSNetID。
可借助PLC程序更改输出变量。
此方法可用于动态更改已配置发布服务器的目标地址(另请参考章节添加发布服务器变量[}24]中的条件输出)。
数据交换可借助DataExchange(数据交换)属性更改发送EAP报文的节奏(参见EAP发送机制[}11])。
数据交换 如果正在使用EL66xx,则无法使用DataExchange(数据交换)属性。
EAP 版本:1.6 41 配置EAP设备 VLAN支持可以借助与管理型交换机连接的VLANSupport(VLAN支持)属性,为EAP报文指定通过VLAN(虚拟局域网)的固定路由。
如果启用了VLAN,则EAP信息将带有VLAN标题。
因此,有两个属性用于确定所需的VLAN并指定在虚拟网络中处理信息的优先级: •VLAN信息ID:定义要在其中发送信息的VLANID(介于0至4095之间),以及 •VLAN信息优先级:定义信息在VLAN中的优先级(高优先级=
7,低优先级=0)。
初始状态 借助属性“禁用初始化”,可以在启动系统后阻止发布服务器发送数据包。
随后可通过将FrameState的值设置为0来启用发送。
框索引: 不同发布服务器和订阅服务器的顺序数,只读。
5.3发布服务器变量 每个发布服务器变量还具有其自己的特殊属性,可以通过其自己的配置页进行参数化(参见下图)。
期前 仅改变时如果启用OnChangeOnly(仅改变时)选项,则只有发布服务器变量的值改变时,TxProcessData才会与TxFrame一起发送。
Timeout(超时)字段中的值指定最后一次发送发布服务器变量后且再次发送之前经过的毫秒数(ms),即使此时发布服务器变量的值不应改变(EAP发送机制[}11]中的更多详细信息)。
仅改变时 如果正在使用EL66xx,则无法使用OnChangeOnly(仅改变时)属性。
变量IdVariableId(=ProcessDataID)(变量ID)是发布服务器变量的标识号。
如果标记了OnlineChangeable(可在线更改)选项,则可以借助PLC程序在线更改。
数据类型版本可在此处指定版本号。
如果在收到变量时检查了两个版本号是否相等,则必须在订阅服务器端配置相同的版本号(默认进行此比较)。
版本号用于确保发布服务器变量的数据类型与相应的订阅服务器变量匹配。
如果仅在发布服务器或订阅服务器端更改数据类型,则必须增加版本号,以防止接收该变量,从而防止用错误的数据类型解释其值。
42 版本:1.6 EAP 配置EAP设备 数据交换可以借助DataExchange(数据交换)属性更改发送发布服务器变量的节奏(更多信息参见EAP发送机制[}11])。
数据交换如果正在使用EL66xx,则无法使用DataExchange(数据交换)属性。
5.4订阅服务器框 通常与订阅服务器配置页面定义的EAP报文的接收有关的属性(参见下图)。
这些属性包含: 期接收选项 通过选择ReceivingOptions(接收选项),您可以配置是否应接收所有进入的EAP报文–即不考虑发送器–还是仅接收来自特定发送器的EAP报文。
在后一种情况下,应在PublisherNetId(发布服务器NetId)后的输入域中输入期望发送器的AMSNetID。
前多播配置 借助MulticastConfiguration(多播配置)选项,您可以指定是否应将输入的多播地址报告至配置的网络接口卡。
此处参数化的多播地址必须与为发送器配置的多播地址完全相同,前提是要接收后者的EAP报文(参见章节发布服务器框[}39]中的多播)。
标准多播MAC即使未选择Multicast(多播)选项,也始终向TwinCATEAP设备的网络接口卡报告Beckhoff标准多播地址01:01:05:04:00:00。
5.5订阅服务器变量 特别与订阅服务器变量相关的属性在订阅服务器变量配置页面上定义(参见下图)。
这些属性包含: EAP 版本:1.6 43 配置EAP设备 变量IdVariableId(=ProcessDataID)(变量ID)是订阅服务器变量的标识号。
如果标记了OnlineChangeable(可在线更改)选项,则可以借助PLC程序在线更改。
数据类型每个订阅服务器变量都有一个版本号(参见章节EAP报文结构[}15]中的版本)。
版本号可在“DataType 期Version(数据类型版本)”中配置。
在接收到订阅服务器变量之前验证(参考通讯方式[}9]中的网络协议 部分)。
如果版本号不匹配,则丢弃传入的ProcessData。
如果启用了IgnoreVersion(onceDataTypeHash)(忽略版本)(一旦数据类型散列),则忽略此验证。
前成功数据交换的配置设置 为了实现从发布服务器变量到订阅服务器变量的数据交换,涉及的控制计算机配置必须彼此匹配。
章节通讯方式[}9]的网络协议部分包含对EAP报文或发布服务器变量的接收顺序描述。
结合以下方面,可清楚了解如何保证数据交换: •必须选择发布服务器的目标地址,以便EAP报文到达收件人。
带广播或多播寻址的报文到达每个网络设备。
必须为单播报文配置收件人的准确目标地址。
•一旦在接收器(订阅服务器)的ReceivingOptions(接收选项)中选择了AnyPublisher(任意发布服务器)选项,则每个进入的EAP报文均会被接收并进行进一步处理,而不考虑其发送器。
仅在以下情况下例外: ◦在发送器端配置的多播地址与TwinCATEAP多播MAC(01:01:04:05:00:00)中不同,且 ◦发送器端(发布服务器)的目标地址与订阅服务器端配置的多播MAC地址不匹配。
•如果在接收器(订阅服务器)的ReceivingOptions(接收选项)中指定了PublisherNetId(发布服务器NetId),则仅接收和进一步处理来自指定发送器(发布服务器)的EAP报文。
•在网络中,发布服务器变量和订阅服务器变量的ID必须完全相同且唯
一。
如果发送的发布服务器变量ID与订阅服务器变量ID不匹配,则在接收后丢弃该变量。
•发布服务器变量的版本(散列)和关联的订阅服务器变量必须匹配。
除非接收器(订阅服务器)中的IgnoreDataTypeHash(忽略数据类型散列)已启用,否则其版本不匹配订阅服务器变量版本的已发送发布服务器变量将在接收时被丢弃。
•发布服务器变量的原始数据长度必须与订阅服务器变量的预期原始数据长度匹配。
否则将在接收时丢弃发布服务器变量。
44 版本:1.6 EAP 配置EAP设备 5.6TwinCAT2和3之间的EAP EtherCAT自动化协议与TwinCAT2中的常规网络变量(NWV)兼容。
但是,如果要在TwinCAT2NWV和TwinCAT3EAP之间建立通讯,则需要对TwinCAT3下EAP的网络变量进行一些扩展。
遵守发布服务器NetID 与NWV相反,TwinCATEAP设备是一个独立的软件设备,以AMSNetID作为目标地址。
因此,在EAP设备发送的报文中,此AMSNetID在过程数据帧标题的发布服务器ID域中作为发送器地址输入。
对于NWV,在此位置输入控制计算机自身的AMSNetID(即TwinCAT路由器NetID)。
由于此差异,在接收EAP报文时,TwinCATEAP设备运作如下:ü假设将具体的AMSNetID取代任意发布服务器输入接收器(订阅服务器)的ReceivingOptions(接收 选项)类别中,作为可从中接收报文的发送器地址(发布服务器NetID)。

1.如果配置的发布服务器NetID是一个路由器NetID(在最后两个位置始终为值.1.1),则在接收时,EAP 设备仅将发送器地址的前4个字节与发布服务器NetID进行比较。

2.但是,如果配置的发布服务器NetID属于EAP设备的NetID(最后两个位置的数值从来不是.1.1,而 是更大数值,例如.2.1),则接收时,EAP设备将发送器地址的所有6个字节与发布服务器NetID进行比较。
ð使用此逻辑,可以在接收EAP报文时配置以下过滤:•可以接收来自整个网络的所有EAP报文,无论其来自哪个发送器(任意发布服务器)。
•可以接收来自特定控制计算机的所有EAP报文,即从该控制计算机上运行的所有EAP设备接收报文。
然后,控制计算机的路由器NetID必须作为发布服务器NetID输入。
•仅可接收来自特定EAP设备的EAP报文。
然后,传输EAP设备的AMSNetID必须作为发布服务器 NetID输入。
“IgnoreDataTypeHash(忽略数据类型散列)”选项 需要注意的另一点是,TwinCAT版本2和3之间的数据类型系统的扩展: 使用复杂(即非本机)数据类型时,TwinCAT2计算出一个明确识别该数据类型的16位散列值。
对于本机数 期据类型,该数据类型散列始终为
0。
发送发布服务器变量时,数据类型散列将作为版本号一起发送。
然后,在 接收器端将此版本号与已配置的订阅服务器变量的数据散列类型进行比较。
如果比较报表相关性,则订阅服务器接受该数据。
在TwinCAT3中,每个数据类型均分配了一个全局唯一标识符(GUID)。
其数据长度为128位。
因此,在配 前置发布服务器或订阅服务器变量时,始终将数值0作为版本号。
由于TwinCAT2和3之间的这一差异,在使用复杂数据类型时,必须遵循以下步骤:ü假设要在TwinCAT2和TwinCAT3之间发送复杂的、非本机数据类型的变量。

1.这种情况下,必须为订阅服务器变量激活“IgnoreDataTypeHash(忽略数据类型散列)”。
ð此设置取消了接收器端的比较操作,并且订阅服务器无需比较版本即可接受数据。
通过“BrowseforComputer(浏览计算机)”或“BrowseforFile(浏览文件)”创建订阅服务器变量。
由于将TwinCAT2项目的文件格式更改为TwinCAT3项目,用于创建与现有发布服务器变量匹配的订阅服务器变量的两个变量“BrowseforComputer(浏览计算机)”或“BrowseforFile(浏览文件)”目前仅向下兼容。
也就是说,当前只能使用来自TwinCAT3系统的两个变量,以便基于发布服务器变量从TwinCAT2项目自动创建订阅服务器变量。
相反,则必须手动创建订阅服务器变量(变量“创建新变量”)。
EAP 版本:1.6 45 CANopen对象字典
6 CANopen对象字典 CiA组织(自动化中的CAN)追求的目标之一是通过设备描述的标准化来创建同一类型设备之间的顺序和可交换性。
为此目的定义了所谓的CANopen配置文件,其决定性地描述了设备可更改和不可更改的参数。
此类参数至少包括下列特征: •索引编号–用于明确标识所有参数。
索引编号分为主索引和子索引,用于标记并排列相关参数。
子索引通过冒号“:”分隔。
这实现了两级(逻辑程序段)排列。
主索引始终以十六进制形式在数值范围0…65535(0x0…0xFFFF)内使用。
子索引通常以十进制形式在数值范围0…255(0x0…0xFF)内使用。
•正式名称–采用易于理解、自描述的文本形式 •可访问性–例如参数是只能读取还是也可以写入 •数据类型–根据参数不同,其类型可以是文本(字符串)、数字(整数、实数)、布尔或字节域。
CANopen配置文件中定义了参数的索引编号分配。
通过这种方式,所有参数如同在表格中一样按层次结构进行组织。
然后,该表格包含所有特定于设备的参数。
称为CANopen对象字典(OD)。
TwinCATEAP设备的所有参数均借助对象字典进行类似组织。
原则上,其结构与CANopenOD的结构完全相同。
EAP设备的OD配置文件由EtherCAT技术协会(ETG)在EtherCAT自动化协议规定中指定(ETG1005,参见网页)。
此配置文件由配置文件编号5002识别。
其定义了配置文件类型(主配置文件),并保存在OD参数设备类型的低位字(位0-15)中。
高位字(位16-31)包含编号1000。
其定义模块配置文件(子配置文件)。
这将为设备类型参数生成一个数值0x03e8138a(65541002dec),该值也保存在标识对象中的产品代码下(索引0x1018:02)。
OD中的对象示例:TwinCATEAP设备的配置文件根据四个参数明确识别。
这些内容汇总在名为Identity(标识)的逻辑程序段中,其主索引为4120(0x1018)。
VendorID(供应商ID)参数的索引编号为4120:01(0x1018:01),输入值2作为Beckhoff设备的标识符。
逻辑程序段Identity(标识)也被指定为对象,并从用户的角度表示如下: 期Identity(标识)对象的所有参数均具有属性RO(只读),因为用户不得更改参数。
前借助对象字典的参数,可以描述许多不同的属性。
此类参数的示例包括供应商标识符、版本号、过程数据设 置、设备名称和校准值等。
EAP设备的调试以及诊断需要OD内容,并且可能非常广泛。
6.1EAP对象字典(子配置文件1000) EAP对象字典分为标准对象和配置文件特定对象。
标准对象对所有模块具有相同意义。
配置文件特定对象对于支持配置文件类型5002的所有模块具有相同意义。
除此之外,对象可以是静态或动态。
只要EAP设备本身的实例存在,静态对象就存在。
在EAP设备运行过程中,可以生成、也可以再次删除动态对象。
对象字典的划分 EAP设备的对象字典分为以下范围: •索引0x1000–0x1FFF:描述通讯配置文件的范围。
有关设备标识的常规信息(如名称、供应商和序列号等)保存在范围0x1000–0x1018内。
此外,PDOMapping(PDO映射)对象(PDO=ProcessDataObject)在范围0x1600–0x17FF和0x1A00–0x1BFF内定义。
PDOMapping(PDO映射)定义汇总OD其他对象的哪些内容以构成PDO。
然后,PDO描述实时周期性发送的用户数据内容。
•索引0x6000–0x9FFF:描述功能相关参数的范围。
在ETG标准1005中指定功能相关参数。
这些参数及其结构在设备配置文件编号5002、模块配置文件1000下定义。
此定义构成通过EtherCAT自动化协议进行数据交换的基础。
以下区域涉及配置文件的各个对象类型以及其结构关系。
46 版本:1.6 EAP CANopen对象字典 •索引0xF000–0xFFFF:描述设备特定属性的范围。
在此范围内有一些对象,借助这些对象可以通过TwinCATEAP设备执行诊断和控制功能。
期前 标准化配置文件范围的对象类型及其结构 下面列出了动态对象,并解释了它们之间的关系。
上图显示了这些关系: 用于参数化订阅服务器的对象: •RxVariable[0x7000+n…0x7FFF]:RxVariable定义可与控制应用程序的相应输入变量链接的任何类型的变量(例如PLC)。
•RxProcessDataObject(RxPDO)[0x1600+n…0x17FF]:RxPDO定义将一项过程数据表示为一个单元的RxVariables的订购数量。
•RxProcessData(RxPD)[0xE000+4*n…0xEFFC]:RxPD定义接收PDO的属性(参见订阅服务器框[}表了EAP通讯的主接收单元。
43]和订阅服务器变量[} 43])。
因此,RxPD代 •RxProcessDataInfo[0xE002+4*n…0xEFFE]:RxPDInfo对象通过EAP规范中未找到的单个属性(特别是属于TwinCATEAP设备的属性)扩展RxPD对象。
EAP 版本:1.6 47 CANopen对象字典 用于参数化发布服务器的对象: •TxVariable[0x6000+n…0x6FFF]:TxVariable对象定义可与控制应用程序的相应输出变量链接的任何类型的变量(例如PLC)。
•TxProcessDataObject(TxPDO)[0x1A00+n…0x1BFF]:TxPDO定义将一项过程数据表示为一个单元的TxVariables的订购数量。
•TxProcessData(TxPD)[0xD000+4*n…0xDFFC]:TxPD对象定义用于传输PDO的属性(参见发布服务器变量[}主传输单元。
42])。
因此,TxPD代表了EAP通讯的 •TxProcessDataInfo[0xD002+4*n…0xDFFE]:TxPDInfo对象通过EAP规范中未找到的单个属性(特别是属于TwinCATEAP设备的属性)扩展TxPD对象。
•TxFrame[0x8000+n*8...0x8FF8]:TxFrame对象定义用于在网络中传输一个或多个TxPDs的传输属性(参见发布服务器框[}39])。
•TxPD分配[0x8001+n*8…0x8FF9]:将TxPDAssignment对象分配给每个TxFrame对象。
TxPDAssignment对象的索引高于TxFrame对象的索引。
分配对象指定在相应的TxFrame中一起发送哪些TxPDs。
•TxFrameInfo[0x8002+n*8…0x8FFA]:TxFrameInfo对象通过EAP规范中未找到的单个属性(特别是属于TwinCATEAP设备的属性)扩展TxFrame对象。
标准对象(0x1000-0x1FFF) 静态对象 索引1000设备类型 索引1000:
0 名称设备类型 索引1008设备名称 索引1008:
0 名称设备名称 索引100A软件版本 含义 数据类型标记 EAP设备类型: UINT32RO 低位字包含使用的CoE配置文件(5002)。
高位字包含使用的CoE配置文件(1000)。
期含义前EAP设备名称 数据类型 标记 字符串[256]RO 索引100A:
0 名称软件版本 含义EAP设备软件版本 数据类型标记UINT32RO 索引1018标识 索引1018:01018:01 名称标识供应商ID 含义EAP设备标识信息EAP设备供应商ID 1018:02 产品代码 EAP设备产品代码 1018:03 产品修订 EAP设备修订号 1018:04 序列号 EAP设备序列号。
0表示未使用 动态对象索引1600-17FFRxPDO映射 数据类型UINT8UINT32 标记RORO UINT32RO UINT32RO UINT32RO 缺省0x03E8138A(65541002dec) 缺省EtherCAT自动化协议 缺省0x00000000(0dec) 缺省0x04(4dec)0x00000002(2dec)0x03E8138A(65541002dec)0x00030000(196608dec)0x0(0dec) 48 版本:1.6 EAP CANopen对象字典 索引 名称 1600+n:
0 所用元素编号 1600+n:01-25RxVariablem5 含义 数据类型 RxPDO映射对象中的条目编号 UINT8 位0-7:输入对象的位长(如果PDO有UINT32间隙,对应于间隙位长)位8-15:输入对象的分索引(如果PDO有间隙,则为0) 位16-31:输入对象的索引(如果PDO有间隙,则为0) 标记RWRW 缺省#(分索引)- 索引1A00-1BFFTxPDO映射 索引 名称 1A00+n:
0 所用元素编号 1A00+n:01-25TxVariablem5 含义 数据类型 TxPDO映射对象中的条目编号 UINT8 位0-7:输入对象的位长(如果PDO有UINT32间隙,对应于间隙位长)位8-15:输入对象的分索引(如果PDO有间隙,则为0) 位16-31:输入对象的索引(如果PDO有间隙,则为0) 标记RWRW 缺省#(分索引)- 配置文件特定对象(0x6000-0xFFFF) 静态对象 索引F100EAP状态信息 索引F100:0F100:01 F100:02 名称 含义 数据类型标记 EAP状态状态字 EAP设备状态信息低字节代码表示EAP设备的当前状态:0=无效 期1=初始化 2=操作前4=安全操作8=操作 前高字节代码表示是否发生错误: UINT8 RO UINT16RO 0=无错 1=出错 状态错误代码用于标识已发生错误的错误编号。
0表示未UINT32RO识别到错误。
缺省0x02(2dec)0x0008(8dec) 0x03E8138A(65541002dec) 索引F200EAP控制信息 索引F200:0F200:01 名称EAP控制控制字 含义用于检查EAP设备状态的参数对将EAP设备置于期望状态的请求进行编码:1=初始化 2=操作前 4=安全操作 8=操作 索引F020-F022帧列表 索引F020+n:
0 名称 含义 所用元素编号已配置TxFrame的编号 数据类型UINT8UINT16 标记RORO 数据类型标记 UINT8 RW 缺省0x01(2dec)0x0008(8dec) 缺省#(分索引) EAP 版本:1.6 49 CANopen对象字典 索引 名称 含义 数据类型 F020+n:01-25框1(发布服值0x00000000=第一个TxFrame对象UINT32
4 务器) (索引8000)不存在 标记RW 缺省 0x000003E8(1000dec) 值0x000003E8(=1000):第一个TxFrame对象(索引8000)存在 不允许其他值。
该对象可用于生成/删除TxFrames 索引F800EAP信息 索引 名称 含义 数据类型标记 F800:
0 所用元素编号EAP信息对象中的条目编号 UINT8 RW F800:01 可用的Tx指示配置的TxVariable对象的最大编号UINT16RW Var (0x6nnn)。
F800:02 可用的Rx指示配置的RxVariable对象的最大编号UINT16RW Var (0x7nnn)。
F800:03 可用的Tx过指示配置的发送过程数据对象的最大编号UINT16RW 程数据 (0xDnnn)。
F800:04 可用的Rx过指示配置的RxProcessData对象的最大UINT16RW 程数据 编号(0xEnnn)。
F800:05 可用的TxPDOs 指示配置的TxPDO对象的最大编号(0x1Ann)。
UINT16RW F800:06 可用的Rx指示配置的RxPDO对象的最大编号 UINT16RW F800:07 期F800:08 PDOs (0x16nn)。
可用的Tx指示配置的TxFrame对象的最大编号UINT16RO Frames (0x8nnn)。
设备周期 指示操作EAP设备的周期。
UINT32RO 过程数据周期(例如0xDnnn:07)仅可采用该值的整数倍。
前索引F801位图 索引F801:0F801:01F801:02F801:03 F801:04 F801:05 名称 含义 数据类型 所用元素编号位图对象中的条目编号 UINT8 索引位图TxVar 现有TxVariable对象的位代码映射。
八进制字 如果设置了位n,则存在索引0x6000+符串 n。
[512] 索引位图RxVar 现有RxVariable对象的位代码映射。
八进制字 如果设置了位n,则存在索引0x7000+符串 n。
[512] 索引位图Tx现有TxProcessData对象的位代码映 过程数据 射。
八进制字符串 如果设置了位n,则存在索引0xD000+[128]4*n。
索引位图RxProcess数据 现有RxProcessData对象的位代码映射。
如果设置了位n,则存在索引0xE000+4*n。
八进制字符串 [128] 索引位图TxPDOs 现有TxPDO对象的位代码映射。
如果设置了位n,则存在索引0x1A00+n。
八进制字符串 [64] 标记RWRWRWRW RW RW 缺省0x08(8dec)- 缺省0x06(6dec)- - - - - 50 版本:1.6 EAP CANopen对象字典 索引F801:06 名称 索引位图RxPDOs 含义现有RxPDO对象的位代码映射。
如果设置了位n,则存在索引0x1600+n。
数据类型八进制字符串 [64] 标记RW 缺省- 索引F920AoE设置 索引F920:0F920:01 F920:02 F920:03 F920:04F920:05 名称 含义 数据类型 所用元素编号AoE设置对象中的条目编号 UINT8 本地AoENetID EAP设备的本地AoENetID 八进制字符串 [6] 路由器NetID关联的AoE路由器的AoENetID 八进制字符串 [6] 本地MAC地此EAP设备所用网卡的本地MAC地址。
八进制字 址 符串 [6] 本地IP地址此EAP设备所用相应网卡的本地IP地UINT32址。
本地端口名称EAP设备及其AoE端口注册到TwinCAT字符串 ADS路由器的名称 [31] 标记RWRW RO RO RWRW 动态对象 索引6000-6FFFTxVariables 索引6000+n:06000+n:01 名称所用元素编号大小 期含义 TxVariable对象中的条目编号以位为单位的数据长度(分索引2) 数据类型UINT8UINT16 标记RWRW 6000+n:02数据6000+n:03名称 前变量的当前数据 变量名 八进制字RO符串[尺寸/8] 字符串RW [256] 6000+n:04类型 作为GUID的对象的数据类型 GUID RW 6000+n:05保留 - UINT32RW 6000+n:29符号名称 应用中链接变量的符号名称(例如PLC字符串RW 任务-PLC- [256] Projectname.MAIN.iCounter) 6000+n:30AoE地址 Octet7..2:AoENetIDOctet1..0:AoE端口 包含当前过程变量的对象字典 八进制字RW符串[8] 6000+n:32映像配置 代码指示过程映像的哪些输入/输出变量UINT32RO属于该对象 缺省0x05(5dec)- - - EtherCAT自动化协议 缺省0x22(34dec)- VarData- - - 6000+n:336000+n:34 数据偏移量保留 输出过程映像中的字节偏移量- UINT32RO - UINT32RO - 索引7000-7FFFRx变量 索引7000+n:07000+n:01 名称所用元素编号大小 含义RxVariable对象中的条目编号以位为单位的数据长度(分索引2) 数据类型UINT8UINT16 标记RWRW 缺省0x22(34dec)- EAP 版本:1.6 51 CANopen对象字典 索引7000+n:02 名称数据 7000+n:03 7000+n:047000+n:057000+n:29 名称 类型保留符号名称 7000+n:30AoE地址 7000+n:32 7000+n:337000+n:34 映像配置 保留数据偏移量 含义 数据类型 变量的当前数据 八进制字符串[尺寸/8] 变量名 字符串[256] 作为GUID的对象的数据类型 GUID UINT32 应用中链接变量的符号名称(例如PLC字符串 任务-PLC- [256] Projectname.MAIN.iCounter) Octet7..2:AoENetIDOctet1..0:AoE端口 包含当前过程变量的对象字典 八进制字符串[8] 代码指示过程映像的哪些输入/输出变量UINT32属于该对象 - UINT32 输出过程映像中的字节偏移量 UINT32 标记RW RWRWRWRW RW RORORO 缺省- VarData- - - 索引8000-8FF8TxFrame 索引8000+n*8:08000+n*8:038000+n*8:04 8000+n*8:05 名称 含义 数据类型标记 所用元素编号TxFrame对象中的条目编号 UINT8 RW 名称 帧名称 字符串RW[256] 设备类型 子配置文件类型(与对象 UINT32RO 0xF020-0xF022中的相应条目完全相 同) 目标地址供应商用于对等通讯; 期ID 0=未用 UINT32RW 轮询连接: 前通讯合作伙伴的供应商ID 缺省0x32(50dec)- 0x03E8(1000dec) - 8000+n*8:068000+n*8:078000+n*8:088000+n*8:30 8000+n*8:318000+n*8:32 推送连接:未用 目标地址产品代用于对等通讯; 码 0=未用 UINT32RW 目标地址修订编用于对等通讯; 号 0=未用 UINT32RW 目标地址序列号用于对等通讯; UINT32RW 0=未用 目标AMSNetIDAoENetID(订阅服务器网络ID) 八进制字RW 如果数值不为
0,则目标地址SI32符串 和SI33必须具有数值
0。
[6] 网关IP地址如果SI33不具有数值
0,则必须设UINT32RW置标准网关IP地址。
目标MAC地址MAC地址 八进制字RW 如果数值不为
0,则目标地址SI30符串 和SI33必须具有数值
0。
[6] MAC地址可以是单播、多播或广播地址。
- 010105040000 52 版本:1.6 EAP CANopen对象字典 索引8000+n*8:33 8000+n*8:34 8000+n*8:35 8000+n*8:36 8000+n*8:378000+n*8:388000+n*8:398000+n*8:408000+n*8:488000+n*8:498000+n*8:50 名称 含义 数据类型标记 目标IP地址IP地址 UINT32RW 如果数值不为
0,则目标地址SI30和SI32必须具有数值
0。
IP地址可以是单播、多播或广播地址。
VLAN信息 VLAN信息由以下域组成: UINT32RW 位0-15:VLan类型(8100)位16-18:优先级位19:保留位20-31:VLanID 如果数值为
0,则不使用VLAN标题 订阅服务器监控如果数值为
1,则ARP请求会定期发UINT8 RW 送到已配置的目标地址,以确保收件 人仍在回复。
否则将停止发送 TxFrame。
订阅服务器监控只能与单播通讯一起使用。
可更改目标如果可更改目标具有数值
0,则过程UINT8 RO 映像中的目标地址不显示任何变量。
否则,在显示目标地址时采用以下映 射: 1:目标MAC地址2:目标AMSNetID3:目标IP地址 监控重试周期废弃 UINT32RO 监控重试周期如果SI35=0x01,则在等待时间UINT32RW(以µs为单位)之后发送新的ARP请求。
期帧控件 位0=1:停止发送TxFrame UINT16RW 位1=1:目标MAC地址已从ARP高速缓冲存储器中删除 帧状态 位0=1:TxFrame未发送 UINT16RO 前位1=1:错误(帧过大) 位2=1:订阅服务器不再应答(仅当SI35=0x01时) 控件符号名称应用中已链接变量的符号名称(例如字符串RW PLC任务) [256] 状态符号名称应用中已链接变量的符号名称(例如字符串RW PLC任务) [256] 目标地址符号名应用中已链接变量的符号名称(例如字符串RW 称 PLC任务) [256] 如果设置了符号名称,则会在过程映像中显示配置的目标地址,并相应地设置SI36。
缺省- 0x00000000(0dec) 0x00(0dec) 0x00(0dec) 0xF4240(1000000dec)0x0000(0dec)0x0000(0dec) - 索引8001-8FF9TxProcessData分配对象 索引8001+n*8:08001+n*8:01-255 名称所用元素编号条目n 含义 数据类型 TxPD分配对象中的条目编号 UINT8
1.-255.TxFrame的TxProcessDataUINT16 标记RWRW 缺省#(分索引)- 索引8002-8FFATxFrame信息 EAP 版本:1.6 53 CANopen对象字典 索引8002+n*8:08002+n*8:01 8002+n*8:028002+n*8:038002+n*8:048002+n*8:32 名称所用元素编号映像配置 控件偏移量状态偏移量NetID偏移量IoDivMod 含义TxFrameInfo对象中的条目编号 代码指示过程映像的哪些输入/输出变量属于该对象低位字=输入过程映像位0=1:状态高位字=输出过程映像位0=1:控件位1=1:目标MAC地址位2=1:目标AMSNetID位3=1:目标IP地址输出过程映像中的字节偏移量输入过程映像中的字节偏移量输出过程映像中的字节偏移量 分隔符/模数值定义了发送下一个TxFrame之前的周期等待时间。
数据类型UINT8UINT32 UINT32UINT32UINT32UINT16 标记RWRO RORORORW 缺省0x21(33dec)0x00010001(65537dec) 0x0000(0dec) 位0-7(分隔符):等待的周期数 位8-15(模数):指定从其开始计算的开始周期 8002+n*8:33CoE索引用于未来用途 UINT16RW - 索引D000-DFFCTxProcessData 索引 期D000+n*4:
0 D000+n*4:01 前D000+n*4:02 名称所用元素编号名称 含义TxPD对象中的条目编号 帧名称 PDO编号PDO编号定义了已分配TxPDO的对象索 数据类型UINT8 字符串[256]UINT16 标记RW RW RW 引 D000+n*4:03过程数据IDPDID定义了0…65535范围内的一个UINT16RW值,该值必须明确位于通讯网络内。
此ID是过程数据帧标题的一部分。
D000+n*4:04版本 该版本是0…65535范围内的一个值,并UINT16RW且一旦对此TxPD做出更改(例如对另一个TxPDO的引用),该值应一致地递增。
此版本是过程数据帧标题的一部分。
D000+n*4:05 CoS改变时废弃,参见分索引
8。
周期 UINT16RO D000+n*4:06CoS禁止时禁止时间指定了时间间隔(以µs为单UINT32RW 间 位),在该时间间隔内,即使已分配PDO 的过程变量值已改变,也不会再次发送 TxPD。
如果值为
0,则不禁止传输TxPD。
如果值>
0,则分索引8(CoS改变时超时)的值也必须>0;但是,分索引7和10的值必须为
0。
缺省0x22(34dec)- - - 54 版本:1.6 EAP CANopen对象字典 索引 名称 含义 数据类型标记 D000+n*4:07周期 周期定义了周期发送TxPD的时间间隔UINT32RW(以µs为单位)。
如果周期值大于
0,则分索引6、8和10必须为
0。
如果值为
0,则根本不会发送TxPD。
D000+n*4:08CoS改变时改变时超时指定时间间隔的最大持续时间UINT32RW 超时 (以µs为单位),在该时间内不会发送 TxPD,除非在该时间内,已分配PDO的 过程变量值发生改变。
如果值为
0,则在状态改变时不发送过程变量。
如果值>
0,则分索引7和10的值必须为
0。
D000+n*4:10轮询请求Rx轮询请求RxPD定义了RxProcessDataUINT16RW PD 的对象索引,一旦定义的RxPD接收到新 值,该对象索引将触发此TxPD的传输。
然后,TxPD在轮询数据交换模式中作为 服务器运行。
如果值为
0,则停用轮询数据交换模式。
如果值>
0,则分索引6、7和8的值必须为
0。
D000+n*4:11 过程数据控位0=1:停止传输TxPD制 UINT16RW D000+n*4:12 过程数据状位0=1:未发送TxPD态 UINT16RO D000+n*4:32控件符号名应用中已链接变量的符号名称(例如PLC字符串RW 称 任务) [256] D000+n*4:33状态符号名应用中已链接变量的符号名称(例如PLC字符串RW 称 任务) [256] 期D000+n*4:34ID符号名称应用中已链接变量的符号名称(例如PLC字符串RW 任务) [256] 前索引D002-DFFETxProcessData信息 索引D002+n*4:0D002+n*4:01 D002+n*4:02D002+n*4:03D002+n*4:04D002+n*4:32 名称所用元素编号映像配置 控件偏移量状态偏移量ID偏移量IoDivMod 含义TxPDInfo对象中的条目编号 代码指示过程映像的哪些输入/输出变量属于该对象低位字=输入过程映像位0=1:状态高位字=输出过程映像位0=1:控件位1=1:过程数据ID输出过程映像中的字节偏移量输入过程映像中的字节偏移量输出过程映像中的字节偏移量分隔符/模数值定义了再次发送TxPD之前的周期等待时间。
数据类型UINT8UINT32 UINT32UINT32UINT32UINT16 标记RWRO RORORORW 缺省- - - 0x0000(0dec)- 缺省0x20(32dec)0x00010001(65537dec) 0x0000(0dec) 位0-7(分隔符):等待的周期数 位8-15(模数):指定从其开始计算的开始周期 EAP 版本:1.6 55 CANopen对象字典 索引E000-EFFCRxProcessData 索引E000+n*4:0E000+n*4:01E000+n*4:02E000+n*4:03E000+n*4:04E000+n*4:05E000+n*4:06 E000+n*4:07 E000+n*4:08 E000+n*4:09 E000+n*4:10 E000+n*4:11E000+n*4:12 E000+n*4:13E000+n*4:14 名称 含义 数据类型标记 所用元素编RxPD对象中的条目编号号 UINT8 RW 名称 帧名称 字符串RW[256] PDO编号PDO编号定义了已分配RxPDO的对象索UINT16RW引 过程数据IDPDID定义了0…65535范围内的一个UINT16RW值,该值与接收的过程数据ID匹配。
版本 该版本是0…65535范围内的一个值,并UINT16RW且一旦对此RxPD做出更改(例如对另一个RxPDO的引用),该值应一致地递增。
忽略版本如果值为
0,则根据分索引4的版本检UINT8 RW 查接收的过程数据版本(散列值)。
如果值为
1,则停用版本检查。
发布服务器发布服务器NetID的定义。
只有当EAP八进制字RW NetID 报文从具有此NetID的发送器发送时,符串 才会对其进行处理。
[6] 如果发布服务器NetID的值为
0,则停 用此过滤器。
MAC地址IP地址更新时间 可以定义一个使用NIC(网络接口卡)作八进制字RW 为多播信息包接收过滤器的多播MAC地符串 址。
[6] 如果值为
0,则停用过滤器功能。
可以定义一个使用NIC(网络接口卡)作UINT32RW为多播信息包接收过滤器的多播IP地址。
期如果值为
0,则停用过滤器功能。
更新时间用于指定时间间隔(以µs为单UINT32RW位),在该时间间隔内必须接收新的过程数据。
前如果值为
0,则停用此机制。
轮询请求轮询请求TxPD定义了作为请求发送的UINT16RW TxPD TxProcessData的对象索引,以便接收带 有适当过程数据的EAP报文。
然后,TxPD在轮询数据交换模式中作为服务器运行。
如果值为
0,则停用轮询数据交换模式。
过程数据控位0=1:停用该版本编号或散列值的检UINT16RW 制 查。
过程数据状位0=1:接收到具有无效版本编号(散UINT16RO 态 列值)的过程数据 位1=1:接收到具有无效长度的过程数据 位2=1:超出超时轮询响应 过程数据质该质量指示自上次更新此RxProcessDataUINT16RO 量 (也就是说自上次接收到数据以来)的时 间(以100µs为单位) 过程数据周接收到有效过程数据时,会从EAP报文UINT16RO 期索引 中为周期索引分配已发送周期索引(参见 过程数据帧标题) 缺省0x25(37dec)- 0x00(0dec) 000000000000 010105040000 0x00000000(0dec)0x00000000(0dec)0x0000(0dec) 0x0000(0dec)- - - 56 版本:1.6 EAP CANopen对象字典 索引E000+n*4:32E000+n*4:33E000+n*4:34E000+n*4:35E000+n*4:36E000+n*4:37 名称 含义 数据类型 控件符号名应用中已链接变量的符号名称(例如PLC字符串 称 任务) [256] 状态符号名应用中已链接变量的符号名称(例如PLC字符串 称 任务) [256] ID符号名称应用中已链接变量的符号名称(例如PLC字符串 任务) [256] 质量符号名应用中已链接变量的符号名称(例如PLC字符串 称 任务) [256] 周期索引符应用中已链接变量的符号名称(例如PLC字符串 号名称 任务) [256] 超时轮询响指定必须接收到对轮询请求响应的最大时UINT32 应 间间隔(以µs为单位)。
如果值>0并且在发送轮询请求后该超时已过期,则在PD状态(分索引12)中设置位
2。
如果值为
0,则停用此监控。
标记RWRWRWRWRWRW 缺省0x00000000(0dec) 索引E002-EFFERxProcessDataInfo 索引E002+n*4:0E002+n*4:01 E000+n*4:02E002+n*4:03E002+n*4:04E002+n*4:05E002+n*4:06 名称 含义 数据类型标记 所用元素编RxPD信息对象中的条目编号号 UINT8 RW 映像配置代码指示过程映像的哪些输入/输出变量UINT32RO 前期控件偏移量 状态偏

标签: #文件 #文件 #代码 #文件 #文件 #引线 #中文 #直径