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 voraus, als das Kernsystem bieten kann. 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.
Die Anforderungen an Systeme mit hoher Kanalanzahl sind vielfältig, und die erweiterte I/O-Plattform von NI 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.
Jede Erweiterungs-I/O-Option basiert auf einem eindeutigen Kommunikationsbus (Ethernet, EtherCAT oder MXI), der bestimmte Funktionen des Systems vorgibt. In Tabelle 1 sind einige der wichtigsten Unterschiede zwischen den einzelnen Erweiterungs-I/O-Optionen zusammengefasst.
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 (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.
NI bietet das MXI-Express-RIO-Erweiterungschassis nicht mehr an. Verwenden Sie stattdessen das EtherCAT- oder Ethernet-RIO-Erweiterungschassis. Verwenden Sie Tabelle 1 als Vergleich, um den für Sie am besten geeigneten Migrationspfad zu ermitteln.
Ethernet-RIO-, EtherCAT-RIO- und MXI-Express-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.
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.
Die theoretische Teilnehmergrenze für ein EtherCAT-Netzwerk liegt bei 65.535 Slaves, die Grenzen 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.
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 6 Chassis pro Daisy-Chain 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.
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.
Timing und Synchronisierung 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.
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.
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.
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 Jitter, der durch das Netzwerk entsteht, einen Jitter in der Regelschleife verursacht. Der zulässige Jitter der Regelschleife hängt vom betreffenden System ab, aber der Standardbereich beträgt ±10 Prozent der Dauer der Regelschleife. Bei einer 1-kHz-Regelschleife bedeutet dies, dass jede Iteration in einem Bereich von 900 bis 1100 μs ausgeführt werden kann und das System trotzdem ordnungsgemäß reagiert.
Der Kommunikations-Jitter für EtherCAT RIO und MXI-Express 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.
MXI-Express RIO bietet die größte Rückleitung zum Controller mit einer maximalen theoretischen Bandbreite von 250 MB/s im Vergleich zu 25 MB/s bei Ethernet RIO und 12,5 MB/s bei EtherCAT. Denken Sie daran, dass die Busleistung mehr als nur von der theoretischen maximalen Bandbreite des Busses abhängt. Beachten Sie neben der Bandbreite auch 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.
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 NI CompactRIO-Scan-Modus oder die NI LabVIEW-FPGA-Host-Schnittstellen-API.
Sie können den NI CompactRIO-Scan-Modus (auch RIO Scan Interface oder RSI genannt) auf dem EtherCAT- und Ethernet-Chassis verwenden. Der CompactRIO-Scan-Modus 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 Erweiterungschassis 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 Kompatibilitätsübersicht für NI-Module der C-Serie.
Alle vier Erweiterungsoptionen verwenden unterschiedliche Busse und erfordern daher unterschiedliche Verbindungen auf der Controller-Seite.
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-Erweiterungschassis an den sekundären Ethernet-Anschluss eines Real-Time-Controllers. Die Ethernet-RIO-Chassis NI-9149 und NI-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.
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.
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 | EtherCAT | MXI (EOL) | |
---|---|---|---|
FPGA-fähige I/O an beliebiger Stelle in Ihrem Ethernet-Netzwerk | Deterministische EtherCAT-I/O für verteilte Anwendungen | Leistungsstarkes Erweiterungs-Chassis für Anwendungen mit hoher Kanalanzahl | |
I/O-Anzahl | 4 oder 8 Steckplätze der C-Serie | 8 Steckplätze der C-Serie | 8 oder 14 Steckplätze der C-Serie |
FPGA | Artix-7 | Artix-7 | Virtex-5 (LX50/LX85/LX110 |
Netzwerktopologie | Wie Ethernet | Daisy-Chain/sternförmig | Daisy-Chain/sternförmig |
Entfernung | Hub ab mehr als 100 m | Repeater ab mehr als 100 m | 7 m zwischen Chassis |
Synchronisierung mehrerer Messgeräte | FPGA-basierte Digital-I/O | Implizit im Bus | FPGA-basierte Digital-I/O |
Kommunikations-Jitter | Nicht spezifiziert | <1 μs | <10 μs |
Busdurchsatz | 25 MB/s | 12,5 MB/s | 250 MB/s |
API-Unterstützung | FPGA/Host-Schnittstelle/RSI | RSI | FPGA/Host-Schnittstelle |
Host | Windows-/Echtzeit-Betriebssystem | Nur Echtzeit-Betriebssystem | Windows-/Echtzeit-Betriebssystem |
Tabelle 1: Vergleich der wichtigsten I/O-Erweiterungsfunktionen
Chassis | FPGA | Gatter | Flipflops | LUTs | Multiplikator | Block-RAM (kbit) |
---|---|---|---|---|---|---|
Ethernet | ||||||
NI-9149 | Artix-7 | – | 106.400 | 53.200 | 220 | 4.480 |
NI-9147 | Artix-7 | – | 106.400 | 53.200 | 220 | 4.480 |
NI-9148 (EOL) | Spartan-3 2000 | 2 Millionen | 40.960 | 40.960 | 40 | 720 |
NI-9146 (EOL) | Spartan-6 LX 45 | – | 54.576 | 54.576 | 58 | 2.088 |
EtherCAT | ||||||
NI-9145 | Artix-7 | – | 106.400 | 53.200 | 220 | 4.480 |
NI-9144 (EOL) | Spartan-3 2000 | 2 Millionen | 40.960 | 40.960 | 40 | 720 |
MXI-Express | ||||||
NI-9159 (EOL) | Virtex-5 LX110 | – | 69.120 | 69.120 | 64 | 4.608 |
NI-9157 (EOL) | Virtex-5 LX85 | – | 51.840 | 51.840 | 48 | 3.456 |
NI-9155 (EOL) | Virtex-5 LX85 | – | 51.840 | 51.840 | 48 | 3.456 |
NI-9154 (EOL) | Virtex-5 LX50 | – | 28.800 | 28.800 | 48 | 1.728 |
Tabelle 2: Siehe FPGAs für Erweiterungs-RIO-Produkte.