2.7 EtherCAT应用层协议规范

2.7.1 CoE编码

CoE的一般属性类型描述如下:

CoE的编码见表2-15。

表2-15CoE的编码

2.7.2 EtherCAT的FAL协议状态机

1.总体结构

FAL协议状态机结构如图2-57所示。

FAL行为由三个集成的协议机规定。FSPM是属于FAL类规范的FAL服务与特定的AREP之间的服务接口。

EtherCAT FAL为从站提供一组协议机,从而主站可以预知从站的行为。

FSPM主要负责以下活动。

1)从FAL服务用户接受服务原语,并将其转换为FAL内部原语。

2)根据隐式寻址机制选择ARPM状态机,并将带服务参数FAL内部原语发送到ARPM。

图2-57FAL协议状态机结构

3) 从ARPM接受FAL内部原语,并将其转换为用于FAL服务用户的服务原语。

4) 将FAL服务原语交付给FAL用户。

ARPM为应用关系规定传输类型。

DMPM规定到数据链路层的映射,因此,DMPM定义了LMPM和MAC两种协议机。

(1) 现场总线服务协议机(FieldbusServiceProtocolMachines,FSPM)

FSPM协调用于各种服务和应用关系的底层状态机。

FSPM基本上是一个映射协议机。其主要任务是向负责相关服务的协议机传递该服务,随后将证实以及响应转发给用户。另外,该协议机中包含的基本冗余控制模式可使两个AR合并为一个具有更高可用性的单个实体。

(2)应用关系协议机(ApplicationRelationshipProtocolMachines,ARPM)

ARPM负责单个服务程序执行,AR协议机如图2-58所示。过程数据交互直接由DL处理和ESM控制。应用有多种运行邮箱协议的方法。

(3)DLL映射协议机(DLLMappingProtocolMachines,DMPM)

DLL映射协议机(DMPM)连接其他状态机与第二层。DMPM对有关数据链路层用法的组态和错误处理的状态机进行协调。DMPM将函数映射到第二层的DLL服务。DMPM产生必要的第二层服务参数,从第二层接收证实和指示,并将其传递给适当的DMPM用户。

图2-58AR协议机

2.应用关系协议机(ApplicationRelationshipProtocolMachines,ARPMs)

(1)AL状态机

ESM负责在启动和工作期间协调主站与从站。状态的改变主要由主站与从站间的交互所导致。这些基本与写AL控制字有关。

在DL和AL初始化之后状态机进入“Init”状态。“Init”状态定义了应用层上主站与从站之间通信关系的初始点。在应用层上主站与从站之间无直接通信。主站使用“Init”状态来初始化一组配置寄存器。如果从站支持邮箱,则相应的同步管理器配置也在“Init”状态进行。

如果从站支持可选邮箱并且邮箱已被设置,则可进入“Pre-Operational”状态。主站和从站均可使用邮箱和适当的协议来交换应用特定的初始化信息和参数。在该状态下无过程数据通信。

如果从站支持输入且主站请求输入,并且输入缓存区已被设置,则可进入“Safe-Opera-tional”状态。从站应用应传递实际输入数据而不处理输出数据,从站的真正输出应被设置为处于安全状态。

如果输出缓存区已被设置且实际输出数据已被发送到从站(只要从站的输出将被使用),则可进入“Operational”状态。从站应用应传递实际输入数据,而主站应用应提供输出数据。

在可选“Bootstrap”状态,从站应用应能接受通过FoE协议下载的永久性设置。

ESM定义了以下四种应被支持的状态。

●Init.

●Pre-Operational.

●Safe-Operational.

●Operational.

除了以下例外,所有的状态转换都是可能的:从“Init”状态只可能转换到“Pre-Oper-ational”状态;“Pre-Operational”状态不能直接转换到“Operational”状态。

通常,状态改变由主站请求。主站请求写AL控制寄存器,这会导致从站产生一个寄存器事件“AL控制”指示。在一次成功的或失败的状态改变后,从站通过本地AL状态写服务来响应AL控制寄存器的改变。如果请求的状态改变失败,从站将错误标志置位。

EtherCAT设备既可以是简单设备也可以是复杂设备,它们关于AL控制请求和AL控制响应的行为是不同的。当收到一个AL确认标志(AckFlag)时,复杂从站将复位AL错误标志(ErrorFlag)(设备模拟无效),而简单从站将确认标志复制到AL错误标志(设备模拟有效)。

尽管行为不同,主站应能通过广播命令来初始化网络。因此,主站应被允许通过广播发送一个确认标志被置为False的INIT请求(AL控制寄存器=0x0001)来复位所有设备。随后,复杂设备应复位错误标志。

在错误发生情况下,首先应将AL状态代码(ALStatusCode)置位,然后将错误标志置位。在清零错误标志后,AL状态代码也应被清零。如果错误标志被清零,主站应忽略AL状态代码。

当AL状态从OP转换到SafeOp发生错误时,输出同步管理器应被禁用。输入同步管理器应仅在出现导致无效的输入(输入错误或同步错误)的错误时才被禁用。

输出同步管理器在错误被确认且没有输出错误时应被重新使能。

输入同步管理器在错误被确认且没有输入错误时应被重新使能。

引导(Bootstrap)状态是可选的并且只与“Init”状态相互转换。引导状态的唯一目的就是下载设备固件。在引导状态邮箱是可用的,但仅限于通过EtherCAT服务(FoE)协议进行文件访问。

ESM规定如图2-59所示。

图2-59ESM 规定

本地管理服务与ESM内的状态转换相关,状态转换与本地管理服务见表2-16。如果有多个服务与状态转换相关,从站应用将处理所有相关服务。

表2-16 状态转换与本地管理服务

1)Init

“Init”状态定义了应用层上主站与从站之间通信关系的初始点。在应用层上,主站与从站之间无直接通信。主站使用“Init”状态来初始化一组ESC配置寄存器。如果从站支持邮箱服务,则相应的同步管理器配置也在“Init”状态完成。

2)Pre-Operational

如果从站支持可选的邮箱,则在“Pre-Operational”状态邮箱被激活。主站和从站均可使用邮箱和适当的协议来交换应用特定的初始化信息和参数。在该状态下没有过程数据通信。

3)Safe-Operational

在“Safe-Operational”状态,从站应用应传递实际输入数据而不处理输出数据。输出应被设置为“安全状态”。

4)Operational

在“Operational”状态,从站应用应传递实际输入数据且主站应用程序应传递实际输出数据。

5)Bootstrap

在可选“Bootstrap”状态,从站应用应能接受通过FoE协议下载的新固件。

(2) 邮箱处理程序状态机

邮箱处理程序负责协调主站和从站的有关邮箱的操作。邮箱写被转发到特定状态机,响应被放到读邮箱。

因为没有特定的面向服务的状态,所以没有状态表。

邮箱处理程序的任务包括以下内容。

① 将写邮箱服务映射到协议处理器。

② 将读邮箱的服务请求队列进行排队。

③ 对读邮箱的传输进行证实。

协议处理程序可能是以下几项。

①CoE状态机。

②EoE状态机。

③PoE状态机。

④ 行规特定状态机。

(3)CoE状态机

CoE 状态机负责处理CoE服务。

主要任务是执行服务请求或提供以下形式的响应。

① 单一帧。

② 帧序列(信息服务)。

③ 带有更多后续帧指示的单个帧。

④ 由于服务的错误结束而中止。

(4)EoE状态机

EoE状态机负责在EtherCAT上传送标准以太网帧。无论EtherCATPDU是完整的以太网帧,还是可合并成完整帧的以太网帧分段,状态机都可接收和发送EtherCATPDU。重组后(不在本状态机的范围内)的以太网帧可视为等同于未经EtherCAT服务传输的以太网帧。

在IEEE802.1D中定义了与EoE服务相关的以太网端口的进出规则。

(5)FoE状态机

FoE状态机负责在EtherCAT上传输文件。该状态机也可通过传送命令接收和发送Eth-erCATPDU,“写”表示加载文件到从站,“读”表示加载文件到主站。