• Problem—Die I/O-Tasks arbeiten nicht mit Hardware-Takt.
  • Lösung—Takten Sie zeitkritische Schleifen mit einem Software-Takt, indem Sie eine zeitgesteuerte Schleife (LabVIEW) oder asynchrone Timer (LabWindows/CVI) einfügen. Konfigurieren Sie den NI-DAQmx-Task so, dass immer nur ein Wert ausgegeben bzw. erfasst wird.

    Vorteile

    • Die Erfassung oder Ausgabe des Regelkreises muss nicht hardwaregetaktet sein.
    • Das Lesen, Verarbeiten und Schreiben von Daten ist auf die Zeitspanne des Software-Timings beschränkt, die mit Hilfe der zeitgesteuerten Schleife oder des asynchronen Timers festgelegt wurde.

    Nachteile

    Bei den Samples tritt Software-Jitter auf.

  • Beispiel-Anwendung zur softwaregesteuerten I/O

    Ein Beispiel für diese Art von Anwendung ist ein digitaler I/O-Regelkreis. Die Anwendung überwacht den Zustand mehrerer Eingänge und invertiert basierend auf dem Regelalgorithmus den entsprechenden Ausgang. Für die Erfassung bzw. Ausgabe einzelner Digitalwerte ist jedoch in NI-DAQmx kein Hardware-Takt verfügbar.

    Diagramm zur Zeitsteuerung



    LabVIEW-Beispiel zur softwaregesteuerten I/O

    Hinweis Dieses Beispiel ist zwar LabVIEW-spezifisch, ist aber auf andere Entwicklungsumgebungen wie LabWindows/CVI übertragbar.
    • Der Task wird mit einer zeitgesteuerten Schleife ausgeführt, die vom selben Zeitgeber wie das System getaktet wird (Mikrosekunden/Millisekunden-Taktperiode). Konfigurieren Sie die zeitgesteuerte Schleife, so dass sie mit der gewünschten Rate ausgeführt wird.
    • Konfigurieren Sie alle Tasks, so dass Samples auf Anforderung erfasst oder ausgegeben werden.
    • Die zeitgesteuerte Schleife liefert eine Rückmeldung an die Anwendung darüber, ob die vorhergehende Iteration rechtzeitig beendet wurde. Das geschieht mit Hilfe des Knotens "Verspätete Beendigung [i-1]".

    Beispiel-Blockdiagramm



    Hinweis
    • Bei zeitgesteuerten Schleifen kann die Anwendung die Iterationsrate der Schleife anpassen, so dass Automatisierungsanwendungen mit dynamischem Timing erstellt werden können.
    • Während die zeitgesteuerte Schleife auf die nächste Iteration wartet, können Prozesse mit niedrigerer Priorität ausgeführt werden.
    • Andere Arten des Software-Timings bieten u. a. die VIs "Warten" und "Bis zum nächsten Vielfachen warten" (mit Mikrosekunden/Millisekunden-Taktperiode). Diese Methoden liefern keine Rückmeldung darüber, ob die Anwendung zu langsam ist.