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

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

1 主要代码

ecatappl.c

ecatappl.h

Ecatappl:  EtherCAT从站应用层接口,整个协议栈运行的核心模块,

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

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

ecatslv.c

ecatslv.h

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

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

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

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

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

coeappl.c

coeappl.h

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

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

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

mailbox.h

mailbox.c

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

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

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

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

objdef.c

objdef.h

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

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

 sdoserv.c

sdoserv.h

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

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

主站来主动读取。

mcihw.h

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

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

6,467ecatsoe.c

4,006 ecatsoe.h

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

 38,440testappl.c

29,615 testappl.h

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

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

反应

sdoserv.c

sdoserv.h

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

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

主站来主动读取

11,044emcy.c

4,598 emcy.h

紧急事件处理

 ecat_def.h

SlaveSample Code Configuration Defines

从站样品代码配置定义

2接口相关

(User applicationfiles (el9800appl.*,cia402appl.*,... )

17,575el9800appl.c

23,075 el9800appl.h

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

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

cia402appl.c

cia402appl.h

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

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

以下功能的支持:

- cia402对象(见8.1章对象)

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

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

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

3

PDI and hardwareaccess functions (el9800hw.*; mcihw.*;fc1 1 00hw.*)

40,016el9800hw.c

8,199 el9800hw.h

* \ addtogroup el9800_hw el9800平台(串行键访问)

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

9,572 fc1100hw.c

4,698 fc1100hw.h

在Win32平台实现硬件访问fc1100

mcihw.c

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

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

 19,707 esc.h

EtherCAT Slave Controller relateddefines and Types

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

4 其他

10,624sampleappl.c

6,379 sampleappl.h

sample application sampleappl.c:Hardware independent sample application

样品:样品sampleappl.c硬件独立的应用程序

663 EtherCATSampleLibrary.h

 10,555SampleApplicationInterface.c

6,322 SampleApplicationInterface.h

Creates an interface to be used in an externalproject

一个接口,用于在外部项目创建

bootmode.c

bootmode.h

boot模式虚拟函数

  403,968 TcHelper.dll

829 TcHelper.h

2,406 TcHelper.lib  

/ /以下如果定义了块创建宏使出口的标准方法/ /从一个DLL简单。所有文件在这个DLL与TCHELPER_EXPORTS编译//命令行上定义的符号。这个符号不应该定义在任何项目/ /使用此DLL。这种方式的任何其他项目的源文件包括这个文件// TCHELPER_API函数从一个DLL进口,而这个DLL看到符号/ /定义这个宏是出口。

   diag.c

diag.h

这个文件包含诊断对象处理

5关于其他协议的相关代码(略)

aoeappl.c  aoeappl.h ecataoe.c    ecataoe.h  ecatcoe.c      ecatcoe.h      ecateoe.c       ecateoe.h   ecatfoe.c      ecatfoe.h   foeappl.cfoeappl.h eoeappl.c eoeappl.h

时间: 2025-01-13 03:21:40

倍福提供的EtherCAT从站代码包解析的相关文章

Beckoff的EtherCAT从站代码架构解析

用倍福的从站配置工具得到的源代码有以下 2014/12/26  11:24             1,021 1.TXT 2014/12/26  11:24                 0 2.txt 2012/04/11  20:43            22,131 aoeappl.c 2012/04/11  20:43             1,578 aoeappl.h 2012/04/11  20:43             1,757 bootmode.c 2012/04

EtherCAT从站代码配置

从站代码配置 参考EtherCATSlave Implementation Guide(EtherCAT从站实施指南)作为从站实施的开始 Beckhoff将从站协议栈代码(SSC)-源代码免费开放给所有ETG会员. EtherCAT从站实施套件也可以从相关供应商获取.EtherCAT从站协议栈可以从倍福官网获取. 图中各设备规范解释如下: FoE:File overEtherCAT; EoE:Ethernetover EtherCAT; SoE:SERCOSover EtherCAT; CoE:

EtherCAT从站代码注释(部分)

整体软件架构 intmain(void) { HW_Init();        /*初始化,包括硬件和A/D.SPI口读写配置*/ MainInit();       /*主函数初始化包含:ESC  和COE   */ bRunApplication = TRUE;      /*处于运行状态标志*/ do { MainLoop();   /*主循环函数,实现周期性和非周期性数据交换*/ } while (bRunApplication == TRUE);  /*检查是否处于运行状态*/ HW

如何开发EtherCAT从站设备

作为新型工业以太网,EtherCAT网络由于开放性.系统构建成本低和快速性被广泛关注,开发相应的从站设备可以把该网络引入自动化领域,将对自动化传输领域起到很大的推动作用.EtherCAT网络从站设备分为简单从站设备和复杂从站设备,简单从站设备位I/O从站,一般只需要从站接口控制器提供的资源就可以实现,复杂从站控制器则需要应用程序控制器,应用程序控制器完成网络数据的存取和具体应用程序的执行. 在硬件上,主要考虑从站接口控制器的选择和从站应用程序控制器的选择.从站接口控制器可以为ASIC芯片或FPG

Linux下二进制包和源代码包的区分

主要提供三种格式的mysql包:rpm格式.二进制格式.源码格式:(tar打包,gz压缩) rpm格式: libjpeg-devel-6b-33.x86_64.rpm       #rpm格式很好区分, 二进制包: mysql-3.23.58-pc-linux-i686.tar.gz   #二进制格式的包名字很长,有版本号.适应平台.适应的硬件类型等,格式:mysql-<版本>-<OS>-tar.gz 源码包:    php-5.2.14.tar.gz              

C# 读写倍福plc beckhoff , 使用ADS协议实现读取plc

本文将使用库技术来读写倍福PLC数据,使用的是基于以太网的ADS实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 github地址:https://github.com/dathlin/HslCommunication 如果喜欢可以star或是fork,还可以打赏支持,打赏请认准源代码项目. 联系作者及加群方式:http://www.hslcommunication.cn/Cooperation 在Visual Studio 中的NuGet管理器

category is in invalid format hint微信第三方平台将第三方提交的代码包提交审核出错

微信第三方平台通过接口https://api.weixin.qq.com/wxa/submit_audit?access_token=TOKEN将第三方提交的代码包提交审核时一直返回错误码85008的错误信息: category is in invalid format hint 查了半天是接口提交数据时json_encode时中文不能编码提交 将向微信的提交代码     $this->https_post($url,json_encode($postData)); 改为     $this->

Meteor 中的代码包有点特殊,分为五种

Meteor 中的代码包有点特殊,分为五种: Meteor 核心代码本身分成多个核心代码包(core package),每个 Meteor 应用中都包含,你基本上不需要花费精力来维护它们 常规 Meteor 代码包称为"isopack",或同构代码包(isomorphic package,意味着它们既能在客户端也能在服务器端工作).第一类代码包例如 accounts-ui 或 appcache 由 Meteor 核心团队维护,与 Meteor 捆绑在一起. 第三方代码包就是其他用户开发

Bootstrap主要提供了三种代码风格

在Bootstrap主要提供了三种代码风格: 1.使用<code></code>来显示单行内联代码 2.使用<pre></pre>来显示多行块代码 3.使用<kbd></kbd>来显示用户输入代码 预编译版本的Bootstrap将代码的样式单独提取出来: 1.LESS版本,请查阅code.less文件 2.Sass版本,请查阅_code.scss文件 编译出来的CSS代码请查阅bootstrap.css文件第688行~第730行,由于