Hauptinhalt

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

receive

Extrahieren einer Meldung aus der Warteschlange

Beschreibung

tf = receive(message_name) extrahiert eine Eingangsmeldung oder lokale Meldung aus der Empfangswarteschlange. Wenn eine gültige Meldung vorliegt, gibt receive true aus. Wenn keine gültige Meldung vorliegt, eine Meldung sich jedoch in der Warteschlange befindet, entfernt das Diagramm die Meldung aus der Warteschlange und receive gibt true aus. Wenn keine gültige Meldung vorliegt und sich keine Meldungen in der Warteschlange befinden, gibt receive false aus.

Beispiel

Beispiele

alle erweitern

Überprüft die Warteschlange auf eine Meldung M und inkrementiert den Wert von x, wenn beide der folgenden Bedingungen wahr sind:

  • Eine Meldung liegt in der Warteschlange vor.

  • Der Datenwert der Meldung entspricht 3.

Wenn keine Meldung vorliegt oder der Datenwert nicht 3 entspricht, ändert sich der Wert von x nicht. Wenn eine Meldung vorliegt, wird diese unabhängig vom Datenwert aus der Warteschlange entfernt.

during:
   if receive(M) && M.data == 3
      x = x+1;
   end

Stateflow chart that uses the receive operator.

Versionsverlauf

Eingeführt in R2015b