NI EtherCAT RIO: Deterministische Erweiterung für NI-LabVIEW-RIO-Systeme

Überblick

Das EtherCAT-RIO-Erweiterungschassis NI 9144 und der zugehörige Satz von Treibern zur industriellen Kommunikation nutzen das offene, echtzeitfähige Ethernet-Protokoll EtherCAT. EtherCAT ist insbesondere für Hochgeschwindigkeits-I/O- sowie -Steuer- und -Regelanwendungen geeignet, die Determinismus und Synchronisation erfordern. Dieses Whitepaper behandelt die Grundlagen der EtherCAT-Technologie im Hinblick auf NI-Produkte, darunter Protokollgrundlagen, Datenübertragungen und verteilte Taktsynchronisation.

Inhalt

Grundlagen zu EtherCAT

Bei EtherCAT (Ethernet Control Automation Technology) handelt es sich um ein leistungsstarkes Kommunikationsprotokoll für deterministisches Ethernet im industriellen Umfeld. Es erweitert den Ethernet-Standard IEEE 802.3, so dass Daten mit deterministischem Timing und präziser Synchronisation übertragen werden können. Dieser offene, von der EtherCAT Technology Group verwaltete Standard wurde als Teil der Norm IEC 61158 veröffentlicht und wird im Allgemeinen in Anwendungen im Bereich Maschinenbau oder zur Motorsteuerung eingesetzt. 

EtherCAT implementiert über Standard-Ethernet-Kabel eine Master/Slave-Architektur. Als EtherCAT-Master von NI stehen Echtzeit-Controller mit zwei Ethernet-Ports wie beispielsweise NI-CompactRIO-, PXI- und Industrial Controller zur Verfügung. Jedes NI-Slave-Gerät besitzt ebenfalls zwei Anschlüsse, die eine Reihenschaltung ausgehend vom Master-Controller ermöglichen.  


Abbildung 1: EtherCAT-Master/Slave-Architektur mit NI-Hardware

Grundlagen zum EtherCAT-Protokoll

Beim EtherCAT-Protokoll werden Daten direkt innerhalb eines Standard-Ethernet-Frames transportiert, ohne dabei die Grundstruktur zu verändern. Befinden sich der Master-Controller und die Slave-Geräte im selben Subnetz, ersetzt das EtherCAT-Protokoll lediglich das Internet Protocol (IP) im Ethernet-Frame.  


Abbildung 2: Struktur des Ethernet-Frames mit EtherCAT

Daten werden in Form von Prozessdatenobjekten (PDOs) zwischen Master und Slaves ausgetauscht. Jedes PDO besitzt eine Adresse, die auf einen bestimmten Slave oder auf mehrere Slaves verweist. Die Kombination aus „Daten und Adresse“ (plus Working Counter zur Validierung) bildet ein EtherCAT-Telegramm. Ein Ethernet-Frame kann mehrere Telegramme enthalten. Eventuell sind mehrere Frames erforderlich, um alle Telegramme für einen Regelzyklus zu erfassen.

Datenübertragungen

Bei manchen Echtzeitprotokollen sendet der Master-Controller ein Datenpaket und muss dann warten, bis die Prozessdaten an jedem Slave-Knoten interpretiert und kopiert werden. Allerdings lässt sich diese Methode des Determinismus unter Umständen nur schwer aufrechterhalten, da der Master-Controller eine bestimmte Menge an Verarbeitungszeit und Jitter pro Slave hinzufügen und verwalten muss.

Für die EtherCAT-Technologie gelten diese Systembeschränkungen nicht, da jeder Ethernet-Frame während der Ausführung verarbeitet wird. Man kann den Ethernet-Frame beispielweise mit einem fahrenden Zug vergleichen und die EtherCAT-Telegramme mit Waggons. Die Bits der PDO-Daten sind die Passagiere in den Waggons. Diese Bits (Passagiere) können durch die entsprechenden Slaves (Haltestellen) gelesen oder beschrieben werden (Ein- und Aussteigen). Der gesamte „Zug“ läuft ohne anzuhalten durch alle Slave-Geräte und der letzte Slave schickt ihn wieder durch alle Slaves zurück.  


Abbildung 3: EtherCAT-Datenübertragung

Trifft am Gerät 1 ein vom Master geschicktes Ethernet-Paket ein, wird automatisch die Übertragung des Pakets an Gerät 2 gestartet, während gleichzeitig mit einer Verzögerung von nur wenigen Nanosekunden ins Paket gelesen oder geschrieben wird. Da das Paket immer weiter von Slave zu Slave übergeben wird, kann es in mehreren Geräten zur selben Zeit präsent sein.

Was bedeutet dies in der Praxis? In einer Beispielanwendung werden 50 Slave-Geräte eingesetzt und unterschiedliche Daten an jeden Slave geschickt. Für Implementierungen ohne EtherCAT kann das heißen, dass 50 unterschiedliche Pakete verschickt werden. Mit EtherCAT wird ein langes Paket gesendet, das alle Slaves durchläuft. Das Paket enthält also Datenwerte für 50 Geräte. Falls jedoch alle Slaves dieselben Daten erhalten müssen, wird ein kurzes Paket verschickt und alle Slaves lesen denselben Teil des Pakets, während es übertragen wird. So werden Geschwindigkeit und Bandbreite der Datenübertragung optimiert.

Hohe Leistungsfähigkeit

EtherCAT kann eine hohe Leistungsfähigkeit und Kanalanzahl für die Einzelpunktverarbeitung wie z. B. Steuerungsaufgaben erreichen. Da das Lesen und Schreiben der Slaves im selben Frame erfolgen kann, ist die EtherCAT-Telegrammstruktur ideal für dezentralisierte I/O. Überdies findet die gesamte Protokollverarbeitung innerhalb der Hardware statt und ist daher unabhängig von der Laufzeit von Protokollstapeln sowie von der CPU-Leistung oder Softwareimplementierung. Beispielsweise können durch DMA (Direct Memory Access) Daten mit geringer Belastung der CPU zwischen der Netzwerkkarte und dem Master-Prozessor oder der Slave-I/O übertragen werden. Zudem nutzt jedes NI-Slave-Gerät etliche FMMUs (Fieldbus Memory Management Units), die für PDO-Übertragungen und Adressenerkennung bestimmt sind. Die Slaves und nicht der Master entscheiden darüber, ob ein Telegramm für sie bestimmt ist oder nicht. Dadurch verringert sich die Komplexität des Masters und seine Ressourcen werden entlastet.

Timing und Synchronisation

Ein weiteres Kriterium bei deterministischen Netzwerken ist die Aufgabe des Master-Controllers, alle Slave-Geräte mit demselben Takt durch Einsatz verteilter Taktgeber zu synchronisieren. Eines der Slave-Geräte muss den Master-Takt aufrechterhalten, um die Taktgeber der anderen Slave-Geräte zu synchronisieren. NI weist dem ersten Slave-Gerät den Master-Takt zu. Dann schickt der Master-Controller ein spezielles Synchronisationstelegramm, um den Master-Takt in jedem Zyklus zu lesen. Dieses Telegramm aktualisiert und synchronisiert anschließend die Taktgeber aller anderen Slave-Geräte neu, um ein Abweichen zu verhindern.

Eine präzise Synchronisation ist besonders in Fällen wichtig, in denen weit verteilte Prozesse simultane Aktionen erfordern (z. B. koordinierte Bewegung von Achsen zur Motorsteuerung). NI verwendet Zeitstempel, um den Zeitunterschied zwischen dem abgehenden und dem ankommenden Frame zu messen. Auf diese Weise wird die Verzögerung zwischen den Knoten berechnet und durch genaue Anpassung der verteilten Taktgeber kann eine präzise Synchronisation (von weniger als 1 µs) erreicht werden.

Einsatz von NI-Hardware für EtherCAT

National Instruments bietet zahlreiche Plattformen an, die zu deterministischer, verteilter I/O über EtherCAT kompatibel sind. Als Master-Controller können jeder CompactRIO-Controller mit zwei Ethernet-Ports, ein PXI-System mit einer Ethernet-Schnittstelle der Typen NI PXI-8231/8232 oder ein Industrial Controller verwendet werden. Dann können mehrere Slave-Chassis des Typs NI 9144 ausgehend vom Controller in Reihenschaltung miteinander verbunden werden, um zeitkritische Anwendungen zu erweitern. Dabei bleibt der harte Determinismus immer gewahrt, und die Prozessorressourcen werden nur minimal beansprucht. Beim NI 9144 handelt es sich um ein robustes Chassis mit acht Steckplätzen, das mit über 50 Modulen der C-Serie eingesetzt werden kann, die eine Vielzahl von Analog-, Digital-, Motorsteuerungs- und Spezial-I/O abdecken. Diese I/O-Module bieten eine direkte Sensoranbindung und können mit anderen NI-Hardwareplattformen und -Formfaktoren wiederverwendet werden. 


Abbildung 4: NI-CompactRIO-Controller mit Slave-Chassis NI 9144

Der Konfigurationsaufwand wurde erheblich verringert, da das Chassis NI 9144 direkt nach der Lieferung eingesetzt werden kann. Alle angebundenen Slaves und dessen Module werden mit der grafischen Programmierumgebung NI LabVIEW automatisch erkannt. Mithilfe des NI LabVIEW Real-Time Module besteht einfacher Zugang zu den physikalischen Kanälen. Anwender nutzen hierfür die per Mausklick verschiebbare I/O-Variable, Live-Testpanel und I/O Forcing für die Fehlerbehebung. 

Das NI 9144 ist der allererste EtherCAT-Slave mit programmierbarer FPGA-Funktionalität. Mithilfe des NI LabVIEW FPGA Module kann jetzt Logik auf Hardwareebene auf jedem NI-Slave eingebettet werden, um den Master-Controller hinsichtlich der Verarbeitungsleistung zu entlasten und die Antwortzeit zu reduzieren, da die Entscheidungsfindung direkt am Knoten erfolgt. Mit dem NI 9144 können außerdem Signalverlaufsmessungen vorgenommen werden. Die Onboard-Analyse erfolgt dann über den FPGA (Field-Programmable Gate Array), wobei die Einzelpunktergebnisse anschließend wieder an den Controller geleitet werden.


Abbildung 5:
NI LabVIEW bietet einfache grafische Programmierwerkzeuge für den NI-EtherCAT-Master und den FPGA-Chip des NI 9144.

Weitere Informationen

Anwendungen und technische Ressourcen für EtherCAT RIO

EtherCAT-RIO-Produkte