- Ethernet-Powerlink
-
Ethernet Powerlink (Offizielle Schreibweise: Ethernet POWERLINK) ist eine Protokollerweiterung zum Ethernet-Standard nach IEEE 802.3, um Echtzeitdaten im Mikrosekundenbereich zu übertragen. Der Hauptanwendungszweck ist die Übertragung von Prozessdaten in der Automatisierungstechnik.
Ethernet Powerlink wurde ursprünglich von der Firma B&R entwickelt und wird heute von der offenen Anwender- und Anbietergruppe EPSG (Ethernet Powerlink Standardization Group) als offener Standard weiterentwickelt und spezifiziert.
Inhaltsverzeichnis
Übersicht
Von Anfang an mit Bedacht auf Standardkonformität entwickelt, führt Ethernet Powerlink einen gemischten Polling- und Zeitscheibenmechanismus zur deterministischen Übertragung von Daten ein. Damit wird erreicht:
- eine garantierte Übertragung von zeitkritischen Daten in sehr kurzen isochronen Zyklen mit konfigurierbarem Zeitverhalten
- eine zeitliche Synchronisation aller Netzwerkknoten mit sehr hoher Präzision im Sub-Mikrosekundenbereich
- eine Übertragung des weniger zeitkritischen Datenaufkommens im reservierten asynchronen Kanal
Aktuelle Implementierungen von Ethernet Powerlink erreichen Zykluszeiten von unter 200µs und eine zeitliche Präzision (Jitter) von weniger als 1µs.
Ethernet Powerlink spezifiziert außerdem auch ein an CANopen angelehntes Kommunikationsprotokoll zum Nutzdatenaustausch mit Knoten im Netzwerk. Beide Teile zusammen werden von einem Powerlink Protokollstack abgehandelt. Für diesen wird keine spezielle Hardware benötigt, sodass sich sowohl Master- als auch Slaveknoten mit handelsüblichen Ethernetbausteinen realisieren lassen. Es sind daher auch quelloffene Master- und Slave-Stacks für verschiedene Betriebssysteme verfügbar.
Datenübertragung
Da Ethernet Powerlink auf den Layern 3 und 7 im OSI-Schichtmodell angesiedelt ist, ist es grundsätzlich von der verwendeten Physik (Layer 1) unabhängig. In der Praxis wird es allerdings hauptsächlich mit Twisted-Pair-Kabeln als Fast Ethernet betrieben (100Base-TX). Dabei sind sowohl die handelsüblichen 8P8C/RJ45 als auch die industriellen M12 Steckverbindungen zugelassen. Die Verwendung von Lichtwellenleitern ist ebenfalls möglich, wobei aber die zusätzlichen Verzögerungen durch Medienkonverter zu berücksichtigen sind.
Für eine saubere Verkabelung bezieht sich der Ethernet Powerlink - Standard auf den IOANA-Leitfaden zur Planung und Installation industrieller Netzwerke (IAONAs "Industrial Ethernet Planning and Installation Guide"). Um die Verzögerung und den Jitter zu minimieren, werden innerhalb der Echtzeit-Domäne allerdings Repeating Hubs anstelle von Switching Hubs (Switches) empfohlen.
Versionen
Ethernet Powerlink existiert momentan in zwei Ausprägungen:
Version 1 (Ethernettyp 0x3e3f) ist ein proprietärer Ansatz von B&R, der jedoch frühzeitig als Basis für Weiterentwicklungen geöffnet wurde.
Version 2 (Ethernettyp 0x88ab) dagegen ist der aktuelle, offengelegte Standard der EPSG, welcher um verschiedene Mechanismen erweitert wurde (CANopen Geräteprofile, Powerlink Safety, Electronic Datasheets, Master Poll Response).
Obwohl beide Protokollarten starke Ähnlichkeit besitzen, beziehen sich die nachfolgenden Informationen ausschließlich auf Version 2, da Version 1 nur als Übergangslösung gilt. Einige Teilnehmer können mit beiden Protokollvarianten arbeiten.
2006 wurde von der EPSG die Entwicklung von Gigabit Powerlink angekündigt.
Datenformat
Jedes Powerlinkpaket besteht aus einem Header und den eigentlichen Nutzdaten. Dieses Paket ist in einen normalen Ethernetframe eingebunden, welcher eine Größe zwischen 64 Byte und 1500 Byte aufweisen muss. Jumboframes (> 1500 Byte) sind in einem Powerlinknetzwerk nicht erlaubt. Als EtherType für Ethernet Powerlink wurde 0x88AB von der IEEE zugewiesen.
Der Powerlinkheader selbst setzt sich zusammen aus:
- 1 Bit Reserviert
- 7 Bit MessageType
- 8 Bit Zielknotennummer
- 8 Bit Quellknotennummer
Es sind folgende Nachrichttypen (MessageType) definiert:
MessageType ID Bezeichnung der Nachricht Verwendung Ethernet Transfertyp SoC 0x01 Start of Cycle Definiert den Start eines neuen Zyklus Multicast PReq 0x03 PollRequest Erfrage zyklische Daten des CN Unicast PRes 0x04 PollResponse Sende aktuelle zyklische Daten des CN Multicast SoA 0x05 Start of Asynchronous Signalisiere den Start der asynchronen Phase Multicast ASend 0x06 Asynchronous Send Senden von asynchronen Daten Multicast Echtzeitkommunikation
Damit eine deterministische Datenübertragung garantiert werden kann, müssen Kollisionen auf dem Netzwerk vermieden werden. Dazu wird die Datenübertragung durch einen speziellen Teilnehmer, den Managing Node (MN), gesteuert. Die einzelnen Netzwerkteilnehmer, die Controlled Nodes (CN) dürfen nur dann senden, wenn sie dezidiert dazu aufgefordert wurden.
Ein Zyklus beginnt mit der Nachricht Start of Cycle (SoC). Anschließend wird jeder Knoten einzeln vom MN mit einem Poll Request (PReq) abgefragt, worauf der CN mit einem Poll Response (PRes) antwortet. Da die Antworten als Ethernet-Multicast gesendet werden, können anderen Powerlinkgeräte mithören. Somit ist Querverkehr zwischen den CNs möglich. Um die Zykluszeit klein zu halten, muss nicht jedes Gerät in jedem Zyklus abgefragt werden (Multiplexed Stations). Die Antwortzeit eines Gerätes (tPRes − tPReq) ist ein wichtiges Qualitätsmerkmal.
Nach Abschluss der zyklischen Phase beginnt die asynchrone Phase mit dem Start of Asynchronous (SoA)-Paket. In dieser Phase kann jeweils ein vom MN bestimmter CN nicht-zyklische Daten senden. Über spezielle Gateways lassen sich in der asynchronen Phase Daten aus einem normalen, nicht-deterministischen Netzwerk und dem Powerlinknetzwerk austauschen.
Objektverzeichnis
In Anlehnung an den Feldbusstandard CANopen werden bei Ethernet Powerlink alle Kommunikationsobjekte und alle Anwenderobjekte in einem Objektverzeichnis (OV) zusammengefasst. Das Objektverzeichnis ist im Powerlink-Gerätemodell das Bindeglied zwischen der Anwendung und der Kommunikationseinheit. Jeder Eintrag im Objektverzeichnis steht für ein Objekt und wird durch einen 16-bittigen Index gekennzeichnet. Pro Index können wiederum bis zu 256 Subindizes enthalten sein. Dadurch können bis zu 65536 × 254 Nutzeinträge pro Gerät unterschieden werden. (Die Subindizes 0 und 255 können nicht frei verwendet werden.) In Profilen ist die Zuordnung von Kommunikations- und Geräteprofilobjekten zu einem jeweiligen Index genau definiert, und somit wird mit dem Objektverzeichnis eine eindeutige Schnittstelle zwischen der Anwendung und der Kommunikation nach außen definiert.
-
Indexbereich Verwendung 0000 nicht genutzt 0001-009F Datentypen (Sonderfall) 00A0-0FFF reserviert 1000-1FFF Kommunikationsprofil 2000-5FFF herstellerspezifischer Bereich 6000-9FFF bis zu acht standardisierte Geräteprofile A000-BFFF standardisierte Schnittstellenprofile C000-FFFF reserviert
Geräteprofile
Für eine Reihe von Geräteklassen wurden Geräteprofile definiert. Diese Geräteprofile definieren die Funktionalität und den Aufbau des Objektverzeichnisses für die jeweiligen Geräte. Durch die Nutzung von Geräten, welche einem bestimmten Profil entsprechen, wird eine höhere Unabhängigkeit von Geräteherstellern erreicht. Ethernet Powerlink verwendet dabei die Geräteprofile von CANopen. Transformationsregeln legen dabei fest, welche Objekte der CANopen-Geräteprofile bei Powerlink-Geräten verwendet werden. Dabei wird der Tatsache Rechnung getragen, dass bei Powerlink die Länge der Nutzdatenpakete (PDOs) größer ist.
Electronic Datasheets
Für die Nutzung von Powerlink-Geräten sind elektronische Datenblätter nötig. Diese werden als XDD-Dateien (XML Device Description) abgelegt, die dem standardisierten XML-Format nach ISO 15745-4 entsprechen, und beschreiben sowohl die wichtigsten Parameter der Objekte des Objektverzeichnis eines Gerätes als auch weitere Parameter wie z.B. die unterstützten Kommunikationsdienste. Konfigurationstools können Datenblatt-Dateien einlesen und mit ihrer Hilfe mit dem jeweiligen Gerät kommunizieren und es ggf. parametrisieren.
Standardisierung
Ethernet Powerlink wurde in die Normen IEC 61784-2, IEC 61158-300, IEC 61158-400, IEC 61158-500 und IEC 61158-600 aufgenommen. (Die Norm IEC 61784-2 spezifiziert Kommunikationsprofile, die Norm IEC 61158 Dienste und Protokolle von Feldbussen.)
In der asynchronen Phase lassen sich beliebige Ethernetframes verschicken. Daher können u.a. alle IP-basierten Protokolle auf höheren Schichten, wie TCP, UDP und darüber, im Ethernet Powerlink Netzwerk eingesetzt werden. Im einzelnen unterstützt Ethernet Powerlink folgende Standards:
- IEEE 802.3 (Fast Ethernet)
- IP-basierte Protokolle (ICMP, UDP, TCP,...)
- Standard Geräteprofile: CANopen EN 50325-4 für die Automatisierung
- IEEE 1588 Echtzeit Domänen Synchronisation (zukünftige Versionen)
Diagnose
Es können Standard- Diagnose Werkzeuge wie Wireshark (Freeware) oder Omnipeek (kommerziell) verwendet werden. Für gezieltere Diagnose sind entsprechende Tools auf der EPSG- Homepage aufgeführt.
Übertragung sicherheitskritischer Daten
Für sicherheitskritische Anwendungen lässt sich Powerlink mit dem zusätzlichen, offenen Sicherheitsprotokoll Powerlink Safety erweitern. Die sicherheitskritischen Daten werden bei Powerlink Safety in zwei Subframes gleichen Inhalts aufgeteilt und mit unterschiedlich berechneten Prüfsummen gesichert. Die Sicherheit stellt dabei eine eigene Sicherheitssteuerung her. Sichere und nichtsichere Teilnehmer können in einem Netzwerk koexistieren und auch kommunizieren. Damit sicherheitskritische Daten auch über die (unsicheren) Rückwandbussystem von Teilnehmern transportiert werden kann, lässt sich Powerlink Safety auch in andere Bussysteme implementieren. Powerlink Safety ist für den Einsatz bei sicherheitskritischen Anwendungen gemäß IEC 61508 SIL 3 und Kategorie 4 der Euronorm 954-1 freigegeben (Prüfung durch TÜV Rheinland).
Sonstiges
Ethernet Powerlink sollte nicht mit Power over Ethernet, der Stromversorgung über die (ungenutzten) Adernpaare, oder mit PowerLAN verwechselt werden.
Weblinks
- http://www.ethernet-powerlink.org
- http://sourceforge.net/projects/openpowerlink Quelloffener Powerlink-Stack für LINUX
- http://www.kalycito.com/white_papers.html#POWERLINKXP Quelloffener Powerlink-Stack für Windows XP
Wikimedia Foundation.