EtherCAT® master stack has a modular structure to respond to a challenge of each particular implementation. It makes the master scalable to fit the size of application, portable to different operating systems, adaptable to various hardware platforms and allows to develop or customize each module separately keeping the functionality of the others intact.
Master's modules are grouped in the following layers, thereby all functions are clearly distributed:
Application layer
Application layer is responsible for interaction with various programming or/and configuration environments and other applications or devices and incapsulates and .
ensures access to master's functions from side of applications or process tasks.
allows interaction with the master by means of Remote Procedure Calls service and provides TCP/IP or/and UDP connections, for example for mailbox communication with slaves via UDP
Master core
Mailbox module
Mailbox module deploys protocols to handle process data transfer and data exchange.
The following protocols are already supported:
Process Image addresses are provided in configuration, which comes as a file generated by a configuration tool. Access to the process image from control/process tasks is carried out through the master interface.
Distributed Clocks module
Distributed Clocks module ensures a common network time. DC synchronization enables all EtherCAT devices (master and slaves) to share the same EtherCAT System Time by compensation time differences.
Frame Scheduler module
Frame Scheduler is a module that manages velocity of EtherCAT frames by forwarding them to EtherCAT network driver using advanced algorithm in accordance with the priorities pre-assigned.
Operating System abstraction layer
Operating System Abstraction Layer (OSAL) allows making the master portable to any operating system with less effort.
The layer consists of two modules:
OS functions module contains wrappers for OS-dependent functions that deal with threads, timers, mutexes, etc.
Network adapter driver module that abstracts the master stack core from the underlying network implementation.