Leistungsbewertung des Erweiterungschassis NI 9144

Inhalt

Das Erweiterungschassis NI 9144 stellt über ein deterministisches Ethernet-Netzwerk synchronisierte, verteilte I/O zur Verfügung. Wird dieses Chassis mit acht Steckplätzen für Module der C-Serie von NI mit dem NI LabVIEW Real-Time Module programmiert, können mehrere dieser Chassis von einem NI-CompactRIO-Embedded-Echtzeit-PXI- oder dem Industrial Controller (Echtzeit) aus hintereinander in Reihe geschaltet werden. Das NI 9144 verfügt zudem über einen FPGA, der mit dem LabVIEW FPGA Module programmiert werden kann, um intelligente Funktionen für benutzerdefiniertes Timing und prozessbegleitende Verarbeitung zu erstellen. In diesem Whitepaper werden die technischen Details und Leistungsergebnisse des NI 9144 unter Einsatz der NI Scan Engine in LabVIEW Real-Time näher beleuchtet.



Abbildung 1: Echtzeit-Ethernet-Erweiterungssystem unter Verwendung des Chassis NI 9144

 

Leistungsbewertung für Echtzeit-Ethernet-Übertragung

Das Kommunikationsnetzwerk zwischen dem Master-Controller und dem NI 9144 basiert auf dem offenen, echtzeitfähigen Ethernet-Protokoll EtherCAT. Die vier Komponenten, die bei einer EtherCAT-Leistungsbewertung eine Rolle spielen, sind: Logik, Treiber, EtherCAT-Netzwerk und I/O.


Abbildung 2:
Komponenten der Master- und Slave-Leistungsbewertung

Beim EtherCAT-Master-Gerät wird die Leistung vom Programmcode des Anwenders sowie vom EtherCAT-Treiber, welcher Daten zwischen dem Code und dem EtherCAT-Netzwerk überträgt, beeinflusst. Der EtherCAT-Master-Controller ist in erster Linie für die Begrenzung der Systemzykluszeit verantwortlich, da seine Verarbeitungsleistung großen Einfluss auf die Verarbeitungsgeschwindigkeit der Daten in der Anwenderlogik und im Treiber hat. Je leistungsstärker der Controller ist, desto mehr I/O-Daten können in einem kürzeren Zeitraum verarbeitet werden.

Die Leistung des Slave-Geräts andererseits wird davon beeinflusst, wie lange ein Datenpaket im EtherCAT-Netzwerk unterwegs ist und wie schnell die Slave-I/O aktualisiert werden. Die Paketgeschwindigkeit im EtherCAT-Netzwerk wird von vielen Faktoren beeinflusst, u. a. von der Anzahl der Slave-Geräteknoten, der Länge des Ethernet-Kabels und in erster Linie von der Menge der zu übertragenden I/O-Daten. Da es sich bei EtherCAT um ein deterministisches Protokoll handelt, wird das Netzwerk-Timing präzise kalkuliert, so dass der Master genaue Angaben erhält, wann die Slave-I/O aktualisiert und Daten übertragen werden. Somit ist also die Geschwindigkeit des EtherCAT-Netzwerks die schnellste Komponente der gesamten Systemzykluszeit.

Wird das Chassis NI 9144 zusammen mit einem NI-PAC eingesetzt, werden bei der Leistungsbewertung die folgenden Bestandteile berücksichtigt:


Abbildung 3: Bestandteile der NI-Master- und Slave-Leistungsbewertung

Bei der Logik handelt es sich um den vom Anwender erstellten LabVIEW-Code. Der Treiber bezieht sich auf die NI Scan Engine in LabVIEW und die Software NI-Industrial Communications for EtherCAT. Das EtherCAT-Netzwerk stellt die Kommunikation über das Ethernet-Kabel dar und die I/O beziehen sich auf die I/O-Module der C-Serie. All diese Hard- und Softwarebestandteile beeinflussen die gesamte Systemzykluszeit.

Bewertung der Systemzykluszeit

Bei einem einzelnen Scan oder einer Schleifeniteration, die einen Scan ausführt, ist es wichtig, dass die Übertragung des EtherCAT-Pakets zwischen dem Master-Controller und dem Slave-Chassis NI 9144 synchronisiert ist. Während des I/O-Scans sendet der Master ein Paket mit neuen Ausgabedaten und Anweisungen an die Slaves, die das Paket anschließend mit neuen Eingabewerten an den Master zurücksenden. Mithilfe der aktualisierten Daten des EtherCAT-Pakets beginnt der Master die Programmabarbeitung, während das Chassis NI 9144 mit der I/O-Aktualisierung beginnt. Die Programmabarbeitung ist der Zeitraum, den der Master für die Verarbeitung der Daten und die Ausführung des LabVIEW-Programms benötigt. Die Update-Rate der Slaves wiederum ist der Zeitraum, den der Slave für DMA-Übertragungen, Datenverarbeitung und Aktualisierung der I/O-Werte benötigt. Aufgrund dessen wird die Mindestzykluszeit entweder von der Slave-Update-Rate oder der Programmabarbeitungszeit beeinflusst, je nachdem, welcher der beiden Vorgänge länger dauert.


Abbildung 4:
Timing des Scan-Zyklus

Die Dauer der Programmabarbeitung erhöht sich mit der Anzahl der Slaves und I/O im Netzwerk, da der Master-Controller eine größere Menge an Daten verarbeiten muss. Die Dauer der Slave-Aktualisierung verlängert sich hingegen nicht, da alle I/O zur gleichen Zeit aktualisiert werden. Deshalb gilt, je höher die Anzahl der Slaves in einem Netzwerk, desto höher die Wahrscheinlichkeit, dass es bei der Programmabarbeitung zu einem Engpass kommt. Umfasst eine Anwendung eine hohe Anzahl an I/O-Kanälen, sollte deshalb ein Hochleistungs-Controller wie z. B. PXI als Master verwendet werden.


Abbildung 5: CompactRIO- und PXI-Systeme mit NI 9144

Leistungsbewertung des Master-Controllers

Die Standardeinstellung für die LabVIEW-Programmierung des Master-Controllers ist die Verwendung der NI Scan Engine, die Bestandteil des LabVIEW Real-Time Modules ist und Einzelpunkt-I/O-Werte mit einer vom Anwender spezifizierten Geschwindigkeit in den Speicher überträgt. In dieser Leistungsbewertung wird die Zeit, die für die Ausführung des Anwendercodes notwendig ist, nicht berechnet. Aufgrund dessen ist die verbleibende Komponente für die Leistungsbewertung somit die Treibergeschwindigkeit, die sich aus der Zeit, die der Controller für den Datentransfer zwischen dem NI-Scan-Engine-Speicher und der I/O-Variablen benötigt, zusammensetzt . I/O-Variablen kommen zum Einsatz, um auf Daten im NI-Scan-Engine-Speicher zuzugreifen, wobei jeder I/O-Variablenknoten eine gewisse Ausführungszeit im LabVIEW-VI benötigt. Die durchschnittliche Ausführungszeit eines I/O-Variablenknotens bleibt in der Regel konstant, unabhängig davon, ob sich die Anzahl der Knoten im Blockdiagramm erhöht. In der folgenden Grafik werden die Ausführungszeiten für verschiedene Master-Controller dargestellt. Basierend auf diesen Daten beträgt die durchschnittliche Ausführungszeit pro I/O-Variablenknoten ca. 8 µs für das integrierte System NI cRIO-9072, 3,5 µs für den Embedded-Echtzeit-Controller NI cRIO-9022 und 0,3 µs für den Embedded-Dual-Core-Controller NI PXI-8106.


Abbildung 6: Durchschnittliche Ausführungszeit pro I/O-Variablenknoten

Hinweis: Es handelt sich hierbei nicht um eine vollständige Liste aller kompatiblen NI-Controller. Weitere Informationen entnehmen Sie der Auswahlhilfe für deterministische Ethernet-Produkte. Als Faustregel gilt, je leistungsstärker der Prozessor ist, desto schneller werden die I/O-Variablen ausgeführt.

Leistungsbewertung des Slave-Geräts

Eine häufige Frage ist die maximale Anzahl an NI-9144-Chassis, die vom Master-Controller aus in Reihe geschaltet werden können. Laut EtherCAT-Protokoll liegt die theoretisch mögliche maximale Anzahl an Slave-Geräten in einem Netzwerk bei 65535. Allerdings verlangsamt eine solch große Anzahl die Scan-Rate wesentlich. Wird eine solch hohe Geräteanzahl angestrebt, sollten deshalb mehrere Master-Controller eingesetzt werden. In der Praxis hat jedoch die Anzahl der I/O-Kanäle einen größeren Einfluss auf die Systemzykluszeit des Master-Controllers als die Anzahl der Slave-Geräte. Wie in Abb. 4 zu sehen, erhöht sich der Zeitraum der Programmabarbeitung je mehr Daten über das EtherCAT-Netzwerk übertragen werden, jedoch nicht die Aktualisierungszeit der Slaves. Aufgrund dessen bleibt die Systemschleifenrate trotz des Overheads für jedes zusätzliche Slave-Gerät gleich, unabhängig davon, ob 300 I/O-Kanäle auf zwei oder zwanzig NI-9144-Chassis aufgeteilt werden.

Zusammengefasste Systemzykluszeit

In Tabelle 1 sind die Leistungsdaten für den Master-Controller und das NI 9144 dargestellt, die zusammen die Systemzykluszeit bzw. Systemschleifenrate bilden.

Mindestzykluszeit = Treiber + EtherCAT-Netzwerk + I/O-Updates

Es ist zu beachten, dass die Leistungsbewertungen nicht berücksichtigen, wieviel Zeit für die Ausführung des Anwendercodes benötigt wird. Weitere Informationen entnehmen Sie den nachfolgenden Links.

Tabelle 1: Systemzykluszeit

Am Ende dieses Whitepapers befindet sich die Tabelle system_loop_rate_chart.xls mit den Leistungsdaten der zwei hier überprüften Controller mit vier verschiedenen I/O-Modulen, mit denen Sie die ungefähre Schleifenrate Ihrer Konfiguration berechnen können. Für die Berechnung müssen Sie nur die Anzahl Ihrer Analog- und Digital-I/O-Kanäle sowie die ungefähre Ausführungszeit des LabVIEW-Codes eingeben. Da diese Formel auf einem spezifischen Hardwareaufbau beruht, können sich die Ergebnisse je nach I/O-Modul unterscheiden.

Verwandte Links
Leistungsbewertung für die NI Scan Engine
Evaluierung der Einzelpunkterfassungsleistung bei Echtzeithardware von National Instruments

Leistungsbewertung für NI 9144

Das Erweiterungschassis NI 9144 kann auch mit EtherCAT-Master-Controllern anderer Anbieter eingesetzt werden. Allerdings kann das Chassis in diesem Fall nicht mit LabVIEW programmiert werden. Für diese Fälle steht eine Leistungsbewertung nur für das NI 9144 und das EtherCAT-Netzwerk zur Verfügung, ohne dass ein Master-Controller mit in die Betrachtung einbezogen wird. Es sollte weiterhin beachtet werden, dass es sich hierbei um die Mindestzykluszeit handelt. Um die tatsächliche Systemzykluszeit zu berechnen, muss sowohl die Programmabarbeitungs- als auch die Ausführungszeit des jeweils eingesetzten Master-Controllers ermittelt und verglichen werden. Die Formel besteht aus zwei Teilen:

Mindestzykluszeit des Slaves = Paketübertragungszeit + Update-Zeit des Slaves

Paketübertragungszeit

Sobald das EtherCAT-Paket den Master verlässt, ist die Paketübertragungszeit die Summe der Frame-Übertragung, der Kommunikationsverzögerung und dem auftretenden Jitter.

Paketübertragungszeit = Frame-Übertragungszeit + Kommunikationsverzögerung + Jitter

Die Frame-Übertragungsrate beträgt 80 ns für jedes Byte an EtherCAT-Daten sowie 5 µs für jeden EtherCAT-Frame, der Daten enthält. (Die Gesamtmenge an EtherCAT-Daten hängt von der Anzahl und Art der I/O-Kanäle des NI 9144 ab.) Die Kommunikationsverzögerung beträgt 600 ns für jedes angeschlossene NI-9144-Chassis und 5 ns für jeden Meter des Ethernet-Kabels.

Update-Zeit des Slaves

Nachdem das EtherCAT-Paket ohne Unterbrechung an alle Slaves und zurück an den Master übertragen wurde, lesen alle Slaves gleichzeitig die Eingabedaten und schreiben Ausgabedaten. Dabei bestimmt der Slave mit der langsamsten Update-Rate die Mindestzykluszeit des gesamten Systems.

Update-Zeit des Slaves = DMA-Transferzeit + Langsamstes Modul-Timing

Um die Update-Rate des Slaves zu ermitteln, müssen die einzelnen Modulkonfigurationen aller NI-9144-Chassis in Betracht gezogen werden. Abhängig von den Modulen im Chassis kann die DMA-Transferrate für die Ein- und Ausgabedaten berechnet werden. Des Weiteren lässt sich das Modul mit dem schlechtesten Initialisierungs-, Wandlungs- und Refraktions-Timing ermitteln. Durch das Addieren dieser Werte kann dann die Update-Rate des langsamsten Slaves bestimmt werden.

Hinweis: Mit dem Release von LabVIEW 2009 lassen sich die Module im NI 9144 hardwareseitig mit LabVIEW FPGA programmieren. Somit profitieren Anwender nun von Modulen mit schnelleren Update-Raten als der Systemschleifenrate. Während der Erfassung der I/O bei maximaler Modulgeschwindigkeit kann der FPGA-Code eingesetzt werden, um benutzerdefinierte Signalmanipulation und Inline-Verarbeitung durchzuführen und anschließend die Ergebnisse an den Master-Controller zu übertragen.

Gesamte Zykluszeit der Slaves

Da eine große Anzahl an unterschiedlichen Modulkonfigurationen zusammen mit dem NI 9144 eingesetzt werden kann, befindet sich am Ende dieses Dokuments die Übersicht ni_9144_only_benchmarks.xls, in der sich alle bisher genannten Formeln für die Berechnung der genauen Mindestzykluszeit der Slaves befinden. Sobald Sie die genauen Werte eingegeben haben, müssen Sie nur noch die Leistungswerte des Drittanbieter-Master-Controllers hinzufügen, um die Systemzykluszeit für Ihre Anwendung zu berechnen. Um eine noch höhere Geschwindigkeit zu erreichen, können Sie die Funktionen des LabVIEW FPGA Module nutzen, um benutzerdefinierte intelligente Funktionen auf das NI 9144 herunterzuladen.

Verwandte Links
Wie funktioniert das Erweiterungschassis NI 9144
CompactRIO Advisor
Auswahlhilfe für deterministische Ethernet-Produkte