Contenu principal

crossing

Détecter un front montant ou descendant dans des données depuis le dernier pas de temps dans un diagramme Stateflow

Depuis R2021b

Description

tf = crossing(expression) renvoie 1 (true) si :

  • La valeur précédente de expression était positive et sa valeur actuelle est nulle ou négative.

  • La valeur précédente de expression était nulle et sa valeur actuelle est non nulle.

  • La valeur précédente de expression était négative et sa valeur actuelle est nulle ou positive.

Sinon, l’opérateur renvoie 0 (false). Si la valeur de expression passe de positive à nulle puis à négative ou de négative à nulle puis à positive lors de trois pas de temps consécutifs, l’opérateur détecte un seul front lorsque la valeur de expression devient nulle.

L’argument expression :

  • Doit être une expression à valeur scalaire

  • Peut combiner des données en entrée du diagramme, des constantes, des paramètres non réglables, des données locales à temps continu et des données d’états Simulink®

  • Peut inclure l’addition, la soustraction et la multiplication de variables scalaires, d’éléments d’une matrice, de champs d’une structure ou de toute combinaison valide de champs de structure et d’éléments matriciels

Indexez les éléments d’une matrice avec des nombres ou des expressions correspondant à un entier constant.

exemple

Remarque

La détection des fronts n’est supportée que dans les diagrammes Stateflow® des modèles Simulink.

Exemples

développer tout

Effectue une transition hors de l’état si la valeur de la donnée d’entrée signal passe par le seuil de 2,5.

[crossing(signal-2.5)]

Stateflow chart that uses the crossing operator in a transition.

Le front est détecté lorsque la valeur de l’expression signal-2.5 devient nulle ou change de signe.

Conseils

  • Vous ne pouvez pas utiliser l’opérateur crossing au sein d’un modèle Simulink qui génère un code avec une disposition de tableau Row-Major. Pour plus d’informations sur la disposition Row-Major, veuillez consulter Select Array Layout for Matrices in Generated Code.

  • L’opérateur crossing reproduit le comportement d’un bloc Trigger (Simulink) avec Trigger Type défini sur either.

  • La détection des fronts dans les données locales à temps continu et les données d’états Simulink n’est supportée que dans les conditions de transition.

  • Dans les sous-diagrammes atomiques, mappez toutes les données en entrée que vous utilisez dans les expressions de détection des fronts sur les données en entrée ou les paramètres non réglables du diagramme principal. Le mapping de ces données d’entrée sur des données de sortie, des données locales ou des paramètres réglables peut entraîner un comportement indéfini.

Historique des versions

Introduit dans R2021b