La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.
every
Exécuter un diagramme à des intervalles réguliers
Description
every(
renvoie n
,E
)true
à chaque n
e occurrence de l’événement E
depuis que l’état associé est devenu actif. Sinon, l’opérateur renvoie false
.
every(
renvoie n
,tick
)true
à chaque n
e fois que le diagramme s’active depuis que l’état associé est devenu actif. 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.
every(
renvoie n
,sec
)true
toutes les n
secondes depuis que l’état associé est devenu actif. Sinon, l’opérateur renvoie false
.
Dans les diagrammes autonomes de MATLAB®, définissez n
avec une valeur supérieure ou égale à 0.001
. L’opérateur crée un objet MATLAB timer
qui génère un événement implicite pour mettre en activité le diagramme. Les objets MATLAB timer
sont limités à une précision de 1 milliseconde. Pour plus d’informations, veuillez consulter Events in Standalone Charts.
L’objet
timer
est créé lorsque le diagramme finit d’exécuter les actionsentry
de l’état associé et de ses sous-états. Pour les itérations suivantes, l’objettimer
est réinitialisé lorsque le diagramme finit d’exécuter les actionsduring
de l’état associé et de ses sous-états. Si vous spécifiezn
sous la forme d’une expression dont la valeur change pendant l’exécution du diagramme, ce dernier ajuste le délai temporel uniquement quand l’objettimer
est réinitialisé.L’exécution de l’objet
timer
commence à la fin de l’étape du diagramme où l’état associé devient actif. Cette étape peut inclure l’exécution d’autres états parallèles dans le diagramme.Si le diagramme est en train de traiter une autre opération lorsqu’il reçoit l’événement implicite de l’objet
timer
, il met l’événement en file d’attente. Une fois l’étape en cours terminée, le diagramme traite l’événement et réinitialise l’objet timer pour la prochaine itération.Si l’état associé à l’opérateur de logique temporelle devient inactif avant que le diagramme ne traite l’événement implicite, ce dernier ne met pas en activité le diagramme.
Remarque
Cette syntaxe n’est prise en charge que dans les diagrammes autonomes dans MATLAB. Dans les diagrammes dans les modèles Simulink, utilisez plutôt une transition en boucle automatique externe avec l’opérateur after
. Pour plus d’informations, veuillez consulter Do Not Use every for Absolute-Time Temporal Logic in Charts in Simulink Models.
Exemples
Conseils
Vous pouvez utiliser des guillemets autour des mots-clés
'tick'
et'sec'
. Par exemple,every(5,'tick')
équivaut àevery(5,tick)
.Le diagramme Stateflow réinitialise le compteur utilisé par l’opérateur
every
chaque fois que l’état associé est réactivé.Les diagrammes autonomes de MATLAB définissent la logique temporelle en durée absolue en termes de temps d’horloge, lequel est limité à une précision de 1 milliseconde.
Historique des versions
Introduit dans R2014b