2. Architecture

The EC-Monitor Software Development Kit (SDK) offers the possibility for Data Tracing / Listening / Sniffing / Logging Diagnosis and Monitoring of EtherCAT Networks. It’s suitable for new (Greenfield) and existing (Brownfield) installations. Also it’s independent from EtherCAT Master Controller Software and Hardware.

EC-Monitor is implemented in C++ and can be easily ported to any embedded OS platforms using an appropriate C++ compiler. The API interfaces are C language interfaces, thus the EC-Monitor can be used in ANSI-C as well as in C++ environments.

The EC-Monitor is divided into modules, see diagram and descriptions below:

EC-Monitor Library:

In the core module cyclic (process data update) and acyclic (mailbox) EtherCAT commands are received and processed.

Configuration Layer:

The EC-Monitor is configured using a XML file whose format is fixed in the EtherCAT specification ETG.2100. EC-Monitor contains an OS independent XML parser.

OS Abstraction Layer:

All OS dependent system calls are encapsulated in a small OS layer. Most functions are that easy that they can be implemented using simple C macros.

Ethernet Driver Layer:

This layer receives Ethernet frames from the TAP devices.

2.1. EtherCAT Network Configuration (ENI)

The EC-Monitor has to know about the EtherCAT bus topology and the cyclic/acyclic frames which are exchanged by the third party EtherCAT master with the slaves. This configuration is determined in a configuration file which has to be available in the EtherCAT Network Information Format (ENI). This format is completely independent from EtherCAT slave vendors, from EtherCAT master vendors and from EtherCAT configuration tools. Thus inter-operability between those vendors is guaranteed.

2.2. Operating system configuration

The main task is to setup the operating system to support the appropriate network adapter for EtherCAT usage and for some systems real-time configuration may be needed.

The operating system-specific settings and configurations are described in Platform and Operating Systems (OS).