Die EtherCAT Protocol Stack (EtherCAT Standard IEC61158) stellt alle für eine konforme Kommunikation notwendigen Dienste entsprechend dem CANopen Kommunikationsprofil CiA 301 bereit. Sie erlaubt eine einfache und schnelle Entwicklung von EtherCAT Slave Geräten. Der Funktionsumfang kann durch zusätzliche Module erweitert werden. Der Zugriff auf die Hardware erfolgt über ein definiertes Treiber Interface. Die erforderlichen Treiber stehen für verschiedene Hardware-Varianten zur Verfügung.
Übersicht
Die EtherCAT Library stellt alle für eine konforme Kommunikation notwendigen Dienste entsprechend EtherCAT Standard IEC61158 bereit. Sie erlaubt eine einfache und schnelle Entwicklung von EtherCAT Slave Geräten.
Der Funktionsumfang kann durch zusätzliche Module erweitert werden. Der Zugriff auf die Hardware erfolgt über ein definiertes Treiberinterface. Die erforderlichen Treiber stehen für verschiedene Hardware-Varianten und der FPGA-Lösung von port zur Verfügung.
Die FPGA-Lösung ist für Altera Nios ® II und Xilinx MicroBlaze™ verfügbar. Neben EtherCAT können damit noch weitere Industrial Ethernet-Protokolle, wie z.B. Ethernet POWERLINK, EtherNet/IP und PROFINET realisiert werden. Eine einheitliche Schnittstelle macht die Implementierung der verschiedenen Protokolle für den Nutzer sehr einfach.
Anwendung
Die EtherCAT Library basiert auf der Grundlage des Kommunikationsprofils CiA-301 (EtherCAT Standard IEC61158) . Die wichtigsten der in diesem Standard definierten Dienste sind implementiert.
Sie wurde vollständig in ANSI-C erstellt und kann somit problemlos mit allen ANSI-C kompatiblen Compilern übersetzt werden.
Mit der Standard Version der EtherCAT Library stehen umfangreiche Dienste für den Aufbau von EtherCAT Geräten zur Verfügung.
Zusätzliche Dienste aus anderen Kommunikationsprofilen stehen in Erweiterungsmodulen zur Verfügung.
Alle hardwarespezifischen Teile sind über eine definierte Treiberschnittstelle von der EtherCAT Library entkoppelt, so dass eine Portierung auf andere Hardwareplattformen problemlos möglich ist.
Die Anwenderapplikation kommuniziert mit der EtherCAT Library über Funktionsaufrufe und Callback-Funktionen.
Die Konfiguration und Skalierung der EtherCAT Library erfolgt über das EtherCAT Design Tool, welches als EtherCAT Design Tool Light-Version im Lieferumfang enthalten ist. Damit kann die EtherCAT Library optimal dem Ressourcenbedarf der Applikation angepasst werden. Neben der Erstellung des Objektverzeichnisses können auch die Einstellungen für die Hardware vorgenommen werden.
Beschreibung
Die EtherCAT Library besteht aus einem hardwareabhängigen und einem hardwareunabhängigen Teil, die über Messagequeues miteinander kommunizieren. Zum hardwareabhängigen Teil gehören die EtherCAT Treiber und die Zeitgeberfunktionen.
Die Applikation kommuniziert nur mit dem hardwareunabhängigen Teil der EtherCAT Library, so dass der Austausch eines Treibers keinen Einfluss auf die Funktionalität der Applikation bewirkt.
Kommunikation des EtherCat Protokoll Stack
Der Start von EtherCAT Diensten erfolgt über Funktionsaufrufe in der Applikation. Die EtherCAT Library führt anschließend alle notwendigen Kommunikationsschritte selbständig aus und informiert die Applikation nach dem Abschluss der Übertragung mit Hilfe von Callback-Funktionen über das Ergebnis.
Kommunikationsanfragen von anderen Geräten sowie notwendige zeitzyklische Prozesse und Time-Out Überwachungen werden von der EtherCAT Library selbständig realisiert. Dabei wird immer die Korrektheit der Anfragen geprüft (Zugriffrechte, Datentypen etc.). Nach dem Abschluss der Kommunikation bzw. bei Fehlerzuständen wird die Applikation über dienstbezogene Callback-Funktionen informiert. In diesen Callback-Funktionen können entsprechende Reaktionen von der Applikation ausgeführt werden.
Das Objektverzeichnis (OV) ist so ausgelegt, dass es Referenzen auf die Variablen der Anwenderapplikation enthält. Somit können Variablen in bereits existierender Software ohne Veränderung des Applikationscodes in das Objektverzeichnis aufgenommen werden.
Vor allem für Geräte mit begrenzten Ressourcen ist die hohe Skalierbarkeit der EtherCAT Library entscheidend. Auf der einen Seite wird dies durch die Modularisierung in einzelne Dienstgruppen erreicht und zum anderen durch die Nutzung von Compilerdirektiven in den jeweiligen Modulen. Die Codegröße ist damit proportional zu den genutzten EtherCAT-Diensten.
Beispielprogramme werden mitgeliefert
Zum Lieferumfang der EtherCAT Library gehören verschiedene Beispielprogramme, die den Einsatz der unterschiedlichen Dienste erläutern. Alle Beispiele enthalten eine vollständige Implementierung eines EtherCAT Library Gerätes einschließlich des Objektverzeichnisses sowie des Applikationscodes und können sofort kompiliert werden.
Neben dem ausführlich dokumentierten Quellcode stehen das Referenzhandbuch und ein User-Manual als Dokumentation der EtherCAT Library zur Verfügung.
Die EtherCAT Library wird ständig weiter entwickelt und an Kundenwünsche angepasst. Dafür stellen wir unseren Kunden einen Update-Service bereit.
Zur Entwicklung, zum Test und zur Inbetriebnahme von EtherCAT-Geräten steht eine umfangreiche Toolkette bereit. Zur Erstellung des Objektverzeichnisses aber auch zur Konfiguration der POWERLINK Dienste und der Hardwareeinstellungen steht das EtherCAT Design Tool zur Verfügung, welches als EtherCAT Design Tool Light-Version mit leicht eingeschränktem Funktionsumfang bereits im Lieferumfang enthalten ist.
Es erzeugt neben dem Objektverzeichnis das Electronic Data Sheet (EDS-Datei im XML Format) und eine Dokumentation des Gerätes in HTML und Textform.
Neben den Kommunikationsobjekten sind in EtherCAT auch verschiedene Applikationsobjekte in verschiedenen Geräteprofilen spezifiziert, um ein definiertes Verhalten der jeweiligen Geräteklasse und die Austauschbarkeit von EtherCAT Geräten zu ermöglichen. Geräteprofile können sehr leicht mit Unterstützung des EtherCAT Design Tool erstellt werden.
Lieferumfang
- EtherCAT Library mit getrenntem Treiberinterface
- EtherCAT Treiber
- sofort übersetzbare Beispiele
- EtherCAT Design Tool Light
- Anwenderhandbuch
- Referenzhandbuch mit Beschreibung aller Funktionen einschließlich Übergabeparameter und Return-Werten
- GOAL Treiber
Weitere Dienstleistungen
Wartungsvertrag
Alle Änderungen an den aktuellen Standards aber auch Erweiterungen durch neue Standards werden ständig in die EtherCAT Library eingearbeitet. Damit alle Kunden auch nach dem Ablauf des kostenlosen Update-Zeitraums von diesen Änderungen profitieren können, bieten wir einen Wartungsvertrag mit folgenden Leistungen an:
- kostenlose Updates für den abgeschlossenen Zeitraum
- kostenloser Support zur EtherCAT Library
Unterstützung bei Inbetriebnahme
Um einen möglichst schnellen und effektiven Einstieg in die EtherCAT Geräte Implementierung zu finden, empfehlen wir eine gemeinsame Inbetriebnahme eines EtherCAT Gerätes auf der Kundenhardware. Die Kenntnisse des Kunden über seine Hardware, den eingesetzen Compiler und die Erfahrungen unserer Mitarbeiter mit EtherCAT und der EtherCAT Library können sich so optimal ergänzen und führen in kürzester Zeit zu einem lauffähigen EtherCAT konformen Gerät.
port bietet Kunden ein Referenzdesign (Software und Hardware) für eine universelle Hardwareplattform an, um EtherCAT zu unterstützen.
Bestellinformation & Treiber
Art.No. | Description |
---|---|
0270/10 | EtherCAT Source Code Library |
0290/10 | EtherCAT Design Tool |
| |
0280/78 | ECAT-DP-Generic-Driver |
0280/80 | ECAT-DP-PIC32MX / LAN9252 |
0280/82 | ECAT-DP-ST STM32F7xx_KeilRTX (ext. ET1100 over SPI) |
0280/72 | ECAT-DP-STM32F10x |
0280/74 | ECAT-DP-STM32F2xx |
0280/79 | ECAT-DP-STM32L4 / LAN9252 |
0280/81 | ECAT-DP-TI TMS320F2837x / ET1100/1200 |
0280/75 | ECAT-DP-XMC4500 / ET1100/1200 |
0280/76 | ECAT-DP-XMC4800 |
0280/50 | EtherCAT-DP-LINUX |
0280/04 | EtherCAT-DP-SRC-AM335x |
0280/73 | EtherCAT-DP-SRC-AT91SAM7x_LAN9252 |
0280/05 | EtherCAT-DP-SRC-RIN32M3-EC |
EtherCAT-DP-SRC-RENESAS-RZT1 | |
EtherCAT-DP-SRC-RENESAS-RZN1 |
ESC on Board | with external ESC (ET1100 / 1200) |
---|---|
Renesas R-IN32M3 | Atmel AT91SAM7X |
Infineon XMC4800 | Infineon XMC4500 |
Infineon XMC4300 | Kinetis K2X |
TI AM3357 / TI AM3359 | ST STM32F10X |
TI AM437X | ST STM32F2XX |
RENESAS RZN1x | Xilinx uBlaze |
RENESAS RZT1 - EC | Linux (with ESC on PCI Card) |
Microsemi SmartFusion2 | |
Datenblatt
Weitere Informationen erhalten Sie auf unserem Datenblatt.
Conformance Test
Der EtherCAT Stack erfüllt die Testvorgaben nach dem EtherCAT Conformance Test in der jeweils aktuellen Version
Support ESC
Der EtherCAT Stack unterstützt die folgenden EtherCAT Slave Controller:
- Beckhoff ET1100/ET1200/FPGA IP Cores
- Renesas R-IN32 Engine
- TI TIESC
- Microchip LAN9252
- Trinamic TMC8460
- Infineon XMC4800 / 4700
- TI Sitara AM335
- TI TMS320F28388X (CM4 Core)
- other on Request
Update Information
2021 EtherCAT Slave Stack V1.7.1
Der EtherCAT Stack wurde erweitert um FSoE (Safety) zu unterstützen.
please note: Es wird aber noch ein FSoE Stack (3rd Party) benötigt, um ein Safety Device zu implementieren.
EtherCAT Library:
- EoE is now dynamically configurable (if dynamic configuration is activated)
- Fixed handling of PDO mappings with gap entries
- Added extended object attributes to support Safety flags
- Added support of MDP profile for devices with only one slot
- FSoE can now be supported (3rd party FSoE stack is required)
- Support LED emulations for targets that have dynamic configuration disabled
Drivers
- SPI for ET1100: use Waitstate byte to support higher SPI speeds
- Added support for TI TMS320F28388X (CM4 Core)
Examples:
- Added examples for TI TMS320F28388X (CM4 Core)
2019 EtherCAT Slave Stack V1.6
- added MII Management API (Phy access via ESC registers)
- added support for Input Only slaves with Sync Manager 2 as Inputs
- CoE: added timeout when waiting for a Master to read response from a Mailbox
- SDO: Complete Access - allow writing less than all Subindices
- fixed waiting for DC during SafeOP to OP when feature NMT Split is activated
- added support for UNSIGNED64 and INTEGER64 data types
- MBOX: fixed bug "deadlock of Rx Buffers in case of asynchronous traffic"
- added support for TCP/IP stack "lwIP" over EoE
- TIMER: renewed Timer API
- fixed clang compiler warnings
- added support for GOAL
07/2016 EtherCAT Slave Stack V1.5
Der EtherCAT Slave Stack V1.5 bietet folgende neue Features:
- data type BYTE supported
- full support of SDO Complete Access (automatic padding of bit data types)
- FoE Busy-Requests (delay a FoE Read or Write request while device is busy)
- EoE: supporting services “Set IP Parameter” & “Get IP Parameter” for configuring virtual MAC address and IP parameter
- Supporting objects with gaps
- Full support of SDO Info service for Online Dictionaries
- EEPROM access via PDI
- Library conforms to new EtherCAT Conformance Test 2.0
Voreile
Die EtherCAT-Stack von port hatte vor 10 Jahren einen gemeinsamen Vorgänger in der damals aktuellen CANopen Library. Ein Benutzer des CANopen Stacks wird sich sofort "zu Hause" fühlen. Der Stack wird von unserem ICC - Industrial Communication Creator (ehemals DesignTool) unterstützt und hat unter USP gegen Beckhoffs Bibliothek:
- nahezu identische API wie der CANopen-Stack
- Out-of-the-Box-Unterstützung für viele Plattformen mit On-Chip-ESCs sowie für MCUs mit externen ESCs wie Beckhoffs ET1100 / 1200 oder Microchip LAN9252
- Unterstützung des ET1100 / 1200
- ICC Industrial Communication Creator (Design Tool) unterstützt - aus demselben CANopen Design Tool
- Umfassende Beispiele, einschließlich als DS402-Beispiel (CSP-Modus)
- EoE-Mailbox, die mit dem mitgelieferten lwIP-TCP / IP-Stack verbunden ist. Dementsprechend bietet unser Stack Standard-TCP / IP-Funktionen für Ihr Gerät (gilt nicht für den Linux-Treiber)
- Linux-Unterstützung
- Geeignet für DSPs (Endianess; Memory)
- Professionelle Unterstützung durch port.de
- Mächtiges, leistungsstarkes Objektwörterbuch, einschließlich Optionen zum Zuweisen sich wiederholender Objekte in Gruppen, sogenannte Untersegmente. Dies ermöglicht dem Benutzer, diese Gruppen ähnlich / identisch zu behandeln, während immer noch verschiedene Objekte behandelt werden. Dies ist eine leistungsstarke Funktion, um schnell und effektiv z.B. mehrere Achsen. All dies wird mit unserem ICC (DesignTool) unterstützt.
- Unser ICC (Industrial Communication Creator - ehemaliges Design Tool) erstellt eine kompatible ESI-Datei für Ihr Gerät.
Knowledge Base
Sie benötigen mehr Informationen und Dokumentation - dann schauen Sie bitte hier:
https://portgmbh.atlassian.net/wiki/spaces/ECAT/overview