Contenu principal

temporalCount

Nombre d'événements, d'exécutions de diagrammes ou temps écoulé depuis que l'état est devenu actif

Description

temporalCount(E) renvoie le nombre d'occurrences de l'événement E depuis que l'état associé est devenu actif.

exemple

temporalCount(tick) renvoie le nombre de fois où le diagramme s’est activé depuis que l’état associé est devenu actif.

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

temporalCount(time_unit) renvoie le temps écoulé depuis que l’état associé est devenu actif. Définissez time_unit en secondes (sec), millisecondes (msec) ou microsecondes (usec).

exemple

Remarque

Les diagrammes Stateflow autonomes dans MATLAB® permettent uniquement d'utiliser temporalCount en tant qu'opérateur logique temporel absolu.

Exemples

développer tout

Accédez aux éléments successifs du tableau M chaque fois que le diagramme traite une diffusion de l'événement E.

Dans les diagrammes d’un modèle Simulink, saisissez :

on E:
   y = M(temporalCount(E));

Stateflow chart that uses the temporalCount operator in a state.

L'utilisation de temporalCount en tant qu’opérateur de logique temporelle fondé sur les événements n'est pas prise en charge dans les diagrammes autonomes de MATLAB.

Stockez la valeur des données d'entrée u dans les éléments successifs du tableau M.

Dans les diagrammes d’un modèle Simulink, saisissez :

en,du:
   M(temporalCount(tick)+1) = u;

Stateflow chart that uses the temporalCount operator in a state.

L'utilisation de temporalCount en tant qu’opérateur de logique temporelle fondé sur les événements n'est pas prise en charge dans les diagrammes autonomes de MATLAB.

Stockez le nombre de millisecondes écoulées depuis que l’état est devenu actif.

en,du:
   y = temporalCount(msec);

Stateflow chart that uses the temporalCount operator in a state.

Conseils

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

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

  • Le timing des opérateurs de logique temporelle en durée absolue dépend du type de diagramme Stateflow :

    • Les diagrammes d’un modèle Simulink définissent la logique temporelle en termes de temps de simulation.

    • Les diagrammes autonomes de MATLAB définissent la logique temporelle en termes de temps d’horloge.

    Cette différence de timing peut affecter le comportement d’un diagramme. Supposons par exemple que ce diagramme exécute l’action entry de l’état A.

    Stateflow chart with one state. The entry action in state A calls a function f and stores the elapsed time in y.

    • Dans un modèle Simulink, l’appel de la fonction f s’exécute en un seul pas de temps et ne contribue pas au temps de simulation. Une fois la fonction f appelée, le diagramme attribue une valeur nulle à y.

    • Dans un diagramme autonome, l’appel de la fonction f peut prendre plusieurs secondes de temps d’horloge. Une fois la fonction f appelée, le diagramme attribue le temps non nul qui s’est écoulé depuis que l’état A est devenu actif pour y.

Historique des versions

Introduit dans R2008a