EtherCAT® MainDevice (EtherCAT Master) SDK mit API für C, C++, C#, Rust, Python

Der EtherCAT MainDevice (ehemals Master) Stack EC-Master ist speziell für den Betrieb in embedded Betriebssystemen (bzw. Echtzeitbetriebssystemen) optimiert. Er zeichnet sich des Weiteren durch einen modularen Aufbau aus.
Für Linux, Microsoft Windows® 11, Wind River VxWorks, BlackBerry QNX, IntervalZero RTX64, TenAsys INtime®, Integrity, Xenomai, FreeRTOS, eCos, TI-RTOS, T-Kernel und weitere Betriebssysteme sind bereits vollständige Implementierungen verfügbar.
Die Unterstützung von weiteren Betriebssystemen ist auf Anfrage möglich.

Software Architektur

ethercat master software architektur
  • Applikation Programming Interface (API): Programmieren des EC-Master Cores in C/C++, C#, Rust und Python
  • EC-Master Core: Die zentralen EtherCAT-MainDevice-Funktionen in der Kernschicht. Die gesamte Protokollverarbeitung, z. B. der Prozessdatentransfer und die Mailbox-Protokolle (CoE, EoE, FoE, AoE, SoE), wird hier ausgeführt. Ergänzt wird dies durch ausgefeilte Diagnosefunktionen.
  • Real-time Ethernet Treiber: Dieses Modul übernimmt den Datenaustausch mit den EtherCAT SubDevices. Insbesondere bei hohen Echtzeitanforderungen kann dieser Layer durch einen auf den Ethernet Controller zugeschnittenen Treiber optimiert werden.
  • Netzwerk Konfiguration: Verarbeitung der EtherCAT Network Information (ENI) Datei welche zur Konfiguration des Netzwerkes dient. Im Lieferumfang ist ein betriebssystemunabhängiger XML-Parser enthalten.
  • OS Abstraktion: Schnittstelle zum Betriebssystem. Alle betriebssystemabhängigen Aufrufe sind in diesem Modul gekapselt.

Funktionen gemäß dem Dokument ETG.1500 MainDevice Klassen

Die ETG (EtherCAT Technology Group) hat zwei EtherCAT MainDevice Klassen (ETG.1500) mit einem definierten Funktionsumfang spezifiziert.
Klasse A definiert ein Standard-EtherCAT-MainDevice und Klasse B definiert ein Minimal-EtherCAT-MainDevice. Zusätzliche Funktionen, die als optional betrachtet werden können, werden durch Feature Packs (FP) beschrieben.
(*1): Gemäß ETG.1500 für Klasse A nicht zwingend erforderlich
(*2): Gemäß ETG.1500 für Klasse B nicht zwingend erforderlich

Basis Funktionen

Feature name Short description Class A Class B
Service Commands Support of all commands X X
IRQ field in datagram Use IRQ information from SubDevice in datagram header X X
SubDevices with Device Emulation Support SubDevices with and without application controller X X
EtherCAT State Machine Support of ESM special behavior X X
Error Handling Checking of network or SubDevice errors, e.g. Working Counter X X
VLAN Support VLAN Tagging X   -- (*2)  
EtherCAT Frame Types Support EtherCAT Frames X X
UDP Frame Types Support UDP Frames -- (*1) -- (*2)
Multiple Instances One control system operating multiple networks X X

Prozessdatenaustausch

Feature name Short description Class A Class B
Cyclic PDO Cyclic process data exchange X X
Multiple Tasks Different cycle tasks
Multiple update rates for PDO
X X
Frame repetition Send cyclic frames multiple times to increase immunity -- (*1) -- (*2)

Netzwerk Konfiguration

Feature name Short description Class A Class B
Online scanning Network configuration functionality included in EtherCAT MainDevice X X
Reading ENI Network Configuration taken from ENI file X X
Compare Network configuration Compare configured and existing network configuration during boot-up X X
Explicit Device identification Identification used for Hot Connect and prevention against cable swapping X X
Station Alias Addressing Support configured station alias in SubDevice,
i.e. enable 2nd Address and use it
X X
Access to EEPROM Support routines to access EEPROM via ESC register X X

Mailbox Funktionen

Feature name Short description Class A Class B
Support Mailbox Main functionality for mailbox transfer X X
Mailbox Resilient Layer Support underlying resilient layer X X
Multiple Mailbox channels   X X
Mailbox polling Polling Mailbox state in SubDevices   X X

CAN application layer over EtherCAT (CoE)

Feature name Short description Class A Class B
SDO Up/Download Normal and expedited transfer X X
Segmented Transfer Segmented transfer X X
Complete Access Transfer the entire object (with all sub-indices) at once X X
SDO Info service Services to read object dictionary X X
Emergency Message Receive Emergency messages X X

Ethernet over EtherCAT (EoE)

Feature name Short description Class A Class B
EoE protocol Services for tunneling Ethernet frames. includes all specified EoE services X X
Virtual Switch Virtual Switch functionality X X
EoE Endpoint to Operation Systems Interface to the Operation System on top of the EoE layer FP (*1) FP (*2)

File access over EtherCAT (FoE)

Feature name Short description Class A Class B
FoE protocol Support FoE Protocol X X
Firmware Up-/Download Password, FileName should be given by the application X X
Boot State Support Boot-State for Firmware Up/Download X X

Servodrive-Profile over EtherCAT (SoE)

Feature name Short description Class A Class B
SoE Services Support SoE Services X X

ADS over EtherCAT (AoE)

Feature name Short description Class A Class B
AoE Protocol Support AoE Protocol X X

Vendor over EtherCAT (VoE)

Feature name Short description Class A Class B
VoE Protocol External Connectivity supported X X

Synchronisation mit Distributed Clock (DC)

Feature name Short description Class A Class B
DC support Support of Distributed Clock X -- (*2)
Continuous Propagation Delay compensation Continuous Calculation of the propagation delay X -- (*2)
Sync window monitoring Continuous monitoring of the Synchronization difference in the SubDevices X -- (*2)

SubDevice-to-SubDevice Kommunication

Feature name Short description Class A Class B
via MainDevice Information is given in ENI file or can be part of any other network configuration. Copying of the data can be handled by MainDevice software or MainDevice application layer. Required to support FSoE Safety instances. X X

MainDevice Information

Feature name Short description Class A Class B
Master Object Dictionary Support of Master Object Dictionary (ETG.5001 MDP sub profile 1100) X X

Zusatzfunktionen (Feature Packs)

Feature name Short description Class A Class B
Cable Redundancy Stay operational in case of cable break between two SubDevices FP FP
Hot Connect Add or remove additional SubDevices during bus communication is in progress. Newly added SubDevices are automatically transferred into the OPERATIONAL state. FP FP
TCP-Server and Remote API The TCP-Server together with the Remote API Context.Scope.Library allows accessing EC-Master from a remote system FP FP
EoE Endpoint The interface allows sending and receiving Ethernet frames to/from the EtherCAT network FP FP

Vorteile

  • Sehr hohe Performance bei geringer CPU Belastung.
  • Ready-to-run für viele Betriebssysteme
  • Unterstützung der Architekturen x86 (32 Bit und 64 Bit), ARM (32 Bit und 64 Bit) und RISCV.
  • Verfügbar für viele Prozessoren von Intel, Texas Instruments, ST, Broadcom, Nvidia, Renesas, NXP, Xilinx und Infineon.
  • Modularer Aufbau, dadurch sind individuelle Anpassungen einfach zu implementieren.
  • Kompetente Partnerschaft bei der Erstellung eines kundenspezifischen Steuerungs-Systems. Individuelle Anpassungen und die Integration können auf Wunsch in Zusammenarbeit mit acontis erfolgen.
  • Zuverlässige und robuste Implementierung - EC-Master wird z.B. in der Robotersteuerung der Firma KUKA und in Steuerungen der Firma Yaskawa, Lenze, Omron eingesetzt.
Kostenlose Eval Version