2.6 EtherCAT应用层服务
2.6.1 对应的IEC标准
1.标准的范围以及所对应的IEC标准
ETG.1000系列文件是在ETG(EtherCATTechnologyGroup)范围内对EtherCAT技术做详细说明。它分为以下几个部分。
①ETG.1000.2:物理层服务定义和协议规范。
②ETG.1000.3:数据链路层服务定义。
③ETG.1000.4:数据链路层协议规范。
④ETG.1000.5:应用层服务定义。
⑤ETG.1000.6:应用层协议规范。
以上各文件依赖于IEC61158系列文件Type12中相一致的部分。
2.概要
现场总线应用层(FAL)为用户程序提供一种访问现场总线通信环境的方法,以此观点,FAL可以看作“相应应用程序间的窗口”。
针对EtherCAT现场总线的自动化环境和材料,本部分为应用程序之间基本的时间关键及非时间关键信息的交流提供公共要素。
应用层服务以一种抽象的方式定义了由不同类型的现场总线应用层提供的外部可视的服务,它借助于以下几点来实现。
1) 用来定义用户能通过使用FAL服务来操作的应用资源(对象) 的抽象模型。
2) 服务原语的动作和事件。
3) 原语动作和事件相关的参数以及它们采用的格式。
4) 动作和事件之间的关系及其有效顺序。
应用层服务是为定义下列两项服务。
1)在用户与现场总线参考模型之间的边界处的FAL用户。
2)在应用层与现场总线参考模型的系统管理之间的边界处的系统管理。
应用层服务指定了在IEC现场总线应用层的结构和服务,并与OSI基本参考模型(GB/T9387)及OSI应用层结构(GB/T17176)相一致。
包含在应用过程中的FAL应用实体(AE)提供FAL服务和协议。FALAE由一组面向对象的应用服务单元(ASE)和一个管理AE的层管理实体(LME)组成。ASE 提供操作一组应用过程对象(APO)类的通信服务。在FALASE中有一个管理ASE,它能提供一组用于FAL类实例管理的通用服务。
从应用的角度,尽管这些服务定义了请求和响应怎样被发布和传送,但它们都不包括关于正请求和响应中的应用发布和传送内容的规范。也就是,应用的行为方面没有被定义,这使得FAL用户在标准化这种对象行为时更具灵活性。除了这些服务之外,在该部分中也定义了一些支持服务,以提供对控制操作的某些方面的FAL的访问。
3.规范
主要目的是定义适合于时间关键通信的应用层概念性服务的特点,并以此补充OSI基本参考模型,来指导服务于时间关键的应用层协议的开发。
其次的目的是为了从现有的工业通信协议中另辟路径。
本规范可作为正式DL编程接口的根据。不过,它不是正式的编程接口,任何正式的接口都需要解决本规范未涉及的实现问题,包括如下内容。
1)各种多八位位组服务参数的大小和八位位组的排序。
2) 成对的请求和证实,或指示和响应以及原语之间的相关性。
4.一致性
规范不指定个别的实现或产品,也不具体约束工业自动化系统中的应用层实体的实现。
规范虽然没有与设备的一致性,然而,通过执行相应的满足本部分中任意给定类型的应用层服务定义的应用层协议,可以实现一致性。
2.6.2 EtherCAT应用层服务的概念
1.工作原理
应用层服务和EtherCAT配套标准描述了一种实时以太网技术,旨在最大限度地利用全双工以太网带宽。媒体访问控制采用主站/从站原则,主站节点(通常是控制系统)发送以太网帧给从站节点,从站节点从这些帧中提取和插入数据。
从以太网的角度看,一个EtherCAT网段就是一个单个的以太网设备,它接收和发送标准的ISO/IEC8802-3以太网帧。但这种以太网设备并不局限于带后方的微处理器的单个以太网控制器,它可能还包含大量的EtherCAT从站设备。这些从站设备直接处理到来的以太网帧,从中读取数据和/或插入自己的数据,并把帧传给下一个从站设备。网段内的最后一个从站设备将已完全处理的以太网帧返回,并通过第一个从站设备把它作为响应帧发给主站。
此方法采用以太网全双工的模式:双方向的通信都是独立执行的,主站设备和由一个或多个从站设备构成的EtherCAT网段直接通信,不需要使用交换机。
工业通信系统在数据传输特性方面需要满足不同的需求。参数数据通常以非周期性、大批量方式传输,其中时序要求相对不苛刻,传输通常由控制系统触发。诊断数据也是以非周期性、事件驱动方式传输,但时序要求更为苛刻,传输通常由外围设备触发。
另一方面,过程数据以不同的周期时间周期性的传输。过程数据通信要求严苛的时序。EtherCAT应用层支持多种不同的服务和协议来满足这些不同的要求。
2.通信模型
EtherCAT应用层区分主站和从站,通信关系总是由主站发起。
一个EtherCAT网段包括至少一个主站设备和一个或多个从站设备。所有从站设备支持EtherCAT状态机(ESM)和支持EtherCAT过程数据的传输。
应用关系模型与通信关系无关。主从关系是标准的应用关系。
3.应用层要素描述
(1)管理
必备的管理由一组控制从站状态的对象组成。到DL 的接口提供对所有DL 寄存器的读访问。
(2)信息接口
必备的从站信息接口包含所有能够永久保存的对象。
(3) 同步支持
可选的等时同步操作支持包含用于二进制信号的同步性和时间戳的多个属性。
(4) 对从站的访问
实时实体包含网络触发的数据交换接口和用户触发的访问从站对象的接口。主要用于网络触发访问的对象称为PDO。SDO是用于用户触发访问的对象。
PDO的访问方法是读写一个数据缓存区。生产者消费者模型如图2-47所示,数据传递后没有直接确认。主站和从站通过其他的方式来监控数据传递(如WDT和工作计数器)。生产者既可以是主站也可以是从站。
SDO的访问遵循客户机/服务器原则。客户机向服务器发出服务调用,从站开始执行服务并随后返回结果。通常需要一个响应来结束这类服务。
客户机服务器模型如图2-48所示。该图给出了这种信息交互的工作流程。
图2-47 生产者消费者模型
服务器也可能向客户机发起未经请求的交互。这种模式通常用于传输服务器触发的数据。这种服务类型称之为通知,服务器触发调用如图2-49所示。
图2-48 客户机服务器模型
图2-49 服务器触发调用
(5)TCP/UDP/IP协议组
该可选的协议专门用于使用标准互联网协议组的从站。协议本身已经在IETF中定义。EOE描述了IP协议(或类似的通信方式)到EtherCAT数据链路层的映射。IP是无连接的双向数据流通信类型。
(6)文件访问
文件传输的主要用途是下载和上传程序文件和配置数据。文件访问是通过客户机/服务器协议架构完成的。
4.从站参考模型
(1)从站参考模型到OSI基本参考模型的映射
EtherCAT的描述使用了ISO/IEC7498信息处理系统—开放系统互连—基本参考模型(OSI)的原理、方法和模型。OSI模型提供了一种通信标准分层的方法,其中各层可以独立开发和修改。EtherCAT规范定义了完整的自顶向下的OSI协议栈和一些栈用户的功能。OSI中间的3~6层功能被并入到了EtherCAT数据链路层或EtherCAT应用层。同样地,EtherCAT应用层提供了和现场总线应用层通用的用户特性,这简化了用户操作,从站参考模型如图2-50所示。
图2-50 从站参考模型
(2)数据链路层特性
数据链路层为通过EtherCATDL连接的设备之间的数据通信提供基本时间关键的支持。
数据链路层的任务包括计算、比较及生成帧校验序列,并通过从以太网帧中提取或插入数据来实现通信。这些任务依据在被预先定义的内存位置中的数据链路层参数来实现。在物理内存中通过邮箱配置或过程数据部分使得应用层能够使用应用数据。
另外,数据链路层还有一些协调主从站交互的数据结构,例如AL控制/状态和事件,及同步管理器设定等。
(3)从站应用层分类
1)简单的从站设备
从应用层角度看,从站设备被分为不具有应用控制器的简单设备和具有应用控制器的复杂设备。
基本从站和完整型从站的DL从站分类独立于应用层,因为DL寻址机制在AL接口中是不可见的。
简单设备有一个固定的过程数据布局,这在设备描述文件中描述。
简单的从站设备如图2-51所示。
图2-51 简单的从站设备
简单设备可以在没有本地应用程序做出反应的情况下证实AL管理服务。在安全状态下操作不需要特别的反应(例如,值0将以与没有有效值发送的相同方式处理)。
2) 复杂的从站设备(Complexslavedevice)
复杂的从站设备如图2-52所示。
复杂从站设备支持以下内容。
①ESM.
② 邮箱(可选)。
③CoE对象字典(如果支持邮箱时推荐)。
④SDO服务,读和/或写对象字典数据项(如果支持邮箱,推荐)。
⑤SDO信息服务,以紧凑的格式读取对象字典中定义的对象和每个项的描述(如果支持邮箱,则推荐)。
图2-52 复杂的从站设备
为了传输过程数据,必须可以读取描述过程数据布局的PDO映射对象和同步管理器PDO分配对象。如果一个复杂设备支持可配置的过程数据,通过写PDO 映射对象和/或同步管理器PDO 分配对象来配置。
在这个标准中定义了以下不同的交互类型。
① 基于EtherCAT服务上的CAN应用协议(CoE)。
② 基于EtherCAT服务上的以太网(EoE)。
③ 基于EtherCAT服务上的文件存取(FoE)。
不同的类型用于寻址不同的对象类。这些类型可以在单个应用关联中混合使用。
5.主站参考模型
(1)概述
主站使用在从站章节中描述的服务与从站进行通信。此外,在主站中,为每个从站都定义了一个从站处理程序(Handler)用于控制从站的ESM,以及实现从站到从站通过邮箱进行通信的路由器(Router),主站功能如图2-53所示。
(2)从站处理程序
主站应为每个从站支持一个从站处理程序,以通过使用状态服务来控制从站的ESM。从站处理程序就是从站ESM在主站的映像。另外,从站处理程序在改变从站ESM的状态之前可以发送SDO服务。
图2-53 主站功能
(3)路由器
路由器可以用于以下几个应用。
1)路由从客户端从站到服务器从站的邮箱服务。
2) 路由从服务器从站到客户机从站的邮箱服务响应。
3) 转发来自第三方设备的邮箱服务。
4)转发到第三方设备的邮箱服务响应。
路由器的任务:在将邮箱服务路由到由原始地址字段寻址的服务器之前,路由器用客户机地址或虚拟地址来覆盖邮箱服务的地址字段;在将邮箱服务响应路由到原始地址字段寻址的客户机从站,或使用虚拟地址时相应的IP 地址或MAC地址之前,路由器用服务器站地址覆盖邮箱服务响应的地址字段。
2.6.3 EtherCAT应用层通信模型规范
1.ASEs
(1)过程数据ASE
在EtherCAT应用层环境中,从站的每一个应用过程都可包含相应实例的若干对象以传递过程数据,它由PDO构成。过程数据的内容可以通过PDO映射与CoEASE的同步管理器PDO分配对象来表述。对于简单从站设备,过程数据为固定的,并通过设备描述文件定义。
过程数据通信通常采用缓存类型的应用存储器,以使主站和从站总是可以访问过程数据。
EtherCAT还提供其他服务来非周期地读取过程数据对象值,以及为输入和输出数据对象指示新值。
过程数据对象由相关服务隐式寻址。服务器/提供者中的输入或输出数据的间隔由相应的配置属性来决定。
过程数据ASE采用生产者/消费者的访问模式。这就意味着用输入值更新过程数据和用过程数据更新输出与数据传输不关联。通过过程输出数据(ProcessOutputData)指示服务原语来表示接收到一个新值。
过程输出数据(ProcessOutputData)服务原语被映射到在DL中描述的缓冲类型应用内存原语。推荐但不要求使用FMMU实体。使用FMMU配置时,单个过程输出数据请求能导致多个过程输出数据指示。过程数据证实原语可以告诉主站更新过程是否成功。
过程输出数据序列如图2-54所示。该图给出了主站和从站间用于过程输出数据序列的原语。
图2-54 过程输出数据序列
主站通常发出一个DL写或读写服务向多个从站发送过程输出数据。每个从站都获得相应的同步管理器(SyncManager)AL事件。从站的AL控制器可以随时从相关的应用内存中读取过程输出数据。
过程输入数据(ProcessInputData)服务的原语被映射到在DL中描述的缓存类型的应用内存原语。
过程输入数据序列如图2-55所示。该图给出了主站和从站间过程输入数据序列的原语。
主站通常使用DL逻辑读或读写服务从多个从站中读取过程输入数据。主站从预先写入的缓存中获取数据。如果输入数据被读出,每个从站获得相应的同步管理器(SyncManager)AL事件。从站的AL控制器可以随时向相关的应用内存中写入过程输入数据。
接下来描述过程数据ASE的形式模型及其服务。此外,过程数据ASE 表示设备的实际输入和输出结构。
图2-55 过程输入数据序列
对于所有的服务原语,同时被活动的服务原语写入的参数内存区不应重叠。
(2)SIIASE
在EtherCAT应用层环境中,从站的每个应用过程都有一个包含用于标识设备所有信息的SII。从站信息接口被永久保存,并定义了启动(boot)配置数据和应用信息数据。启动配置数据包含上电时初始化从站控制器接口的设置。应用信息数据包含产品代码,主站使用该代码查找设备对应的配置文件。从站控制器(ESC)支持使用从站信息接口寄存器访问从站信息接口。
接下来描述SIIASE的形式模型及其服务。此外,SIIASE 代表的是实际的设备输入和输出结构。
(3)CoEASE
1) 概要
CANopen是一个最初为基于CAN的系统开发的通信协议。它是具有高度灵活配置能力的标准化嵌入式网络。
CANopen (CiADS301)的欧洲标准为EN50325-4。
EtherCAT采用了CAN应用协议服务定义。
对象字典包括参数、应用数据和在过程数据接口和应用数据(PDO映射)之间的映射信息。CoE服务器模型如图2-56所示,可以通过服务数据对象(SDO)访问对象字典的各个条目。
2)对象字典
① 对象字典结构
图2-56CoE服务器模型
对象字典以标准化的方式包含设备中与CoE相关的所有数据对象。它是设备参数数据结构的集合,其数据结构可以通过SDO上传和下载的服务进行访问。
通过SDO的信息服务功能,可以读取对象字典可用的条目和在对象字典中条目的描述。组成对象字典的SDO各区的描述见表2-14。
表2-14 组成对象字典的SDO 各区的描述
② 数据类型区
数据类型区包含以下部分:
a.StaticDatatypes静态数据类型,通用简单数据类型的定义。
b.ComplexDatatypes复杂数据类型,通用结构化数据类型的定义。
c.ManufacturerSpecificComplexDatatypes制造商特定复杂数据类型,制造商特定结构数据类型的定义。
d.DeviceProfileSpecificStaticDatatypes设备行规特定静态数据类型,设备行规特定简单数据类型的定义。
e.DeviceProfileSpecificComplexDatatypes设备行规特定复杂数据类型,设备行规特定结构数据类型的定义。
f.EnumerationDatatypes枚举数据类型,设备特定枚举数据类型的定义。
2.AR
(1)概要
一个从站只有一个AR端点。该端点由描述从站应用的状态和状态改变的EtherCAT 状态机(ESM)控制。从站应用的实际状态被应用反映在AL状态寄存器中,主站请求的状态改变在AL控制寄存器中指示。
ESM逻辑上位于EtherCAT从站控制器(ESC)和应用之间。
(2) 状态服务
如果从站不支持邮箱服务,从站控制器应该由主站配置为立即证实AL状态寄存器中的状态改变。