• Problem—Ein analoger Eingangstask muss hardwaregetaktet sein. Der Ausgabe-Task muss nicht mit der Sample-Takt-Flanke synchronisiert sein.
  • Lösung—Verwenden Sie das DAQmx-Real-Time-Attribut bzw. die -Eigenschaft "Verpasste Samples melden". Damit wird ein Fehler ausgegeben, wenn vor dem Auslesen und Umwandeln der alten Samples neue Samples verfügbar sind.

    Vorteile

    • Die Erfassung der Samples ist hardwaregetaktet.
    • In manchen Fällen kann die nächste Sample-Periode schon beginnen, bevor das Abfragen, Verarbeiten oder Ausgeben der Daten abgeschlossen ist. Solange jedoch genug Zeit vorhanden ist, die nächsten Samples abzuarbeiten, stellt dies kein Problem dar. Wenn z. B. mit einer Anwendung Daten von mehreren Multiplexkanälen erfasst werden (wie bei Geräten der E- oder M-Serie) muss die Anwendung erst die Umwandlung der Samples abwarten, bevor sie die Daten auslesen kann. Die Anwendung kann also diese Zeit nutzen, währenddessen Daten zu verarbeiten oder weiterzuleiten. Auf diese Weise lässt sich die Rate des Regelkreises erhöhen.

    Nachteile

    Bei der Sample-Ausgabe kommt es zu Software-Jitter, da die Samples nicht hardwaregetaktet sind.

  • Beispiel-Anwendung zur hardwaregetakteten Erfassung und softwaregetakteten Ausgabe

    Ein Beispiel für diese Art von Anwendung ist ein analoger Regelkreis, der Samples von einer bestimmten Anzahl von analogen Multiplex-Eingangskanälen liest, die Daten mit Hilfe eines Steueralgorithmus (z. B. PID) verarbeitet und die neuen Sollwerte mit Hilfe eines softwaregesteuerten Tasks an die analogen Ausgangskanäle übergibt.

    Diagramm zur Zeitsteuerung



    LabVIEW-Beispiel zur hardwaregetakteten Erfassung und softwaregetakteten Ausgabe

    Hinweis Dieses Beispiel ist zwar LabVIEW-spezifisch, ist aber auf andere Entwicklungsumgebungen wie LabWindows/CVI übertragbar.
    • Setzen Sie die Eigenschaft "Verpasste Samples melden" für die Erfassung analoger Signale auf TRUE.
    • Wenn vor der Umwandlung der Samples aus der vorhergehenden Iteration bereits neue Samples vorhanden sind, wird ein Fehler ausgegeben.

    Beispiel-Blockdiagramm



    Hinweis
    • Wenn im Falle eines Überlaufs eine Warnung statt einer Fehlermeldung ausgegeben werden soll, setzen Sie die Eigenschaft "Verspätungsfehler in Warnung umwandeln" auf TRUE.
    • Verwenden Sie das VI "Auf nächsten Sample-Takt warten" und die Eigenschaft "Verpasste Samples melden" nicht in derselben LabVIEW-Schleife.
    • Die Eigenschaft "Verpasste Samples melden" gibt es nur für hardwaregetaktete Task zur einzelnen Erfassung analoger Signale.
    • Da der Task zur Ausgabe analoger Signale softwaregesteuert ist, wird das Sample direkt nach dem Schreibaufruf in den Puffer übertragen. Bei der Ausgabe wird nicht auf einen Hardwaretakt gewartet.