Entrée dans un diagramme ou un état
L’entrée dans un diagramme et dans un état se produit quand :
Un diagramme est activé pour la première fois. C’est ce que l’on appelle l’initialisation de diagramme.
Une transition valide vers un état existe. Consultez Evaluate Transitions.
Workflow d’entrée dans un diagramme ou un état
Ce diagramme de flux indique la progression des événements entrepris par Stateflow® lors de l’entrée dans un diagramme ou un état. Dans ce diagramme de flux, l’état actuel fait référence à l’état dans lequel une décision ou un processus a lieu.

Entrée dans un diagramme
La première fois que votre diagramme Stateflow devient actif s’appelle l’initialisation. Quand l’initialisation de votre diagramme se produit, on entre dans le diagramme et Stateflow exécute les transitions par défaut pour les états exclusifs (OR). Si les états du niveau supérieur de votre diagramme sont parallèles (AND), ils deviennent actifs selon leur nombre d’ordre.
Si vous souhaitez que votre diagramme effectue des transitions par défaut avant le moment t = 0, dans la boîte de dialogue des propriétés du diagramme, cochez la case Execute (enter) chart at initialization. Cette option fait que le diagramme Stateflow s’initialise en même temps que l’initialisation de Simulink®. Les trajectoires de transition par défaut du diagramme s’exécutent ensuite pendant la phase d’initialisation du modèle.
Entrée dans un état
Quand un état est signalé pour l’entrée, les actions d’entrée pour un état s’exécutent. Une fois que votre diagramme est actif et a passé l’initialisation, l’état de niveau supérieur devient actif. Un état est signalé pour l’entrée de l’une des façons suivantes :
Une transition entrante traverse les limites de l’état.
Une transition entrante se termine aux limites de l’état.
L’état est un état parallèle enfant d’un état actif.
Actions d’entrée
Les actions d’entrée sont précédées du préfixe entry ou en en abrégé, suivi de deux points obligatoires (:), eux-mêmes suivis d’une ou plusieurs actions. Vous séparez les différentes actions avec un retour chariot, un point-virgule (;) ou une virgule (,). Si vous ne spécifiez pas le type d’action d’état explicitement pour une instruction, le diagramme traite cette instruction comme une action entry, during.
Entrée dans un diagramme Stateflow
Dans cet exemple, la première fois que le diagramme devient actif, l’initialisation de diagramme se produit.

En suivant le Workflow d’entrée dans un diagramme ou un état jusqu’à ce que le diagramme passe en veille, les étapes d’initialisation du diagramme sont, dans l’ordre :
Les actions de transition par défaut s’exécutent, et
x = 0,y = 0etz = 0.StateAest signalé pour l’entrée.StateAn’est pas un sous-état d’un parent inactif. Effectuez les actionsentrypourStateA. À présent,x = 1.StateAest l’état qui était initialement signalé pour l’entrée.StateAne contient pas de jonction d’historisation.Il y a une transition par défaut vers le sous-état,
StateA1. Accédez au diagramme de flux « Evaluate Transitions » (Évaluer les transitions).En suivant le diagramme de flux « Evaluate Transitions », signalez
StateA1pourentry. Accédez au diagramme de flux « Exit Actions » (Actions de sortie).L’état actuel,
StateA, est un super-état de l’état de destination,StateA1. Revenez au diagramme de flux « Entry Actions » (Actions d’entrée).StateA1n’est pas un sous-état d’un parent inactif. Effectuez les actionsentrypourStateA1. À présent,x = 3.StateA1est l’état qui était initialement signalé pour l’entrée.StateA1ne contient pas de jonction d’historisation.StateA1ne contient pas de transition par défaut.StateA1ne contient pas de sous-état unique.Le diagramme passe en veille.
Les étapes 1 à 14 se produisent dans le pas de temps initial. Cela met fin au processus d’initialisation du diagramme.
Entrée dans un état à l’aide de jonctions d’historisation
Si vous souhaitez que votre diagramme Stateflow garde en mémoire et revienne à un sous-état précédemment actif, indépendamment d’une transition par défaut, utilisez une jonction d’historisation. Placer une jonction d’historisation au sein d’un état remplace la transition par défaut amenant aux sous-états exclusifs (OR). Après avoir placé une jonction d’historisation au sein d’un état, dès l’entrée, votre diagramme Stateflow garde en mémoire et entre dans le sous-état précédemment actif. La jonction d’historisation ne s’applique qu’au niveau de hiérarchie où elle apparaît.
Dans cet exemple, une lumière peut être allumée ou éteinte. Ces options sont indiquées par les états Power_on et Power_off. Les options sont contrôlées par les événements d’entrée switch_on et switch_off. Quand la lumière est allumée, elle peut être faible ou vive. Ces options sont indiquées par les états Low et High et sont contrôlées par les événements d’entrée switch_low et switch_high.
Au départ, le diagramme est en veille. L’état Power_off est actif. Quand l’état Power_on était actif pour la dernière fois, High était le sous-état précédemment actif. L’événement switch_on se produit et l’état Power_on est signalé pour l’entrée. À ce stade, p = 0.

En suivant le Workflow d’entrée dans un diagramme ou un état jusqu’à ce que le diagramme passe en veille, les étapes d’exécution pour entrer dans l’état Power_on sont, dans l’ordre :
Power_onn’est pas l’enfant d’un parent inactif.Il n’y a pas d’action d’entrée pour
Power_on.Power_onest l’état qui était initialement signalé pour l’entrée.Il y a des jonctions d’historisation dans
Power_on.Highétait le sous-état précédemment actif. À présent,p = 2.Highne contient pas de jonction d’historisation.Highne contient pas de transition par défaut.Highne contient pas de sous-état unique.Le diagramme passe en veille.
Cela met fin aux actions entry pour Power_on et High.
Entrée dans un état à l’aide de super-transitions
Une super-transition est une transition entre différents niveaux dans un diagramme. Une super-transition peut se produire entre un état dans un diagramme de niveau supérieur et un état dans l’un de ses sous-diagrammes, ou entre états stockés dans différents sous-diagrammes au même niveau ou à des niveaux différents dans un diagramme. Vous pouvez créer des super-transitions couvrant le nombre de niveaux souhaité dans votre diagramme.
Quand on entre dans un état via une super-transition, avant que les actions d’entrée pour la destination finale ne s’exécutent, ses super-états doivent être signalés comme actifs et leurs actions d’entrée doivent être exécutées. Dans cet exemple, StateB1 a été signalé pour l’entrée depuis StateA2. À ce stade, x = 5, y = 5 et z = 1.

En suivant le Workflow d’entrée dans un diagramme ou un état jusqu’à ce que le diagramme passe en veille, les étapes d’exécution pour entrer dans l’état StateB1 sont, dans l’ordre :
StateB1est le sous-état d’un parent inactif (StateB).StateBest signalé comme actif.StateBn’est pas le sous-état d’un parent inactif.Effectuez les actions d’entrée pour
StateB. À présent,x = 4.StateBn’est pas l’état qui était initialement signalé pour l’entrée.Effectuez les actions d’entrée pour
StateB1. À présent,x = 3.StateB1est l’état qui était initialement signalé pour l’entrée.StateB1n’a pas de jonction d’historisation.StateB1ne contient pas de transition par défaut.StateB1ne contient pas de sous-état unique.Le diagramme passe en veille.
Cela met fin aux actions entry pour StateB et StateB1.