Hardwaregetaktete simultane I/O
- Aktualisiert2025-12-03
- 3 Minute(n) Lesezeit
Vorteile
- Die Samples des Ausgangssignals der aktuellen Iteration werden garantiert mit den Samples des Eingangssignals der nächsten Iteration abgeglichen.
- Wenn die Funktion/das VI "DAQmx - Auf nächsten Sample-Takt warten" nicht vor der nächsten Sample-Takt-Flanke startet, wird ein Fehler ausgegeben.
- Der Jitter beschränkt sich auf den Jitter des Hardware-Takts, der einigen Nanosekunden entspricht.
Nachteile
Das Lesen, Verarbeiten und Schreiben von Daten ist auf den Zeitraum zwischen dem Start der Datenerfassung und der nächsten Sample-Takt-Flanke beschränkt.
Beispiel-Anwendung zur hardwaregetakteten simultanen I/O
Ein Beispiel für diese Art von Anwendung ist ein analoger Regelkreis, bei dem Samples von einer bestimmten Anzahl analoger Eingangskanäle entnommen, mit Hilfe eines Regelalgorithmus (z. B. einem PID) ausgewertet und die neuen Sollwerte an die analogen Ausgangskanäle übergeben werden.
LabVIEW-Beispiel zur hardwaregetakteten simultanen I/O
Hinweis Dieses Beispiel ist zwar LabVIEW-spezifisch, ist aber auf andere Entwicklungsumgebungen wie LabWindows/CVI übertragbar.
LabVIEW-Beispiel
- Verbinden Sie das VI "DAQmx - Auf nächsten Sample-Takt warten" mit einem der hardwaregetakteten Tasks. Stellen Sie die Verbindungen so her, dass das VI "DAQmx - Auf nächsten Sample-Takt warten" nach dem Aufruf des VIs "AO - Schreiben" ausgeführt wird.
- Wird das VI "DAQmx - Auf nächsten Sample-Takt warten" nicht vor der nächsten Sample-Takt-Flanke gestartet, wird ein Fehler ausgegeben.
Beispiel-Blockdiagramm

Hinweis
- Verwenden Sie nur ein Exemplar des VIs "DAQmx - Auf nächsten Sample-Takt warten" in einer LabVIEW-Schleife. Befinden sich mehrere hardwaregetaktete I/O-Einzelwert-Tasks in derselben LabVIEW-Schleife, können Sie das VI "DAQ - Auf nächsten Sample-Takt warten" mit einem beliebigen hardwaregetakteten Einzelwert-Task in der Schleife verbinden.
- Wenn im Falle eines Überlaufs eine Warnung statt einer Fehlermeldung ausgegeben werden soll, setzen Sie die Eigenschaft DAQmx - Real-Time»Verspätungsfehler in Warnung umwandeln auf TRUE.
- Das VI "DAQmx - Auf nächsten Sample-Takt warten" hat die Ausführungsmodi "Poll" und "Auf Interrupt warten". Sie können diese Werte mit Hilfe der Eigenschaft DAQmx - Real-Time»Modus zum Warten auf nächsten Sample-Takt ändern. Voreingestellt ist der Modus "Auf Interrupt warten". Das heißt, während die zeitkritische Schleife auf den nächsten Sample-Takt wartet, können Prozesse mit niedrigerer Priorität ausgeführt werden. Im Poll-Modus sind höhere Sample-Raten möglich. Während die zeitkritische Schleife auf den nächsten Sample-Takt wartet, können jedoch keine Prozesse mit geringerer Priorität ausgeführt werden.
- Die analoge Instanz von "DAQmx - Lesen" hat die Ausführungsmodi "Poll" und "Auf Interrupt warten". Sie können diese Werte mit Hilfe der Eigenschaft DAQmx - Lesen»Fortgeschritten»Wartemodus ändern. Der Modus "Auf Interrupt warten" ermöglicht die Ausführung von Prozessen geringerer Priorität, während die zeitkritische Schleife darauf wartet, dass alle Samples konvertiert werden. Im Poll-Modus sind höhere Sample-Raten möglich. Prozesse mit geringerer Priorität werden jedoch nicht ausgeführt, während die Schleife auf die umgewandelten analogen Samples wartet.
- Bei der Anwendung in diesem Abschnitt wird davon ausgegangen, dass der Modus "Auf Interrupt warten" für die VIs "DAQmx - Auf nächsten Sample-Takt warten" und die analoge Instanz von "DAQmx - Lesen" verwendet wird. Diese Werte lassen sich mit Hilfe der Eigenschaften DAQmx Lesen»Fortgeschritten»Wartemodus und/oder DAQmx - Real-Time»Modus zum Warten auf nächsten Sample-Takt ändern.