Interface for Programming Language Python

EC-Master V3.1.1 enables customers to program an EtherCAT application in the programming language Python.

Based on a wrapper library which provides the EC-Master APIs for object oriented access and the Python wrapper module, scripts can be developed and executed.

Similar to the other demos the EcMasterDemoPython shows how to call the EtherCAT Master API. The python demos can also run in interactive mode e.g. to set an output of the EtherCAT network or something else. This is very useful to quickly test different behaviors of the EtherCAT network e.g. with the EC-Simulator.

Support for Linux Foundation RTOS Zephyr

EC-Master V3.1.1 supports out-of-the-box the real-time operating ZephyrTM, the best-in-class RTOS for connected resource-constrained devices, built to be secure and safe.

Assisted by the acontis high performance real-time Ethernet drivers (link layers) an update rate of 5 kHz can be guaranteed.

The example application EcMasterDemo includes the complete source code and a ready-to-run project file for the free integrated development environment CMake.

Support for VxWorks 7 SR650 64-Bit on ARM64 CPUs

EC-Master is now out-of-the-box available for systems running the VxWorks 7 SR650 on 64-bit versions of ARM (aarch64). The reference implementation is based on the Texas Instruments AM65x industrial development kit (IDK) evaluation kit.

A specially developed real-time Ethernet driver (link layer) is also used on this architecture, which realizes the fast and direct exchange of data between the master core and the Ethernet controller.

The freely available evaluation version contains a sample application which, in conjunction with an EtherCAT network configuration (ENI file), can transfer any EtherCAT network into the OP state. The complete source code of the sample application, along with detailed documentation, is also included.

Linux Device tree support: Out-of-the-box support for many customer specific boards

The Linux operating system provides drivers for most common Ethernet controllers and the related physical transceivers (PHY). The manufacturer specific PHY circuit is handled by an dedicated kernel driver.
To make use of this infrastructure, the acontis kernel module atemsys has to be included in the Linux device tree as an official driver for the Ethernet controller. As a result atemsys can interact with Linux drivers.
Depending on the hardware architecture, atemsys can grants access to the MDIO bus to the Linux drivers, or request MDIO operations by Linux drivers.
The PHY “OS Driver” functionality is configured exclusively through the Linux device tree and doesn’t required any additional configuration at the application level.

Refactored Example Applications

The structure and content of the EC-Master example applications have been fundamentally revised for the Master Version 3.1. The goals of the conversion were, among other things, to provide a better overview, to make the main function more understandable and to get rid of identical files in several folders.

This was achieved by implementing a dedicated main file (EcDemoMain.cpp) for each operating system. This file is now available specifically for Windows, Linux, QNX, VxWorks and all other operating systems that are supported out-of-the-box. This makes it possible to completely dispense with #ifdef instructions, which means that the individual files are significantly shorter and, overall, more understandable for the user. Furthermore, common files that are used by the various sample applications have been moved to the new folder (Examples\Common). This causes that these files are only available once, which simplifies maintenance.

The new structure thus makes it easier to get started with EC master programming and, thanks to the clear, modular structure, allows certain modules to be used easily in your own EtherCAT application.

Software-in-the-loop EtherCAT network simulation

Starting with EC-Master V3.1 the network simulation software EC-Simulator can be loaded as a link layer. This enables the simulation of a complete EtherCAT network including all slaves on the master system without any additional external hardware. The EtherCAT frames are transferred directly from the master core to the simulator, processed there and then returned to the master core.

The application may use various EC-Simulator functions, e.g., esGetProcessImageInputPtr() and esGetProcessImageOutputPtr() to access the process data in the simulator. Additional functions are available for implementing test cases for error scenarios, e.g., a slave can be switched off and on again by using the API esPowerSlave().

NDIS Filter Module on Windows

The Network Driver Interface Specification (NDIS) is the specification for a network driver architecture that allows transport protocols like TCP/IP to communicate with an underlying physical network adapter. For sending and receiving EtherCAT frames in Windows, EC-Master previously made use of the well-known Windows packet capture library, WinPcap. However, WinPcap was based on the NDIS 5.x driver model, and development there has ceased. The latest versions of Windows 10 do not support the old NDIS 5.x version anymore, so now EC-Master V3.1 includes a new NDIS Link Layer (emllNdis.dll) so it is possible for EC-Master to work without WinPcap on all Windows 10 versions.

Support for CMSIS on STMicroelectronics STM32H7

EC-Master is now out-of-the-box available for systems using the CMSIS hardware abstraction layer for Arm® Cortex® based processors. The CMSIS defines generic tool interfaces and enables consistent device support.

The reference implementation is based on the STM32H747I-DISCO kit from STMicroelectronics.

The link layer uses the driver library CMSIS-Driver Ethernet (Driver_ETH.h) and thus supports numerous controllers from different STM32 series.

For the widely used Integrated Development Environments STM32CubeIDE from STMicroelectronics and µVision MDK5 from ARM ready-to-run project files are supplied.

Support for QNX 7 64-Bit on ARM64 CPUs

EC-Master is now available out-of-the-box for systems running the QNX SDP 7.0 on 64-bit versions of ARM (aarch64). The reference implementation is based on the Zynq UltraScale+ MPSoC ZCU102 evaluation kit.

A specially developed real-time Ethernet driver (link layer) is also used on this architecture, which realizes the fast and direct exchange of data between the master core and the Ethernet controller.

On the one hand, this reduces the computing power required and, on the other hand, the jitter of the outgoing EtherCAT frames is significantly smaller. This means that cycle times below one millisecond are possible.