Wie funktioniert das Erweiterungschassis NI 9144?

Überblick

National Instruments bringt mit der Einführung einer Reihe deterministischer verteilter I/O-Produkte auch das Erweiterungschassis NI 9144 auf den Markt. Dieses robuste Chassis mit acht Steckplätzen für Module der C-Serie nutzt ein offenes, echtzeitfähiges Ethernet-Protokoll für die Kommunikation mit NI-CompactRIO-, PXI- und Industrie-Controllern. Hier werden die Technologien näher beleuchtet, die den Hochleistungs-Determinismus ermöglichen, welcher mit dem Erweiterungschassis NI 9144 erzielt werden kann.

Inhalt

I/O-Erweiterung mit Echtzeit-Ethernet

NI 9144, ein Erweiterungschassis mit acht Steckplätzen für Module der C-Serie, nutzt die echtzeitfähige Ethernet-Technologie EtherCAT® (Ethernet Control Automation Technology) für die deterministische Kommunikation mit einem echtzeitfähigen Master-Controller. Dieses leistungsstarke industrielle Protokoll erweitert den Ethernet-Standard IEEE 802.3 für die Datenübertragung mit deterministischem Timing und genauer Synchronisation. Dieser offene Standard wurde als Teil der Norm IEC 61158 veröffentlicht und wird im Allgemeinen in Anwendungen im Bereich Maschinenbau und Motorsteuerung eingesetzt.

Zur Erstellung eines deterministischen verteilten I/O-Systems wird anstelle einer Standardverkabelung über Ethernet eine Master/Slave-Architektur verwendet. Jeder echtzeitfähige CompactRIO-, PXI- und NI-Industrie-Controller mit zwei Ethernet-Anschlüssen kann als Master-Controller verwendet werden. Ausgehend vom Controller können dann mehrere NI-9144-Slave-Chassis in Reihe geschaltet werden, um zeitkritische Anwendungen zu erweitern, während mit minimaler Prozessorauslastung maximaler Determinismus gewährleistet wird. Allerdings kann das Erweiterungschassis NI 9144 nicht mit einem normalen TCP/IP-Hub oder einem Schaltmodul für die Implementierung einer Sterntopologie verbunden werden, da EtherCAT speziell formatierte EtherCAT-Telegramme zur Übertragung der Daten verwendet.


Abb. 1: EtherCAT-Master/Slave-Architektur mit CompactRIO-Master-Controller und NI-9144-Chassis als Slave.

Links auf thematisch verwandte Seiten:
Einführung in EtherCAT

Hardwareübersicht

Das Erweiterungschassis NI 9144 besteht aus mehreren unterschiedlichen Hardwarekomponenten, die deterministische verteilte I/O ermöglichen. Jedes Slave-Chassis hat zwei Ethernet-Anschlüsse, die jeweils EtherCAT-Pakete empfangen und weiterleiten. Diese Pakete werden über die physikalische Schicht an den EtherCAT-IP-Stapelspeicher übertragen. EtherCAT-IP enthält mehrere FMMUs (Fieldbus Memory Management Units), um den Slave-Geräten die jeweils korrekten EtherCAT-Daten zuzuweisen. Direkter Speicherzugriff (DMA, Direct Memory Access) überträgt synchrone I/O-Daten zwischen der EtherCAT-IP und den Modulen der C-Serie. Der FPGA (Field Programmable Gate Array) von Xilinx bildet die Schnittstelle zu den C-Serien-Modulen. Er bearbeitet periodisch die I/O-Lese- und -Schreibvorgänge basierend auf Befehlen und Timing der EtherCAT-IP. Der Xilinx-FGPA kann ebenfalls mithilfe des LabVIEW FGPA Module programmiert werden, um Hochgeschwindigkeitslogik wie z. B. I/O-Timing in den NI-9144-Slave einzubetten. Der Mikrocontroller verwaltet asynchrone Nachrichten zwischen Master und Slave sowie verschiedene Konfigurationsaufgaben für die unterschiedlichen Hardwarekomponenten.


Abb. 2: Hardware-Blockdiagramm des Chassis NI 9144

Timing und Synchronisation

Die Schnittstelle zu den C-Serien-Modulen ist Teil der Technologie NI Scan Engine, die mit LabVIEW Real-Time 8.6 für CompactRIO eingeführt wurde. Dieser Bestandteil ist verantwortlich für die Synchronisation von I/O-Daten für Module der C-Serie, so dass I/O-Updates für NI 9144 nahtlos an die Zykluszeit des Masters angepasst werden.

Die Zykluszeit für das deterministische Netzwerk setzt sich aus der Gesamtzeit für Programmabarbeitung (Program Scan) und I/O-Kommunikation (I/O Scan) des Master-Controllers zusammen. Die Programmabarbeitung umfasst die Zeit, die das LabVIEW-Programm benötigt, um (sowohl zeitkritische als auch normale Tasks) Routineaufgaben und Paketübertragungen mittels DMA und Speichertabellen zu verarbeiten. Der I/O-Scan ergibt sich aus der Zeit, die das EtherCAT-Paket braucht, um das gesamte Slave-Netzwerk hin und zurück (downstream und upstream) zu durchlaufen.


Abb. 3: Timing-Diagramm für Master- und Slave-Zykluszeiten

Die Zykluszeit für das Slave-Gerät NI 9144 besteht aus der gesamten Dauer von Slave-Update und I/O-Kommunikation. Das Slave-Update wiederum dauert so lange, wie der Slave für DMA-Übertragungen, Datenverarbeitung und Aktualisierung der I/O-Werte braucht. Da die I/O-Kommunikation für Master und Slave synchronisiert wird, läuft das Slave-Update zur selben Zeit wie die Programmabarbeitung des Masters. Deshalb wird die minimale Zykluszeit entweder durch das Slave-Update oder die Programmabarbeitung begrenzt, abhängig davon, welcher der beiden Vorgänge länger dauert.

Zykluszeit = Programmabarbeitung (Speichertransfer und Datenverarbeitung) + I/O-Kommunikation (Datenübertragung)
= Slave-Update (Datenaktualisierung und -verarbeitung) + I/O-Kommunikation (Datenübertragung)

Die Dauer der Programmabarbeitung erhöht sich unter Umständen mit der Anzahl der Slaves im Netzwerk, da der Master-Controller in diesem Fall mehr Daten verarbeiten muss. Die Dauer des Slave-Updates verlängert sich jedoch nicht, da die I/O der Slaves alle gleichzeitig aktualisiert werden. Deshalb nimmt mit zunehmender Anzahl von Slaves in einem Netzwerk auch die Wahrscheinlichkeit zu, dass die Programmabarbeitung des Masters zum Engpass wird. Umfasst eine Anwendung eine hohe Anzahl an I/O-Kanälen, sollte ein Hochleistungsprozessor als Master verwendet werden.

Links auf thematisch verwandte Seiten:
Leistungsvergleich für das EtherCAT-Slave-Chassis NI 9144

I/O-Synchronisation

Das Erweiterungschassis NI 9144 hat den Vorteil, dass es nicht nur die Synchronisation zwischen Modulen, sondern auch zwischen Slaves ermöglicht. Der Master-Controller synchronisiert dazu alle Slave-Geräte mittels verteilter Taktgeber. Sobald die I/O-Kommunikation abgeschlossen und das EtherCAT-Paket übertragen ist, sendet die EtherCAT-IP das Sync0-Signal, um den Slave darüber zu informieren, dass neue Daten bereitstehen.


Abb. 4: Timing-Diagramm für Slave-Updates

Der Master-Controller verwendet Sync0 auch, um „virtuelle Punkte“ (Virtual Points) festzulegen, d. h. synchronisierte Zeitpunkte für das I/O-Update aller Slave-Chassis. Da die NI Scan Engine für Einzelpunktdaten gilt, wird der virtuelle Punkt für die Ausgabe der Werte (Output Virtual Point) gesetzt, um das schnellste Update für Ausgangsmodule durchzuführen. Der virtuelle Punkt für die Werteerfassung (Input Virtual Point) wird so gelegt, dass er die aktuellsten Abtastwerte der Eingangsmodule bereithält. Aufgrund dieses Paradigmas kommt es zwischen den Updates einzelner Kanäle nur zu minimalem Jitter, ideal für Steuer- und Regelanwendungen. Bei Modulen mit gemultiplexten I/O kommt es an den Eingängen bei jedem Zyklus zu einer konsistenten Verzögerungszeit, da die Kanäle nicht zeitgleich, sondern nacheinander erfasst oder ausgegeben werden. So entsteht z. B. für den Kanal 3 an einem Eingangsmodul, ausgehend vom virtuellen Punkt für die Werteerfassung, bei jeder Erfassung derselbe zeitliche Versatz (Delta-Wert). Darüber hinaus führen Module mit simultaner Abtastung Updates von I/O-Kanälen für alle identischen Module genau zur selben Zeit durch und der Phasen-Offset ist minimal, selbst wenn unterschiedliche Module zum Einsatz kommen. Da jeder Slave beim Slave-Update zeitgleiche virtuelle Punkte nutzt, sind die Startzeiten aller NI-9144-Slaves im Netzwerk synchron.

Links auf thematisch verwandte Seiten:
CompactRIO Advisor