倍福提供的EtherCAT从站代码包解析

用倍福的从站配置工具得到的源代码有以下

1主要代码ecatappl.cecatappl.hEcatappl: EtherCAT从站应用层接口,整个协议栈运行的核心模块,

EtherCAT从站状态机和过程数据接口。Main()函数的定义,输入输出程数据

对象的映射处理,ESC与处理器本地内存的输入输出过程数据的交换等;ecatslv.cecatslv.h

Ecatslv:处理EtherCAT状态机模块。状态机转换请求由主站发起,主

站将请求状态写入A1Control寄存器中,,从站采用查询的方式获取当前该状

态转换的事件,将寄存器值作为参数传入AL_ControlInd()函数中,该函数作

为核心函数来处理状态机的转换,根据主站请求的状态配置SM通道的开启

或关闭,检查SM通道参数是否配置正确等。

coeappl.ccoeappl.h

Coeappl: CoE服务的应用层接口模块。对CoE服务实际应用的处理以

及CoE对象字典的处理。包括对象字典的初始化,添加对象到对象字典,移

除对象字典中的某一条目以及清除对象字典等处理函数的实现。

mailbox.hmailbox.c

Mailbox:处理EtherCAT邮箱服务模块。包括邮箱通信接口的初始化,

邮箱通道的参数配置,根据当前状态机来开启或关闭邮箱服务,邮箱通信失

败后的邮箱重复发送请求,邮箱数据的读写以及根据主站请求的不同服务类

型调用相应服务函数来处理,本文主要研究的是CoE邮箱服务类型的处理。

objdef.cobjdef.h

Objdef:访问CoE对象字典模块。读写对象字典,获得对象字典的入口,

以及对象字典的具体处理函数由该模块实现。

sdoserv.csdoserv.h

SDO服务处理模块。处理所有SDO及SDO信息服务,包括对

主站发送的上传、下载SDO服务请求的处理,处理完成后SDO响应数据由

主站来主动读取。

mcihw.h并行控制器接口模块。定义了并行模式下的微控制器与ESC通

信接口函数,供上层应用通信时调用,完成底层数据的交换。

6,467ecatsoe.c4,006 ecatsoe.h

在EtherCAT实现SoE功能 这个文件显示了一个简短的例子

38,440testappl.c29,615 testappl.h

Testappl.c测试应用程序是一个特定的从站堆栈提供大部分的指定的EtherCAT

特点和生成机制,这是从站的行为不符合标准。这可以用来检查主行为不正确的奴隶的行为。

反应

sdoserv.c

sdoserv.h

Sdoserv:SDO服务处理模块。处理所有SDO及SDO信息服务,包括对

主站发送的上传、下载SDO服务请求的处理,处理完成后SDO响应数据由

主站来主动读取

11,044emcy.c4,598 emcy.h

紧急事件处理ecat_def.h

SlaveSample Code Configuration Defines

从站样品代码配置定义

2接口相关

(User applicationfiles (el9800appl.*,cia402appl.*,… )17,575el9800appl.c23,075 el9800appl.h

*此应用程序包括三个功能模块:*数字输入<br>*数字输出<BR>*模拟输入<br>

*模块的对象是根据ETG的定义。

cia402appl.ccia402appl.h

Cia402appl从栈代码包含的cia402驱动剖面样品的实现

在[ 1 ]。此实现提供了运动控制器之间的接口应用层通信。

以下功能的支持:

– cia402对象(见8.1章对象)

– cia402状态机(见8.2章状态机)

这支持同步循环位置(CSP)和同步循环

速度(CSV)的操作模式。反应

3

PDI and hardwareaccess functions (el9800hw.*; mcihw.*;fc1 1 00hw.*)40,016el9800hw.c8,199 el9800hw.h* \ addtogroup el9800_hw el9800平台(串行键访问)

定义访问el9800具体的外围和和ESC(SPI)

9,572 fc1100hw.c4,698 fc1100hw.h

在Win32平台实现硬件访问fc1100

mcihw.c

Mcihw:并行控制器接口模块。定义了并行模式下的微控制器与ESC通

信接口函数,供上层应用通信时调用,完成底层数据的交换。

19,707 esc.h

EtherCAT Slave Controller relateddefines and Types

EtherCAT从站控制器相关的定义和类型

4其他

10,624sampleappl.c6,379 sampleappl.h

sample application sampleappl.c:Hardware independent sample application

如果没法忘记他,就不要忘记好了。真正的忘记,是不需要努力的。

倍福提供的EtherCAT从站代码包解析

相关文章:

你感兴趣的文章:

标签云: