Erweiterungs-I/O für LabVIEW-RIO-Systeme: Ein detaillierter Vergleich

Überblick

Die rekonfigurierbaren I/O-Produkte (RIO) von NI werden in Anwendungen auf Systemebene eingesetzt, die hohe Geschwindigkeit und Regelung mit hochpräzisen Messungen auf einer flexiblen Entwicklungsplattform erfordern. Diese Anwendungen setzen gelegentlich mehr Kanäle oder eine stärker verteilte Architektur als das Kernsystem voraus. Erweiterungs-I/O-Systeme ermöglichen eine 1-bis-n-Systemtopologie mit einem Controller sowie „n“ FPGAs (Field-Programmable Gate Arrays) und I/O-Knoten für flexible Systeme mit hoher Kanalanzahl, die verteilte Steuerung und Regelung sowie zentralisierte Verarbeitung ausführen können. 

Inhalt

Alles beginnt mit dem Bus

Die Anforderungen an Systeme mit hoher Kanalanzahl sind vielfältig, und die erweiterte I/O-Plattform von National Instruments bietet eine vollständige Produktpalette, um den vielfältigen Anforderungen dieser Systeme gerecht zu werden. Der Hauptunterschied zwischen den Erweiterungs-I/O-Optionen liegt im Bus, der die I/O vom Prozessor trennt (siehe Abbildung 1).  Jeder Bus bietet einzigartige Vorteile und Vorteile, die ihn ideal für einen Teil von Erweiterungs-I/O-Anwendungen machen.

Abbildung 1: Die Erweiterungs-I/O trennt den Prozessor von der I/O. Jede Erweiterungsoption implementiert einen anderen Kommunikationsbus zwischen den beiden und passt zu unterschiedlichen Anwendungsbereichen.

Erweiterungsvergleich für das CompactRIO-Chassis

Jede Erweiterungs-I/O-Option basiert auf einem eindeutigen Kommunikationsbus (MXI-Express, Ethernet, EtherCAT oder drahtlos), der bestimmte Funktionen des Systems vorgibt. In Tabelle 1 sind einige der wichtigsten Unterschiede zwischen den einzelnen Erweiterungs-I/O-Optionen zusammengefasst.

 

 

MXI

Leistungsstarkes Erweiterungschassis für Anwendungen mit hoher Kanalanzahl

Ethernet

FPGA-fähige I/O für jede Stelle des Ethernet-Netzwerks

EtherCAT

Deterministische EtherCAT-I/O für verteilte Anwendungen

 
I/O-Anzahl8 oder 14 Steckplätze der C-Serie4 oder 8 Steckplätze der C-Serie8 Steckplätze der C-Serie 
FPGAVirtex-5 (LX50/LX85/LX110)Artix-7/Spartan 2M/Spartan 6 (LX45)Spartan 2M 
NetzwerktopologieDaisy Chain/sternförmigWie EthernetDaisy Chain/sternförmig 
Auf Entfernung7 m zwischen ChassisHub ab mehr als 100 mRepeater ab mehr als 100 m 
Synchronisation mehrerer MessgeräteFPGA-basierte Digital-I/OFPGA-basierte Digital-I/OImplizit im Bus 
Kommunikationsjitter<10 μsNicht spezifiziert<1 μs 
Busdurchsatz250 MB/s25 MB/s12,5 MB/s 
API-UnterstützungFPGA/Host-SchnittstelleFPGA/Host-Schnittstelle/RSIRSI 
HostWindows-/Echtzeit-BetriebssystemWindows-/Echtzeit-BetriebssystemNur Echtzeit-Betriebssystem 

Tabelle 1: Vergleich der wichtigsten I/O-Erweiterungsfunktionen

 

MXI-Express RIO

Das MXI-Express-RIO-Erweiterungschassis bietet eine Hochleistungslösung für Anwendungen, die eine hohe Durchsatzrate und hohe Kanalanzahl, I/O für Analog- und Digitalsignale sowie benutzerdefinierte Signalverarbeitung und Regelalgorithmen erfordern. Jedes MXI-Express-RIO-Chassis unterstützt 8 oder 14 I/O-Module der C-Serie und bietet einen erstklassigen FPGA Virtex-5 LX50, LX85 oder LX110. Die Chassis sind in Reihe geschaltet und kommunizieren über eine verkabelte PCI-Express-x1-Link mit einem Host-Controller für einen 20-fach höheren Durchsatz als Ethernet- oder EtherCAT-RIO-Erweiterungs-Chassis. Mit diesem MXI-Express-Link können Sie eine Verbindung zu einer Vielzahl von Host-Systemen herstellen, darunter Multicore-NI CompactRIO sowie Dual- und Quad-Core-PC-, PXI- und Industrie-Controllern mit NI LabVIEW Real-Time oder Windows. MXI-Express-RIO-Systeme eignen sich ideal für Hardware-in-the-Loop-Tests (HIL), industrielle Maschinenzustandsüberwachung, Schall- und Schwingungsmessungen und komplexe Forschungsanwendungen wie z. B. in Großphysik.

Ethernet-RIO

Mit dem robusten Ethernet-RIO-Chassis mit 4 oder 8 Steckplätzen können Sie verteilte, FPGA-fähige I/O zu jedem Ethernet-Netzwerk hinzufügen. Mit der Flexibilität der Standard-CAT-5-Kabel können Sie Ethernet-RIO-Systeme mit nahezu jedem Host verbinden, der Ethernet unterstützt, einschließlich NI CompactRIO, Echtzeit-PXI-Controller und NI-Industrie-Controller. Sie können Ethernet-RIO-Erweiterungssysteme auch mit Windows-basierten PCs verbinden, um ein stark verteiltes, flexibles Netzwerk von FPGA-fähigen I/O mit Mischsignalaufbereitung zu erstellen. Mit dem geräteeigenen FPGA können Sie benutzerdefinierte Signalanalyse, Steuerung und Sicherheitsverriegelungen implementieren, die lokal für jedes Chassis sind, wodurch ein wirklich modulares System erstellt wird. Ethernet-RIO-basierte Systeme eignen sich ideal für Anwendungen, bei denen Benutzerfreundlichkeit, Kosten und Flexibilität von entscheidender Bedeutung sind. Zu diesen Anwendungen zählen die verteilte Überwachung für Einzelwertmessungen wie Temperatur und Durchfluss.

EtherCAT RIO

EtherCAT (Ethernet Control Automation Technology) RIO ist ein Slave-Chassis mit 8 Steckplätzen, das die Kommunikation über Ethernet mithilfe des deterministischen EtherCAT-Protokolls implementiert. EtherCAT RIO ermöglicht das Hinzufügen von FPGA-fähigen I/O zu Ihrem System mit hoher Kanalanzahl oder verteilten I/O mit definiertem Maß an Determinismus und Synchronisation. Mit EtherCAT RIO können Sie mehrere Slave-Geräte mit einem einzigen Master verknüpfen und die I/O mit einem einzigen Master-Takt synchronisieren. EtherCAT RIO eignet sich am besten für verteilte Einzelpunkt-Steuerungs- und Bewegungsanwendungen, die einen harten Determinismus über mehrere synchronisierte Chassis erfordern. Kunden verwenden EtherCAT RIO für die Strukturüberwachung von Windturbinen, synchronisierten Prüfständen und Anwendungen zur Steuerung über große Entfernungen.

I/O-Anzahl

MXI-Express, Ethernet und EtherCAT

MXI-Express-RIO-, Ethernet-RIO- und EtherCAT-RIO-Systeme können über I/O-Module der C-Serie mit jedem Sensor auf jedem Bus verbunden werden. Die I/O steht direkt auf dem FPGA zur Verfügung, wo Sie Inline-Signalverarbeitung, benutzerdefiniertes Timing, spezielle Triggerung und Regelung implementieren können. Alle Module der C-Serie umfassen integrierte Signalkonditionierungsfunktionen sowie Schraubklemmen-, BNC- oder D-Sub-Anschlüsse. Gegenwärtig stehen über 100 Module der C-Serie von NI und Drittanbietern für verschiedene Messungen zur Verfügung, darunter Thermoelemente, Spannungs-, Strom-, Widerstands- und Dehnungsmesser, RTDs, Digitalmodule (TTL und andere), Beschleunigungsaufnehmer und Mikrofone. Die Kanalanzahl der einzelnen Module liegt zwischen drei und 32, sodass die Anforderungen unterschiedlicher Systeme abgedeckt werden.

FPGA

MXI-Express, Ethernet und EtherCAT

Der branchenübergreifende Einsatz von FPGA-Chips beruht darauf, dass FPGAs die besten Eigenschaften von ASICs und prozessorgestützten Systemen vereinen. Im Gegensatz zu ASICs bieten FPGAs hardwaregetaktete Geschwindigkeit und Zuverlässigkeit bei gleichzeitiger Kosteneffizienz.

Die reprogrammierbaren Siliziumchips sind genauso flexibel wie Software, die auf einem Prozessor ausgeführt wird. Ihre Leistungsfähigkeit wird jedoch nicht von der Anzahl der verfügbaren Prozessorkerne eingeschränkt. Im Unterschied zu Prozessoren bieten FPGAs echte Parallelität, so dass verschiedene Verarbeitungsoperationen nicht auf die gleiche Ressource angewiesen sind. Jeder einzelne Verarbeitungs-Task wird einem dedizierten Bereich auf dem Chip zugewiesen und kann so autonom und ohne Beeinflussung anderer Logikblöcke ausgeführt werden. Daher wird die Leistungsfähigkeit der Anwendung nicht eingeschränkt, wenn weitere Verarbeitungs-Tasks hinzugefügt werden.

 ChassisFPGAGatterFlipflopsLUTsMultiplikator

Block-RAM 

(kbit)

Ethernet      
NI 9149Artix-7--106.40053.2002204.480
NI 9148Spartan-3 20002 Millionen40.96040.96040720
NI 9147Artix-7--106.40053.2002204.480
NI 9146Spartan-6 LX45--54.57654.576582.088
EtherCAT      
NI 9144Spartan-3 20002 Millionen40.96040.96040720
MXI-Express      
NI 9159Virtex-5 LX110--69.12069.120644.608

 NI 9157,

NI 9155

Virtex-5 LX85--51.84051.840483.456
NI 9154Virtex-5 LX50--28.80028.800481.728

Tabelle 2: Siehe FPGAs für Erweiterungs-RIO-Produkte.

 

Netzwerktopologie

MXI-Express RIO

Bei MXI-Express-RIO können Stern- oder Daisy-Chain-Konfigurationen verwendet werden. Die Anzahl der möglichen Chassis ist systemabhängig. In der Regel können jedoch bis zu sechs Chassis pro Daisy-Kette verbunden werden. Die Gesamtanzahl der Chassis in einer Stern-Konfiguration hängt von den verfügbaren PCI-Bus-Segmenten im Host-Controller ab. Auf einem Controller sind mehr als 40 Chassis möglich.

EtherCAT RIO

Die theoretische Gerätegrenze für ein EtherCAT-Netzwerk beträgt 65.535 Slave und die Grenzwerte für Fast Ethernet (100 Mbit/s) sind ähnlich hoch. Die maximale Anzahl an Geräten in diesem System ist die Anzahl der übertragenen I/O-Kanäle, die Geschwindigkeit des Controllers und die ausgeführte Anwendung.

Beachten Sie, dass alle Chassis in einer Daisy-Chain bei der Konfiguration eines Systems und der Berechnung der Gesamtdurchsatzanforderungen dieselbe „Pipe“ oder Bandbreite zurück an den Host-Controller teilen. Die Schleifenrate wird außerdem von der Geräteanzahl und den Daten auf dem Bus beeinflusst, da jedes Chassis und jedes Kabel dem System eine Latenz hinzufügt.

Auf Entfernung

 

MXI-Express RIO ist auf einen Abstand von 7 m zwischen Chassis auf dem Bus begrenzt. Sowohl Ethernet-RIO als auch das EtherCAT-Slave-Chassis unterstützen bis zu 100 m, bevor zwischen Geräten ein Hub, Switch oder Repeater benötigt wird.

Hinweis: Um die Reichweite eines EtherCAT-Netzwerks zu erweitern, müssen Sie ein EtherCAT-kompatibles Gerät verwenden. Ein normaler Ethernet-Switch ist nicht mit einem EtherCAT-Netzwerk kompatibel. 

Synchronisation mehrerer Messgeräte

Timing und Synchronisation ermöglichen die zeitliche Korrelation oder Koordination von Ereignissen. Dies ist ein wesentlicher Bestandteil vieler Regel- und Messanwendungen, besonders wenn sie auf hohe Kanalanzahl skaliert werden.

MXI-Express RIO und Ethernet RIO

MXI-Express-RIO-Chassis und Ethernet-RIO-Chassis unterstützen keine native Synchronisation über den Kommunikationsbus (MXI-Express bzw. Fast Ethernet). Taktfreigabe ist nicht in die Busarchitektur integriert und die Verzögerung, die durch verpasste Pakete oder Kollisionen aufgrund der Netzwerktopologie verursacht wird, wird nicht berücksichtigt (die Kommunikation zwischen den Knoten im System ist asynchron). Alle Module in einem Chassis können jedoch synchronisiert werden, da sie die Chassis-Backplane teilen, und mehrere MXI-Express-RIO- oder Ethernet-RIO-Chassis mit Hilfe eines Digital-I/O-Moduls der C-Serie synchronisiert werden, um ein Referenztaktsignal zwischen Chassis zu verteilen.  

EtherCAT RIO

EtherCAT-RIO wird automatisch mit anderen Teilen des Systems synchronisiert, da der EtherCAT-Buskommunikationsstandard einen Master-Systemtakt definiert, den alle Geräte auf dem Netzwerk referenzieren. Daher ist der EtherCAT-Bus die ideale Wahl für Systeme, die eine enge Synchronisation (weniger als eine Mikrosekunde) und einen harten Determinismus erfordern.

Kommunikationsjitter

Diese Spezifikation bezieht sich nur auf den durch den Kommunikationsbus verursachten Jitter. Die Hauptquelle von Jitter in einem System ist in der Regel mit dem Controller und nicht mit dem Kommunikationsbus verbunden (insbesondere bei Windows-Controllern). Darüber hinaus hängt Jitter in einem System von der Systemarchitektur und der Anzahl der Chassis ab, die die Daten in einer Daisy-Chain aushandeln müssen, um zum Host zu gelangen. 

Die deterministische Kommunikation ist bei Anwendungen wichtig, bei denen der Datenaustausch zwischen verteilten Real-Time-Rechenknoten integraler Bestandteil der Regelschleife ist. Das bedeutet, dass jeder durch das Netzwerk verursachte Jitter zu Jitter für die Regelschleife führt. Der zulässige Jitter der Regelschleife hängt vom betreffenden System ab, aber ein Standardbereich beträgt ±10 Prozent der Dauer der Regelschleife. Wenn Sie eine 1-kHz-Regelschleife betrachten, bedeutet dies, dass jede Iteration überall zwischen 900 und 1100 μs ausgeführt werden kann und das System trotzdem ordnungsgemäß reagiert. 

Der Kommunikations-Jitter für MXI-Express RIO und EtherCAT RIO beträgt jeweils weniger als 10 Mikrosekunden bzw. weniger als 1 Mikrosekunde. Ethernet-RIO-Geräte haben keine Spezifikationen für Jitter. Das liegt daran, dass „Fast Ethernet“ und drahtlose Übertragung keine deterministischen Methoden zur Datenübertragung sind.

Busdurchsatz

MXI-Express RIO stellt die größte Pipe zurück zum Controller mit einer maximalen theoretischen Bandbreite von 250 MB/s im Vergleich zu 25 MB/s für Ethernet RIO und 12,5 MB/s für EtherCAT. Denken Sie daran, dass die Busleistung mehr als nur von der theoretischen maximalen Bandbreite des Busses abhängt. Beachten Sie neben der Bandbreite Faktoren wie Latenz, Implementierung, Strombedarf und Ihre Anwendung. Für Anwendungen mit hohem Durchsatz ist MXI-Express RIO die beste Option.  Die Durchsatzkapazitäten von Ethernet-RIO und EtherCAT-RIO reichen für die meisten Steuerungs- und Überwachungsanwendungen aus.

API

Eine API (Application Program Interface) ist ein Satz von Routinen, die als Bausteine für Softwareanwendungen dienen. Es gibt zwei Methoden zur Programmierung von Erweiterungs-I/O-Zielsystemen: Den CompactRIO-Scan-Modus oder die LabVIEW-FPGA-Host-Schnittstellen-API.

Sie können den CompactRIO-Scan-Modus (auch RIO Scan Interface oder RSI genannt) auf dem EtherCAT- und Ethernet-Chassis verwenden. Der CompactRIO Scan Mode erkennt Ihre I/O-Module automatisch und fügt sie zu einem LabVIEW-Projekt hinzu. Anschließend können Sie die I/O-Variablen in das Blockdiagramm von LabVIEW Real-Time und Host-VIs ziehen und skalierte, kalibrierte I/O-Daten ohne FPGA-Programmierung oder Kompilierung sofort lesen und schreiben. 

Abbildung 2: Verwenden des CompactRIO-Scan-Modus

Wenn Sie den FPGA direkt programmieren möchten, verwenden Sie das LabVIEW FPGA Module. Sobald Sie Ihr FPGA-VI geschrieben haben, wird es in einen Bitstream kompiliert und auf den FPGA übertragen. Um von Ihrer Host-Anwendung aus mit dem FPGA zu kommunizieren, verwenden Sie die LabVIEW-FPGA-Host-Schnittstellen-API. Auf diese Weise können Sie Funktionen wie das Lesen und Schreiben von Registern sowie DMA-Übertragungen ausführen.

Beachten Sie, dass Sie mit EtherCAT-Chassis nur benutzerdefinierte I/O-Variablen verwenden können, um zwischen dem Real-Time-VI des Controllers und dem FPGA-VI des Erweiterungs-Chassis zu kommunizieren. (Mit benutzerdefinierten I/O-Variablen werden FPGA-Daten mit der NI Scan Engine synchronisiert.) Das bedeutet, dass Sie für das FPGA-VI des Erweiterungs-Chassis keine FPGA-Host-Schnittstelle, DMA-Übertragungsfunktionen oder Frontpanel-Fehlersuche haben.

Sie können nur die LabVIEW-FPGA-Host-Schnittstellen-API verwenden, um mit dem MXI-Express-RIO zu kommunizieren. 

Des Weiteren gibt es Einschränkungen bei den Typen von Modulen der C-Serie, die mit jedem Chassis kompatibel sind, abhängig von der Fähigkeit der Module, den NI Scan Modus zu unterstützen. Da MXI-Express RIO nur LabVIEW FPGA unterstützt, sind Module, die mit dem NI Scan Modus arbeiten, wie z. B. CAN-Module des Typs NI 986x, nicht mit MXI-Express RIO kompatibel. Eine vollständige Liste der Kompatibilität der C-Serie finden Sie in der Übersicht zur Kompatibilität der Module der C-Serie.

Host-Controller

Alle vier Erweiterungsoptionen verwenden unterschiedliche Busse und erfordern daher unterschiedliche Verbindungen auf der Controller-Seite.

MXI-Express RIO

MXI-Express RIO erfordert eine MXI-Express-Schnittstelle zum Host-System: Zu den Optionen zählen Multicore-CompactRIO-, PXI- oder Industrie-Controller sowie PCs mit Windows- oder Echtzeitbetriebssystemen und mit einer MXI-Express-PCI-Karten-Schnittstelle. Mit einem MXI-Express-ExpressCard-Adapter können Sie das MXI-Express-RIO-Chassis mit Controllern verbinden, die noch keine MXI-Express-Schnittstelle haben, aber über einen integrierten ExpressCard-Steckplatz wie das NI PXIe-8115 verfügen. Sie können auch die MXI-Express-Schnittstelle des NI PXIe-8364 verwenden, um ein MXI-Express-RIO mit Ihrem PXI-System zu verbinden. Mit einem MXI-Express-auf-PCI- oder PCI-Express-Adapter können Sie MXI-Express RIO mit einem PC verbinden.  

Ethernet-RIO

Ethernet-RIO kann an jedes System mit Ethernet-Anschluss angeschlossen und mit den meisten Standardnetzwerktopologien verwendet werden. Um das Ethernet-RIO direkt mit dem sekundären Ethernet-Anschluss eines Real-Time-Controllers zu verbinden, lesen Sie den Abschnitt Anschließen eines Ethernet-RIO-Erweiterungs-Chassis an den sekundären Ethernet-Anschluss eines Real-Time-Controllers. Die Ethernet-RIO-Chassis 9149 und 9147 verfügen außerdem jeweils über einen USB-Anschluss für die einfache Gerätekonfiguration. Dieser Port ist jedoch nicht gedacht, anstelle des Ethernet-Ports zu verwenden. 

EtherCAT RIO

Das EtherCAT-RIO-Chassis ist mit allen Echtzeit-Controllern mit zwei Ethernet-Ports kompatibel, darunter CompactRIO-, PXI- und Industrie-Controller-Plattformen. Wenn ein Real-Time-PXI-Controller keine zwei Ethernet-Ports hat, müssen Sie für EtherCAT eine Ethernet-Schnittstelle des Typs NI PXI-8231/8232 installieren (die Ethernet-Schnittstelle des Typs NI 8234 ist nicht kompatibel), die nur auf Real-Time-Controllern unterstützt wird. Außerdem benötigen Sie die Treibersoftware „NI-Industrial Communications for EtherCAT“, und der zweite Ethernet-Port muss sich im Modus „EtherCAT“ befinden.