009 - EtherCAT application integration

Introduction

This document provides a quideline on how to create an EtherCAT application.

Provided example

The example 2015013_irj45/ac/09_ecat_slave implements a EtherCAT slave with common feature set:

  • object dictionary with objects of arbitrary data type

  • processing of cyclic process data and acyclic parameter data

  • configuration of the module regarding firmware update

The application consists of the following componts:

component

function

remark

component

function

remark

appl/2015013_irj45/ac/09_ecat_slave/goal_appl

application initialization module

starts and configures EtherCAT stack

appl/2015013_irj45/ac/09_ecat_slave/goal_appl_ecat

EtherCAT stack event handling

this module handles events provided by the EtherCAT stack. Handling of process data and acyclic parameters is handled there too.

appl/2015013_irj45/ac/09_ecat_slave/goal_appl_ecat_objects

EtherCAT object dictionary creation

this module creates all objects of the EtherCAT object dictionary

appl/2015013_irj45/ac/09_ecat_slave/goal_appl_ecat_foe

application specific FoE handling

this module implements the application specific FoE support

appl/2015013_irj45/ac/09_ecat_slave/goal_appl_http

application specific HTTP content

this module implements the web server provided by the example application

appl/2015013_irj45/ac/09_ecat_slave/esi/09_ecat_slave_port.bin

SII configuration data

this binary needs to be programmes into the EEPROM of the EtherCAT slave for the application to work. this is usually done using EtherCAT configuration tools

appl/2015013_irj45/ac/09_ecat_slave/esi/09_ecat_slave_port.xml

ESI file

this configuration file provides a device description for EtherCAT configuration tools (PLC)

Some additional properties of the EtherCAT example are documented in this application note: https://portgmbh.atlassian.net/wiki/spaces/IRJ45SOM/pages/138838019 .

Application creation

 

All listed components of a EtherCAT application need to be in sync. Therefore it can help to create the bare structure of a EtherCAT application using ports Industrial communication creator https://portgmbh.atlassian.net/wiki/spaces/ICCX .

Once the application skeleton is created, the application specific function can be implemented using the provided API of the EtherCAT stack: https://portgmbh.atlassian.net/wiki/spaces/IRJ45SOM/pages/222822674 .