Verfahren zum Erzeugen digitaler Ausgangsdaten
- Aktualisiert2025-07-09
- 3 Minute(n) Lesezeit
Die für die Ausgabe von Digitalsignalen benötigten Signale können mittels Software oder Hardware erzeugt werden.
Softwaregetaktete Signalerzeugung
Bei der softwaregetakteten Signalerzeugung wird die Rate, mit der Daten generiert werden, von der Software gesteuert. Jede Erzeugung eines Digitalwerts auf der Hardware wird dabei durch ein separates Signal von der Software eingeleitet. In NI-DAQmx wird die Erfassung oder Ausgabe mit Software-Timing auch als Erfassung oder Ausgabe auf Anforderung bezeichnet. Die softwaregetaktete Signalerzeugung wird mitunter auch als unmittelbare oder statische Ausgabe bezeichnet. Das liegt daran, dass mit Software-Timing üblicherweise ein einzelner Wert ausgegeben wird.
Wenn ein DO-Kanal eines seriell arbeitenden Digitalmoduls in einen hardwaregetakteten Task eingebunden wird, können keine Kanäle des Moduls in einem softwaregetakteten Task verwendet werden.
Hardwaregetaktete Signalerzeugung
Bei der hardwaregetakteten Signalerzeugung steuert ein digitales Hardwaresignal die Erzeugungsrate. Dieses Signal kann vom Controller selbst generiert oder von außen an das Gerät angelegt werden.
Die hardwaregetaktete Signalerzeugung zeichnet sich gegenüber der softwaregetakteten Erfassung durch folgende Vorteile aus:
- Die Zeit zwischen den Samples kann viel kürzer sein.
- Die Zeitspanne zwischen den Samples ist deterministisch.
- Bei der hardwaregetakteten Erfassung können Hardware-Trigger verwendet werden.
Einpunktmodus mit Hardware-Timing (HWTSP)
Im hardwaregetakteten Einzel-Sample-Modus (HWTSP) werden Werte kontinuierlich mit Hilfe eines Hardwaretakts, jedoch ohne Puffer, erzeugt oder erfasst. Dazu müssen Sie entweder den Sample-Takt oder bestimmte Taktarten zur Erkennung von Pegeländerungen einstellen. Andere Taktarten sind nicht möglich.
Mit dem HTWSP-Modus können Sie z. B. bei einer Regelanwendung feststellen, ob eine Schleife in der vorgesehenen Zeitspanne ausgeführt wird. Da es in diesem Sample-Modus keinen Puffer gibt, muss die Erfassung oder Ausgabe schnell genug ausgeführt werden, um mit dem Hardwaretakt Schritt zu halten. Wird ein Sample zu spät erfasst oder ausgegeben, wird eine Warnung gemeldet.
Gepufferte Ausgabe von Digitalsignalen
Ein Puffer ist ein temporärer Speicher für zu erzeugende Samples. Bei einer gepufferten Signalerzeugung werden Daten von einem Zwischenspeicher auf dem Host in den FIFO des CompactRIO-Controllers und anschließend an die Module der C-Serie übertragen.
Ein Merkmal von gepufferten I/O-Vorgängen ist der Sample-Modus. Der Sample-Modus kann entweder "Endlich" oder "Kontinuierlich" lauten:
- Bei der Neugenerierung auf dem Host-Computer legen Sie einen Puffer im Arbeitsspeicher des Computers fest. Die Daten im Puffer werden kontinuierlich in den FIFO des Controllers übertragen und von dort aus an die Ausgänge weitergeleitet. Beim Einfügen neuer Daten in den Host-Puffer wird die Ausgabe nicht unterbrochen.
- Bei der Neugenerierung auf dem Gerät wird der gesamte Pufferinhalt in den FIFO des Geräts übertragen und von dort aus für die Ausgabe wiederholt durchlaufen. Nach dem Übertragen der Daten in den FIFO können keine neuen Daten in den FIFO geschrieben werden. Diese Art der Signalerzeugung setzt voraus, dass der gesamte Pufferinhalt in den FIFO passt. Der Vorteil der Neugenerierung der Daten auf dem Gerät besteht darin, dass nach dem Beginn des Vorgangs keine Kommunikation mit dem Hauptspeicher des Hosts erforderlich ist. Der Busverkehr oder die Latenz des Betriebssystems haben daher keinen Einfluss auf die Ausgabe. Hinweis Betreiben Sie parallel arbeitende Digitalausgabemodule in den Steckplätzen 1 bis 4, um die erreichbare FIFO-Größe zu maximieren. In den Steckplätzen 5 bis 8 ist die erreichbare FIFO-Größe geringer.
- Ohne Neugenerierung werden alte Daten nicht wiederholt ausgegeben. Der Puffer muss somit ständig mit neuen Daten versorgt werden. Wenn das Programm neue Daten nicht schnell genug in den Puffer schreibt, um mit der Ausgabe Schritt zu halten, kommt es zu einem so genannten Pufferunterlauf, und es tritt ein Fehler auf.