icECAT EtherCAT Master Stack for Embedded Systems


Die EtherCAT Master Stack Bibliothek ist speziell für den Einsatz auf Embedded Systemen konzipiert. Der Master Stack erreicht beste Performance bei geringem Ressourcenbedarf. Als Zielplattform werden sowohl kleine Mikrocontroller als auch Industrie PCs unterstützt. Die Bibliothek ist in ANSI-C portabel geschrieben.

Auf ein Ethernet Netzwerk kann zum einen über den Netzwerktreiber eines darunterliegenden Betriebssystems zugegriffen werden. Weiterhin sind optimierte Link Layer Treiber mit DMA Unterstützung und "Zero-Copy Buffer Handling" für gängige Ethernet Controller verfügbar. Mit dieser Architektur erreicht der Master Stack optimale Performance: Zykluszeiten unter 100 Mikrosekunden sind bereits auf kleinen Plattform möglich.

Ein EtherCAT Master Monitor Tool ist im Produkt mit enthalten. Damit kann der Status des EtherCAT Netzwerks visualisiert und der Master auch als die Slaves gesteuert werden. Ein manueller Zugriff auf Prozessvariablen ist möglich.

Lizenzierung:

Alle Bibliotheken und Tools werden im Quellcode geliefert. Der Master Stack wird unter einer projekt-basierten Lizenz angeboten. Dabei fallen keine Laufzeit-Lizenzen ("Royalties") an.

Features des EtherCAT Master Stacks:

  • EtherCAT Master Class-B Feature Set (gemäß ETG.1500), sowie die wichtigsten der Class-A Features
  • Unterstützte EtherCAT Mailbox Protokolle:
    • CoE (CAN over EtherCAT)
    • EoE (Ethernet over EtherCAT)
    • FoE (Filetransfer over EtherCAT)
    • VoE (Vendor specific)
  • Distributed Clocks (DC): Hochpräzise Clock-Synchronisation für DC Slaves: Taktsynchrones Setzen von Ausgängen und Lesen von Eingängen im gesamten EtherCAT Netzwerk. Erreichte Genauigkeit deutlich unter 1 ┬Ás (typisch: 20...30 ns)
  • Slave-to-Slave Kommunikation
  • EtherCAT Netzwerk Konfiguration (ENI) entweder über den integrierten XML Parser oder über generierten Quellcode
  • EtherCAT State Machine (ESM), schneller Startup des Netzwerks durch parallele Initialisierung von mehreren Slaves
  • Zyklische Kommunikation in einer oder mehreren zyklischen Tasks mit unterschiedlichen Zykluszeiten
  • Optimiert auf Geschwindigkeit:
    Auf das ausgehende und eingehende Prozessimage kann direkt im zyklischen Frame zugegriffen werden, ohne dass die Daten zusätzlich kopiert werden müssen. Für einen hoch-performanten Zugriff auf die Prozessdaten werden Macros bereitgestellt.
  • Azyklische Kommunikation:
    Senden von asynchronen Frames mit EtherCAT Befehlen ist durch die Applikation möglich
  • Statistik- und Fehlerzähler, Event-API zur Benachrichtigung bei Fehlern im Netzwerk
  • Konfigurierbares State Monitoring und Netzwerk Überwachung

Tooling:

Der icECAT Master Stack bringt nützliches Tooling für die Entwicklung und Konfiguration mit:
  • EtherCAT Master Monitor für die Steuerung des EtherCAT States von Master und Slaves und für die Anzeige und das Editieren von Prozessvariablen. Das Tool kann zur Laufzeit auf dem Zielsystem oder auf einem anderen über TCP/IP verbundenen Rechner gestartet werden.
  • Tool zur Konvertierung von ENI-Dateien in Quellcode
  • EtherCAT Konfigurationsbibliothek zur Integration in ein kundenspezifisches Konfigurationstool (als separates Produkt erhältlich)

Feature Roadmap:

  • SDO Info Service
  • Zugriff auf das "Slave Information Interface" (SII)
  • Explicit Device Identification
  • Station Alias Addressing
  • Hot Connect
 
 

Architektur:

Die Softwarearchitektur des Stacks ist modular und bietet Flexibilität beim "Einbetten" in die EtherCAT Master Applikation:
 
 
 
icECAT EtherCAT Master Stack Software Architecture
 
 
 
  • Die Master Stack Bibliothek stellt der Applikation ein C API bereit.
  • Eine Integration ist auch in bestehende Anwendungen leicht möglich, denn der Stack gibt der Applikation keine spezielle Software Architektur vor.
  • Die Master Stack Bibliothek selbst ist komplett passiv. Die zyklischen Tasks können in der Applikation erstellt werden. Verschiedene Ansätze für das Scheduling (Single threaded, Multi-threaded) und für die Synchronisation sind möglich. Die Anwendung kann z.B. einen hardwarespezifischen Timer verwenden oder sich auf andere externe Events aufsynchronisieren.
  • Mehrere Instanzen des Master Stacks sind in einer Anwendung möglich.
  • Mit dem Stack wird ein Adaptionslayer geliefert, der eine einfache Integration des portablen Stacks und der Sample Applikationen auf einem Betriebssystem ermöglicht.
  • Optionale Stack Features, die in einer Anwendung nicht notwendig sind, können zur Compilezeit entfernt werden, um den Speicherbedarf zu minimieren.
 
 

Unterstützte CPU Architekturen:

  • ARM Cortex-A, ARM Cortex-M, ARM Cortex-R
  • x86 (32-/64-bit)
  • PowerPC

Unterstützte Betriebssysteme:

  • Linux (opt. mit RT PREEMPT)
  • Xenomai
  • QNX Neutrino RTOS
  • FreeRTOS
  • "Bare metal", ohne Betriebssystem
  • andere auf Anfrage

Optimierte Link Layer Treiber sind verfügbar für:

  • Intel I210 und Intel Pro/1000 Cards
  • Texas Instruments Sitara
  • NXP i.MX6
  • NXP i.MX RT1050, NXP i.MX RT1064
  • NXP LPC18xx
  • STMicroelectronics STM32F4, STM32F7
  • Ankündigung: STMicroelectronics STM32H7
  • andere auf Anfrage

Support und Services:

IBV bietet Dienstleistung in den Bereichen Entwicklung, Integration, Support und Beratung für Industrial Ethernet Technologien auf Echtzeit- und Embedded Systeme an.

Weitere Informationen: