Contenu principal

receive

Extraire un message de la file d’attente

Description

tf = receive(message_name) extrait un message d’entrée ou un message local de sa file d’attente de réception. Si un message valide est présent, receive renvoie true. En l’absence de message valide mais en présence d’un message dans la file d'attente, le diagramme supprime le message de la file d’attente et receive renvoie true. En l’absence de message valide et de message dans la file d'attente, receive renvoie false.

exemple

Exemples

développer tout

Recherchez le message M dans la file d'attente et incrémentez la valeur de x si ces deux conditions sont vraies :

  • Un message est présent dans la file d’attente.

  • La valeur des données du message est égale à 3.

En l’absence de message ou si la valeur des données n’est pas égale à 3, la valeur de x ne change pas. Si un message est présent, supprimez-le de la file d’attente, quelle que soit la valeur des données.

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

Stateflow chart that uses the receive operator.

Historique des versions

Introduit dans R2015b