Software-Ereignisse sind asynchrone Benachrichtigungen über DAQ-Ereignisse. Im Gegensatz zu Hardware-Ereignissen muss bei Software-Ereignissen kein Thread verwendet werden, um auf verfügbare Daten zu warten. Mit Hilfe von ereignisgesteuerter Programmierung können Sie beispielsweise eine Anwendung schreiben, die während des Wartens auf Daten andere Aufgaben erledigt, ohne dass dazu eine Multithread-Anwendung erstellt werden muss.

In NI-DAQmx gibt es folgende Software-Ereignisse:

  • Ereignis "N Samples in den Puffer aufgenommen"—Tritt auf, wenn die vom Benutzer festgelegte Anzahl von Werten vom Gerät in den PC-Puffer übertragen wird. Dieses Ereignis funktioniert nur bei Geräten, die gepufferte Tasks unterstützen.
    Hinweis Bei manchen Geräten (z. B. Geräten der AO-, E- und M-Serie) muss das Sample-Intervall ein Vielfaches der Puffergröße sein, wenn DMA als Datenübertragungsmodus verwendet wird. Wenn die Puffergröße z. B. 1.000 Samples beträgt, wird bei Angabe von 102 für dieses Software-Ereignis ein Fehler ausgegeben. Bei Angabe von 100 wird kein Fehler ausgegeben. Bei der Datenübertragung per Unterbrechungsanforderung (IRQ) muss das nicht so sein. Bei IRQ kann das Attribut/die Eigenschaft "Datenübertragung – Anforderungsbedingung" den Zeitpunkt des Software-Ereignisses beeinflussen.
  • Ereignis "N Samples aus dem Puffer übertragen"—Tritt auf, wenn die vom Benutzer festgelegte Anzahl von Werten vom PC-Puffer an das Gerät übertragen wird. Dieses Ereignis funktioniert nur bei Geräten, die gepufferte Tasks unterstützen.
    Hinweis Bei manchen Geräten (z. B. Geräten der AO-, E- und M-Serie) muss das Sample-Intervall ein Vielfaches der Puffergröße sein, wenn DMA als Datenübertragungsmodus verwendet wird. Wenn die Puffergröße z. B. 1.000 Samples beträgt, wird bei Angabe von 102 für dieses Software-Ereignis ein Fehler ausgegeben. Bei Angabe von 100 wird kein Fehler ausgegeben. Bei der Datenübertragung per Unterbrechungsanforderung (IRQ) muss das nicht so sein. Bei IRQ kann das Attribut/die Eigenschaft "Datenübertragung – Anforderungsbedingung" den Zeitpunkt des Software-Ereignisses beeinflussen.
  • Ereignis "Fertig-Status"—Tritt dann auf, wenn die Ausführung des Tasks abgeschlossen ist oder wenn der Task wegen eines Fehlers beendet wird. Wenn ein Fehler auftritt, der den Task nicht zum Abbruch zwingt und dessen Auswirkungen rückgängig gemacht werden können, wird dieses Ereignis nicht ausgegeben. Dieses Ereignis wird auch nicht durch den Aufruf der Funktion/des VIs "Task stoppen" zur Beendigung der Ausführung ausgelöst.
  • Ereignis "Signal"—Tritt auf, wenn das angegebene Hardwaresignal auftritt. Zu den unterstützten Signalen zählen "Zählerausgabe", "Änderungserkennung", "Sample vollständig" und "Sample-Takt".