Zugriff auf mit der NI Scan Engine ausgegebene oder erfasste Daten (Real-Time, Windows)
- Aktualisiert2025-08-27
- 5 Minute(n) Lesezeit
Verwenden Sie die NI Scan Engine, um auf erfasste oder ausgegebene Einzelwerte zuzugreifen.
Verwenden der NI Scan Engine
Die NI Scan Engine ermöglicht den effizienten Einzelwertzugriff auf Gruppen aus Datenkanälen wie I/O-Kanäle. Dabei werden während eines Scan-Vorgangs Daten in einem globalen Speicherabbild gespeichert und alle Werte mit der gleichen Rate, der sogenannten Scan-Periode, aktualisiert. Die NI Scan Engine wird mit LabVIEW per Voreinstellung für Windows installiert. Sie können die NI Scan Engine auch auf von LabVIEW unterstützten Systemen, z. B. Real-Time-PXI- und CompactRIO-Geräten installieren. Informationen zur Unterstützung der NI Scan Engine finden Sie in der Beschreibung zum Gerät.
(Real-Time Module) Per Voreinstellung wird die NI Scan Engine auf Real-Time-Systemen in einem Thread mit höherer Priorität als der zeitkritischen ausgeführt. Im Protokoll mit Angaben zur CPU-Auslastung wird der Scan-Thread allerdings in der Kategorie mit zeitkritischen Prozessen aufgeführt. Wenn die NI Scan Engine mit einer höheren Priorität als der zeitkritischen ausgeführt wird, müssen Sie die deterministischen Bereiche Ihrer Anwendung mit der Scan-Periode synchronisieren, um sicherzustellen, dass der Scan-Thread den Determinismus der Anwendung nicht beeinflusst. Bei Anwendungen, in denen I/O-Prozesse nicht mit höchster Priorität ausgeführt werden, können Sie für die Scan Engine auch eine Priorität zwischen zeitkritisch und der Priorität zeitgesteuerter Strukturen festlegen. Die NI Scan Engine sollte nur installiert werden, wenn Sie den Einsatz von I/O-Variablen auf einem Zielsystem planen. Wenn sich die NI Scan Engine bereits auf dem System befindet, können Sie sie im NI Measurement & Automation Explorer (MAX) deinstallieren.
Konfiguration der NI Scan Engine
Auf der Seite Scan Engine können Sie Einstellungen wie Scan-Periode, Rate für den Datenaustausch im Netzwerk und Priorität vornehmen.
Mit dem NI-DSM können Sie Fehler und Modi der Scan Engine überwachen und verwalten. Wählen Sie Werkzeuge»DSM, um den NI-DSM zu öffnen. Mit den VIs für die NI Scan Engine können Sie Einstellungen der Scan Engine programmatisch anzeigen und ändern.
Verteilen und Ausführen der NI Scan Engine
Nachdem Sie die NI Scan Engine im Projekt-Explorer konfiguriert haben, müssen Sie ein mit der Scan Engine arbeitendes System (z. B. Mein Computer oder ein Real-Time-System) verteilen, um die Einstellungen zu aktivieren.
(Windows) Die Ausführung der NI Scan Engine beginnt, wenn Sie das System das erste Mal verteilen, und endet, wenn Sie das Projekt schließen. Um die NI Scan Engine und I/O-Variablen bei Ausführung einer Anwendung automatisch zu verteilen, aktivieren Sie die Option Ziel-Hardwarekonfiguration einschließen auf der Seite Fortgeschritten des Dialogs Eigenschaften für Anwendung, bevor Sie die Anwendung erstellen.
(Real-Time Module) Bei Real-Time-Systemen wird die NI Scan Engine zusammen mit dem System gestartet und beendet.
Es kann nur jeweils eine Instanz der NI Scan Engine auf einem Computer ausgeführt werden. Wenn Sie beispielsweise eine Windows-Anwendung erstellen, die mit der NI Scan Engine arbeitet, müssen Sie das Projekt mit dieser Anwendung erst schließen, bevor Sie die eigentliche Anwendung auf demselben Computer ausführen können. Sie können zwar mehrere Instanzen der NI Scan Engine für verschiedene LabVIEW-Projekte konfigurieren, die Verteilung von Projekten schlägt aber fehl, wenn bereits eine Instanz der Engine läuft. Um eine neue Instanz der NI Scan Engine auszuführen, muss zunächst die bereits laufende angehalten werden.
Timing der Scan Engine
Die NI Scan Engine wird gemäß der Scan-Periode, die Sie auf der Seite Scan Engine festlegen, in regelmäßigen Abständen ausgeführt. Wählen Sie eine Dauer, die ausreichend Zeit für den eigentlichen Scan und die Logik der Anwendung bereitstellt, siehe Abbildung:
Mit dem VI Scan-Engine-Periode ermitteln können Sie die Scan-Periode programmatisch abfragen. Mit dem VI Scan-Engine-Periode festlegen wird die Scan-Periode programmatisch bestimmt.
Synchronisieren mit der Scan Engine
(Real-Time Module) Wenn die NI Scan Engine mit zeitkritischer Priorität ausgeführt wird, müssen Sie den zeitkritischen Programmcode mit der Scan-Periode synchronisieren, um den Determinismus der Anwendung nicht zu beeinflussen.
Verwenden Sie die Timing-Quelle Mit Scan-Engine synchronisieren, um die Ausführung der zeitgesteuerten Struktur mit der Scan Engine zu synchronisieren. Wenn Sie keine zeitgesteuerte Struktur einsetzen möchten, können Sie das VI Mit Scan-Engine synchronisieren verwenden. Beide Arten der Synchronisation starten die Ausführung zum in der zuvor gezeigten Abbildung dargestellten Zeitpunkt Ende des Scans. Um I/O-Variablen als kohärenten Datensatz zu verwenden, muss sichergestellt werden, dass der synchronisierte Programmcode abgeschlossen wird, bevor der nächste Scan-Prozess startet. Sie können aber Scan-Iterationen überspringen, wenn der Programmcode nicht von kohärenten Datensätzen abhängt.
Modi der NI Scan Engine
LabVIEW definiert vier verschiedene Modi der NI Scan Engine:
| 0 | Initialisierungsmodus | Tritt nur kurz während des Neustarts auf. |
| 1 | Konfigurationsmodus | Der Modus für die Konfiguration der Scan Engine auf Hardware, die mit den Modi der NI Scan Engine arbeitet. |
| 2 | Aktiver Modus | Der Modus, in dem die Scan Engine ausgeführt wird und Werte aktualisiert werden. |
| 3 | Fehlermodus | Der Modus, der beim Auftreten eines schwerwiegenden oder nicht behebbaren Fehlers ausgelöst wird. |
Im NI-DSM können Sie einen Modus der Scan Engine anzeigen und konfigurieren. Im NI-DSM wird über das Statusobjekt EngineState der Wert angezeigt, der im Scan-Engine-Modus vorliegt. Mit dem VI Scan-Engine-Modus ermitteln wird der Modus programmatisch abgefragt. Mit dem VI Scan-Engine-Modus festlegen können Sie den Modus programmatisch bestimmen.