Contenu principal

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

before

Exécuter le diagramme avant la diffusion d’un événement ou un délai spécifié

Description

before(n,E) renvoie true si l’événement E s’est produit moins de n fois depuis l’activation de l’état associé. Sinon, l’opérateur renvoie false.

exemple

before(n,tick) renvoie true si le diagramme s’est mis en activité moins de n fois depuis l’activation de l’état associé. Sinon, l’opérateur renvoie false.

L’événement implicite tick n’est pas supporté lorsqu’un diagramme Stateflow® dans un modèle Simulink® possède des événements en entrée.

exemple

before(n,time_unit) renvoie true si moins de n unités de temps se sont écoulées depuis l’activation de l’état associé. Sinon, l’opérateur renvoie false.

Définissez time_unit en secondes (sec), millisecondes (msec) ou microsecondes (usec). Si vous spécifiez n sous forme d’expression, le diagramme ajuste le délai temporel à mesure que l’expression change de valeur pendant la simulation.

exemple

Remarque

L’opérateur de logique temporelle before n’est supporté que dans les diagrammes Stateflow des modèles Simulink.

Exemples

développer tout

Affiche un message de statut lorsque le diagramme traite les première et deuxième diffusions de l’événement E à compter de l’activation de l’état.

on before(3,E):
   disp("ON");

Stateflow chart that uses the before operator in a state.

Effectue une transition hors de l’état associé lorsque le diagramme traite une diffusion de l’événement E, mais seulement si moins de cinq diffusions de l’événement E ont eu lieu depuis que cet état est actif.

before(5,E)

Stateflow chart that uses the before operator in a transition.

Effectue une transition hors de l’état associé si moins de cinq diffusions de l’événement E ont eu lieu depuis que cet état est actif.

[before(5,E)]

Stateflow chart that uses the before operator in a transition.

Effectue une transition hors de l’état associé lorsque le diagramme se met en activité, mais seulement si la variable temp est supérieure à 98,6 et que le diagramme s’est mis en activité moins de sept fois depuis l’activation de l’état.

before(7,tick)[temp > 98.6]

Stateflow chart that uses the before operator in a transition.

Définit la variable temp à MED chaque fois que le diagramme se met en activité, mais seulement si l’état associé est actif depuis moins de 12,3 secondes.

on before(12.3,sec):
   temp = MED;

Stateflow chart that uses the before operator in a state.

Conseils

  • Vous pouvez utiliser des guillemets autour des mots-clés 'tick', 'sec', 'msec' et 'usec'. Par exemple, before(5,'tick') équivaut à before(5,tick).

  • Le diagramme Stateflow réinitialise le compteur utilisé par l’opérateur before chaque fois que l’état associé est réactivé.

Historique des versions

Introduit dans R2014b