Auf Meldung warten - Funktion
- Aktualisiert2025-07-30
- 3 Minute(n) Lesezeit
Wartet, bis ein Melder eine Nachricht erhält.
Sobald der Melder eine Nachricht empfängt, wird die Funktion weitergeführt. Meldungen werden mit der Funktion Meldung senden gesendet. Wenn eine Melder-Referenz ungültig wird (zum Beispiel, wenn sie von einer anderen Funktion geschlossen wird), beendet die Funktion den Wartevorgang und gibt den Fehlercode 1122 aus. Enthält der Melder keine Nachricht, wird so lange gewartet, bis ein Melder im Array eine Nachricht empfängt.

Ein-/Ausgänge
Melder
—
Melder ist eine Referenz auf einen Melder. Mit der Funktion Melder anfordern kann eine Melderreferenz abgerufen werden.
Vorherige ignorieren (F)
—
Vorherige ignorieren gibt an, ob Meldungen, die vor Aufruf dieser Funktion an den Melder gesendet wurden, ignoriert werden sollen. Bei TRUE wartet das VI in diesem Fall auf das Eintreffen einer neuen Meldung. Bei FALSE (Standardeinstellung) wird Funktion fortgeführt.
Timeout in ms (-1)
—
Timeout (ms) gibt an, wie viele Millisekunden die Funktion darauf warten soll, dass der Melder eine Meldung empfängt. Der Standardwert lautet –1. Das heißt, es liegt keine Zeitbegrenzung vor. Wenn die Funktion bis zum Ablauf von Timeout (ms) keine Meldung empfangen hat, wechselt Timeout? auf TRUE.
Fehler (Eingang, kein Fehler)
—
Fehler (Eingang) beschreibt Fehlerbedingungen, die vor der Ausführung des Knotens auftreten. An Fehler (Eingang) werden Standardfehlerdaten übergeben.
Melder (Ausgang)
—
Melder (Ausgang) gibt die unveränderte Melderreferenz aus.
Meldung
—
Meldung ist die letzte vom Melder empfangene Nachricht. Der Datentyp dieses Parameters passt sich automatisch an den Untertyp des Melders an.
Timeout?
—
Timeout? ist TRUE, wenn der Melder vor Ablauf der Zeitbegrenzung keine Meldung empfängt oder ein Fehler auftritt.
Fehler (Ausgang)
—
Fehler (Ausgang) enthält Angaben zum Fehler. Dieser Ausgang ist ein Standardausgang zur Fehlerausgabe. |
Es wird immer den Zeitstempel der zuletzt empfangenen Meldung gespeichert. Ist die Funktion in einem Blockdiagramm mehrmals enthalten, speichern alle Exemplare ihre eigenen Zeitstempel.
Wenn Vorherige ignorieren den Wert FALSE hat, überprüft die Funktion, ob die Nachricht im Melder denselben Zeitstempel hat wie die zuletzt gelesene. Wenn die Nachricht neu ist, gibt die Funktion die Meldung aus.
Wenn Vorherige ignorieren den Wert TRUE hat, wartet die Funktion immer auf eine neue Meldung, auch dann, wenn der Funktion die aktuelle Nachricht noch unbekannt ist.
Wenn Sie diese Funktion wiederholt mit verschiedenen Meldern nutzen und es dabei zu einer Blockade kommt, da zwei Tasks dieselbe Systemressource beanspruchen, speichern Sie die Zeitstempel der einzelnen Melder mit Hilfe der Funktion Auf Meldung mit Melderhistorie warten. Mit dieser Funktion werden Blockaden vermieden.
Es werden keine Meldungen aus dem Melder entfernt. Obwohl ein bestimmtes Exemplar der Funktion eine Meldung nur einmal ausgibt, wiederholen andere Exemplare der Funktion bzw. der Funktion Auf Meldung von mehreren warten die Ausgabe der Meldung, bis die Funktion Meldung senden durch eine andere Meldung aufgerufen wird.
Melder
—
Vorherige ignorieren (F)
—
Timeout in ms (-1)
—
Fehler (Eingang, kein Fehler)
—
Melder (Ausgang)
—
Meldung
—
Timeout?
—
Fehler (Ausgang)
—