Die NI-Netzwerkfähigkeit ermöglicht die Interaktion mit NI-Messgeräten über das Netzwerk mithilfe der Remote Procedure Calls-(gRPC-)Technologie. NI hat in die Kompatibilität unserer Produkte mit gRPC investiert, damit unsere Kunden aus der Ferne mit NI-Produkten interagieren können, um hochwertige Messungen mit geringer Latenz durchzuführen. Dank der NI-Netzwerkfähigkeit können technische Fachkräfte vorhandene Test-Workflows flexibel nutzen.
Die Netzwerkfähigkeit von NI-Software bedeutet, dass NI-Software aus der Ferne mit NI-Hardware und -Diensten interagieren kann, um qualitativ hochwertige Messungen mit geringer Latenz durchzuführen. Die Netzwerkfähigkeit von NI-Software verwendet vordefinierte eigenständige Anwendungen und/oder APIs und/oder Befehle auf ganzheitliche und vom Betriebssystem unabhängige Weise und nutzt eine Client/Server-Architektur.
Die NI-Netzwerkfähigkeit nutzt gRPC im Hintergrund. Durch den Einsatz eines gRPC-basierten Servers können Sie von vielen verschiedenen Programmierumgebungen, Plattformen und Betriebssystemen aus auf Test- und Messgeräte zugreifen und diese steuern.
gRPC verwendet Protokollpuffer (Proto3) als Nachrichtenaustauschformat. Die folgende Abbildung zeigt, wie Protokollanfragen und -antworten zwischen dem gRPC-Server und den Stubs ausgetauscht werden.
Abbildung 1: Anfragen und Antworten vom gRPC-Server
Die NI-Netzwerkfähigkeit wird unter Windows, Linux und Mac für eine Reihe von Programmiersprachen unterstützt. Eine vollständige Liste der unterstützten Sprachen und der jeweiligen Betriebssysteme finden Sie in den Beschreibungen unserer Ressourcen zur Unterstützung von gRPC.
gRPC ist ein Open-Source-RPC-Framework (Remote Procedure Call), das überall ausgeführt werden kann. Es ermöglicht eine transparente Kommunikation zwischen Client und Server und erleichtert den Aufbau vernetzter Systeme aus der Ferne.
In einem gRPC kann eine Clientanwendung eine Methode in einer Serveranwendung auf einem anderen Computer direkt aufrufen, als handelte es sich um ein lokales Objekt. Auf diese Weise können Sie verteilte Anwendungen und Dienste einfacher erstellen. Auf der Serverseite implementiert der Server diese Schnittstelle und führt einen gRPC-Server aus, um Clientaufrufe zu verarbeiten. Auf der Clientseite verfügt der Client über einen Stub (in manchen Sprachen einfach als Client bezeichnet), der dieselben Methoden wie der Server bereitstellt.
Ein Hauptaspekt der Verwendung von gRPC besteht darin, dass dieses Framework auf Clientseite betriebssystem- und sprachunabhängig ist, Ihnen Flexibilität bietet und an das aktuelle Betriebssystem oder die Programmiersprachen angepasst werden kann, die bereits im Rahmen Ihres Projekts verwendet werden.
Durch den Einsatz von gRPC für NI-Netzwerkfähigkeit reiht sich NI in die Liste anderer großer Unternehmen wie Google, Netflix und Square ein. gRPC verfügt über leistungsstarke Funktionen, die anderen Optionen wie RPyC, SCPI und HiSLIP fehlen:
Die Netzwerkfähigkeit von NI verwendet die Standardautorisierungsmechanismen von gRPC. Die Verbindung kann durch serverseitige TLS oder gegenseitige TLS (Zero Trust) gesichert werden. So ist gewährleistet, dass die Kommunikation verschlüsselt wird und der Client/Server vertrauenswürdig ist. Sie können den Server so aktualisieren, dass er eine benutzerdefinierte Autorisierung berücksichtigt, indem Sie einen Autorisierungsserver integrieren.
Die Verwendung der NI-Netzwerkfähigkeit ist eine Möglichkeit, um eine geringe Latenz bei hochwertigen Messungen sicherzustellen. Das folgende Beispiel veranschaulicht Leistungsvergleiche beim Lesen einer analogen Eingangsspannung von einem simulierten cDAQ-9179-Chassis mit einem NI-9207-Modul der C-Serie.
Server überträgt Daten an den Client:
Linux-Localhost
Windows 10-Localhost: 4 GB/s1
Linux zu Linux: 11 MB/s
Lokales Thunderbolt 3 Link-Netzwerk
1 CISO AMP beachten
NI-DAQmx mit einem simulierten cDAQ-9179-Chassis und NI-9207-Modulen:
Wie aus diesen Benchmarks ersichtlich ist, sind die gRPC-Aufrufe mit nativen Treiberaufrufen vergleichbar und haben eine minimale Latenz. Mit gRPC können NI-Kunden aus der Ferne mit NI-Produkten interagieren, um qualitativ hochwertige Messungen mit geringer Latenz durchzuführen, und vorhandene Test-Workflows weiter nutzen.