Transition entre les modes de fonctionnement
Une transition représente le passage du système réactif d’un mode de fonctionnement à un autre. Dans un diagramme Stateflow®, une transition est une ligne avec une flèche qui connecte généralement deux états. La source de la transition est l’état dans lequel la transition commence et la destination de la transition est l’état dans lequel la transition se termine.
Vous pouvez également créer une trajectoire de transition avec plusieurs segments de transition à l’aide de jonctions de connexion. Par exemple, vous pouvez créer une trajectoire de transition à partir d’une source unique vers plusieurs destinations, ou depuis plusieurs sources vers une destination unique. Dans ce cas, toute transition intermédiaire dispose d’une jonction de connexion en tant que source ou destination. Pour plus d’informations, veuillez consulter Combiner les transitions et les jonctions pour créer des trajectoires de branchement.
Une transition par défaut est un type spécial de transition qui n’a pas de source. Dans les diagrammes ou les états avec décomposition exclusive (OR) et au moins deux sous-états, il doit exister une trajectoire de transition par défaut qui n’est pas protégée par une condition ou déclenchée par un événement. En l’absence de jonctions d’historisation, les transitions par défaut indiquent le premier sous-état qui deviendra actif lorsque le diagramme ou le super-état devient actif. Pour plus d’informations, veuillez consulter Use Default Transitions to Specify Initial Substate Activity.
Par exemple, les états de ce diagramme représentent les modes de fonctionnement d’un système de contrôleur de l’air avec deux ventilateurs. Les transitions entre les états PowerOn et PowerOff représentent le changement de mode lorsque le système de contrôleur de l’air s’allume et s’éteint. La transition par défaut vers l’état PowerOff indique que le système est éteint lorsque le diagramme s’active au début de la simulation. De même, dans les états FAN1 et FAN2, les transitions entre les sous-états représentent le changement de mode lorsque chaque ventilateur s’allume et s’éteint, et la transition par défaut indique que les ventilateurs sont éteints lorsque le super-état PowerOn s’active. Pour plus d’informations sur cet exemple, veuillez consulter Execute States in Parallel.

Le parent d’une transition est l’état ou le diagramme de plus bas niveau contenant la source et la destination de la transition. Par exemple, dans l’exemple précédent, FAN1 est l’état parent des transitions entre les sous-états FAN1.On et FAN1.Off. De même, FAN2 est l’état parent des transitions entre les sous-états FAN2.On et FAN2.Off. Au contraire, le parent des transitions entre les états PowerOn et PowerOff est le diagramme lui-même.
Créer une transition
Vous pouvez ajouter une transition à une destination nouvelle ou existante.
Pointez vers le bord de l’état ou de la jonction source. Le pointeur devient un pointeur en croix.
Cliquez dessus et éloignez le curseur de l’état ou la jonction source. L’éditeur Stateflow met à votre disposition des repères graphiques qui vous permettent d'ajouter une jonction ou un état.

Sélectionnez une destination pour la nouvelle transition :
Pour ajouter un nouvel état à la fin de la transition, cliquez sur le repère rectangulaire.
Pour ajouter une nouvelle jonction à la fin de la transition, cliquez sur le repère circulaire.
Pour connecter la transition à un état ou une jonction existante, faites glisser le curseur de la souris vers la destination souhaitée.
Saisissez un libellé pour la transition et cliquez en dehors de la transition. Le libellé précise les conditions et déclenche ce qui rend la transition valide, ainsi que toute action que la transition exécute durant la simulation. Pour plus d’informations, veuillez consulter Définir les actions dans une transition.
Après avoir créé une transition, vous pouvez utiliser l’éditeur Stateflow pour modifier la forme, la source, la destination ou le libellé de la transition :
Pour modifier la forme de la transition, cliquez sur le point médian de la transition et faites-le glisser.
Pour modifier la source ou la destination, cliquez sur un point de terminaison de la transition et faites-le glisser.
Pour modifier le libellé de la transition, cliquez sur le texte du libellé à côté de la position du caractère que vous souhaitez changer. Si le libellé de votre transition est vide, cliquez d’abord sur la transition.
Pour déplacer le libellé de la transition, cliquez sur le libellé et faites-le glisser.
Créer une transition par défaut
Dans la palette d’objets, cliquez sur l’icône Default transition
.Sur la trame du graphique, cliquez sur un côté de l’état ou de la fonction de destination.
Si vous le souhaitez, vous pouvez ajouter un libellé pour la transition par défaut.
Conseil
La taille du point de terminaison de la transition par défaut est proportionnelle à la taille de la flèche. Consultez Modifier la taille de la flèche de la transition.
Définir les actions dans une transition
Le libellé d’une transition précise un déclencheur par événement ou par message et une condition qui rend la transition valide, ainsi qu’une action conditionnelle et une action de transition que la transition exécute durant la simulation. Les libellés de transition se présentent généralement sous ce format :
trigger[condition]{condition_action}/{transition_action}Chaque partie du libellé est facultative et peut apparaître sur une ligne distincte. Pour plus d’informations sur la manière dont le diagramme utilise les libellés pour déterminer la validité des transitions, veuillez consulter Evaluate Transitions.
Déclencheurs par événement et message
Un libellé de transition commence avec le nom d’un événement ou message qui déclenche la transition. Pour préciser plusieurs déclencheurs par événement ou message, utilisez l’opérateur logique OR (|).
Une transition avec un déclencheur par événement est valide uniquement lorsque le diagramme reçoit une diffusion de l’événement précisé. Une transition avec un déclencheur par message est valide uniquement lorsque le message précisé est présent dans la file d’attente des messages. Pour plus d’informations, veuillez consulter Synchronize Model Components by Broadcasting Events et Communicate with Stateflow Charts by Sending Messages.
Par exemple, dans ce diagramme, les transitions entre les états PowerOff et PowerOn ont des déclencheurs par événement. Ces transitions sont valides lorsque l’état de la source est actif et que le diagramme reçoit une diffusion de l’événement d’entrée SWITCH.

Conseil
Vous pouvez utiliser des événements implicites (comme change, enter ou exit) et des opérateurs logiques temporels (comme after, at, before ou every) afin de déclencher des transitions. Pour plus d’informations, veuillez consulter Control Chart Behavior by Using Implicit Events et Control Chart Execution by Using Temporal Logic.
Conditions
Pour ajouter une condition à un libellé de transition, saisissez une expression booléenne entourée de crochets carrés ([]). Suivez les directives suivantes pour la définition des conditions :
L’expression de la condition doit être une expression booléenne qui donne
true(1) oufalse(0).Pour combiner plusieurs expressions booléennes, utilisez les opérateurs logiques AND (
&&) et OR (||).Pour saisir l’expression de la condition sur plusieurs lignes, utilisez une ellipse (
...).L’expression de la condition peut faire appel à des fonctions graphiques, des fonctions de table de vérité, des fonctions MATLAB® ou des fonctions Simulink® qui renvoient une valeur numérique. Cependant, la fonction ne doit modifier aucune valeur de donnée ni engendrer la modification de l’état du diagramme.
N’utilisez pas les instructions d’affectation dans les expressions de condition.
Une transition avec une condition est valide uniquement lorsque l’expression précisée est vraie. Par exemple, dans ce diagramme, les transitions entre les sous-états Off et On ont des conditions qui comparent la valeur de l’entrée du diagramme temp selon un seuil. Ces transitions sont valides lorsque l’état de la source est actif et que la condition est vraie.

Actions conditionnelles
Le diagramme exécute une action conditionnelle dès qu’il détermine que la transition est valide. Pour ajouter une action conditionnelle, après la condition, saisissez une ou plusieurs instructions entourées d’accolades ({}). Pour séparer plusieurs instructions, utilisez une virgule ou un point-virgule. Vous pouvez également saisir chaque instruction sur une ligne distincte. Pour saisir une seule instruction sur plusieurs lignes, utilisez une ellipse (...).
Si la transition fait partie d’une trajectoire de transition composée de plusieurs segments, ce diagramme exécute l’action conditionnelle avant d’évaluer tout segment ultérieur de la trajectoire de transition. Par exemple, ce diagramme contient une trajectoire de transition avec deux segments de transition. Lorsque le diagramme reçoit une diffusion de l’événement d’entrée SWITCH, il exécute l’action conditionnelle du premier segment de transition, peu importe si le deuxième segment de transition est valide. Pour plus d’informations, veuillez consulter Control Chart Execution by Using Condition Actions.

Actions de transition
Le diagramme exécute une action de transition lorsqu’il détermine que l’ensemble de la trajectoire de transition est valide. Pour ajouter une action de transition, après l’action conditionnelle, saisissez une barre oblique (/) suivie d’une ou plusieurs instructions entourées d’accolades ({}). Pour séparer plusieurs instructions, utilisez une virgule ou un point-virgule. Vous pouvez également saisir chaque instruction sur une ligne distincte. Pour saisir une seule instruction sur plusieurs lignes, utilisez une ellipse (...).
Si la transition fait partie d’une trajectoire de transition composée de plusieurs segments, ce diagramme exécute l’action de transition après avoir déterminé que la séquence de segments vers un état ou une jonction de destination est valide. Par exemple, ce diagramme contient une trajectoire de transition avec deux segments de transition. Lorsque le diagramme reçoit une diffusion de l’événement d’entrée SWITCH, il exécute l’action de transition du premier segment de transition uniquement si le deuxième segment de transition est valide. Pour plus d’informations, veuillez consulter Evaluate Outer Transitions with Condition and Transition Actions.

Les actions de transition ne sont pas supportées dans les diagrammes Stateflow autonomes de MATLAB.
Conseil
Dans les diagrammes utilisant le C comme langage d’action, il n’est pas nécessaire de placer les actions de transition entre des accolades. Dans les diagrammes utilisant MATLAB comme langage d’action, la syntaxe est automatiquement corrigée si les accolades de l’action de transition sont manquantes. Consultez Auto Correction When Using MATLAB as the Action Language.
Modifier la taille de la flèche de la transition
Pour régler la taille de la flèche pour une transition :
Faites un clic droit sur la transition.
Sélectionnez Arrowhead Size.
Sélectionnez une taille de flèche dans la liste déroulante.
Vous pouvez également régler la taille de la flèche de plusieurs transitions en même temps.
Sélectionnez plusieurs transitions.
Faites un clic droit sur les transitions sélectionnées.
Sélectionnez Format > Arrowhead Size.
Sélectionnez une taille de flèche dans la liste déroulante.
La modification de la taille de la flèche pour une transition modifie également la taille de la flèche pour les autres transitions ayant la même destination.
Spécifier les propriétés pour les transitions
Les propriétés indiquées ci-dessous vous permettent de préciser la manière dont une transition interagit avec les autres composants dans votre diagramme Stateflow. Vous pouvez modifier ces propriétés dans le Property Inspector, le Model Explorer ou la boîte de dialogue « Transition properties ».
Pour utiliser le Property Inspector :
Dans l’onglet Modeling, sous Design Data, sélectionnez Property Inspector.
Dans l’éditeur Stateflow, sélectionnez la transition.
Dans le Property Inspector, modifiez les propriétés de la transition.
Pour utiliser le Model Explorer :
Dans l’onglet Modeling, sous Design Data, sélectionnez Model Explorer.
Dans le volet Model Hierarchy, sélectionnez l’état parent ou le diagramme pour la transition.
Dans le volet Contents, sélectionnez la transition.
Dans le volet Dialog, modifiez les propriétés de la transition.
Pour utiliser la boîte de dialogue Transition properties :
Dans l’éditeur Stateflow, faites un clic droit sur la transition.
Sélectionnez Properties.
Dans la boîte de dialogue des propriétés, modifiez les propriétés de la transition.
Vous pouvez également modifier les propriétés de la transition de manière programmatique en utilisant les objets Stateflow.Transition. Pour plus d’informations sur l’interface programmatique de Stateflow, consultez Overview of the Stateflow API.
Source
Source de la transition. Cette propriété est en lecture seule et n’est pas disponible dans le Property Inspector. Lorsque vous cliquez sur le lien hypertexte de la source, l’éditeur Stateflow affiche la source de la transition au premier plan.
Destination
Destination de la transition. Cette propriété est en lecture seule et n’est pas disponible dans le Property Inspector. Lorsque vous cliquez sur le lien hypertexte de la destination, l’éditeur Stateflow affiche la destination de la transition au premier plan.
Parent
Parent de la transition. Cette propriété est en lecture seule et n’est pas disponible dans le Property Inspector. Lorsque vous cliquez sur le lien hypertexte du parent, l’éditeur Stateflow affiche le parent au premier plan.
Ordre d’exécution
Ordre d’exécution pour la transition. Pour plus d’informations, veuillez consulter Transition Evaluation Order.
Traiter comme transition de variant
Si la transition est une transition de variant. Pour plus d’informations, veuillez consulter Control Indicator Lamp Dimmer Using Variant Conditions.
Libellé
Le libellé de la transition. Cette propriété n’est pas disponible dans le Property Inspector. Pour plus d’informations, veuillez consulter Définir les actions dans une transition.
Description
Description de la transition.
Lien vers le document
Lien vers la documentation en ligne pour la transition. Vous pouvez saisir une adresse web URL ou une commande MATLAB qui affiche la documentation en tant que fichier HTML ou texte dans la fenêtre de commande MATLAB. Lorsque vous cliquez sur le lien hypertexte Document link, Stateflow évalue le lien et affiche la documentation.
Voir aussi
Objets
Outils
- Model Explorer (Simulink)
Rubriques
- Représenter des modes de fonctionnement à l’aide d’états
- Combiner les transitions et les jonctions pour créer des trajectoires de branchement
- Control Chart Execution by Using Condition Actions
- Synchronize Model Components by Broadcasting Events
- Communicate with Stateflow Charts by Sending Messages
- Use Default Transitions to Specify Initial Substate Activity
- Control Chart Execution by Using Inner Transitions