La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.
Concevoir des machines à états finis dans Stateflow
Stateflow® est un environnement de programmation graphique qui vous permet de créer une logique de contrôle dans les modèles Simulink® en définissant les modes de fonctionnement de votre système en tant qu’états d’une machine à états finis. Vous pouvez également :
Réutiliser cette logique et la partager avec d’autres modèles.
Utiliser du code MATLAB® ou des sous-systèmes Simulink en tant que fonctions dans une machine à états.
Visualiser la logique via une animation temps réel.
Débugger la logique en utilisant des points d’arrêt et en enregistrant les données de simulation.
Définir une logique avec des états et des transitions
Les machines à états finis modélisent les modes de fonctionnement d’un système sous forme d’états. Un état peut modifier les données, exécuter du code et des événements ou contenir d’autres états.
Les machines à états finis exécutent une série d’étapes. Au cours de chaque étape, chaque état est soit actif, soit inactif. Les états actifs peuvent exécuter des actions ou du code, ce qui n’est pas le cas des états inactifs. Les états actifs changent lorsque les conditions de la machine à états changent.
Prenons l’exemple de la transmission automatique d’une voiture. Sur cette image animée, le diagramme Stateflow modélise les rapports de vitesse sous forme d’états. La transmission change les rapports de vitesse en fonction des variations de vitesse de la voiture.

Dans une machine à états, une transition représente la trajectoire allant d’un état à un autre. Par exemple, un système de transmission automatique peut passer de première en seconde, de seconde en première ou en troisième, etc.
Le diagramme Stateflow ci-dessus représente les transitions du système de transmission sous forme de flèches entre les états. Chaque transition comporte une condition qui détermine le moment où l’état actif change. Par exemple, la voiture passe de première en seconde quand elle atteint une vitesse supérieure à 10.
Modéliser des machines à états avec des tables de transition d’état et des diagrammes
Stateflow vous permet de modéliser des machines à états sous forme de tables de transition d’état ou de diagrammes.
Utiliser des tables de transition d’état
Les tables de transition d’état représentent les états et les transitions sous forme d’entrées dans une table. Par exemple, la table de transition d’état suivante a la même fonctionnalité que le diagramme de transmission automatique de la section précédente.

Envisagez d’utiliser une table de transition d’état si vous souhaitez vous concentrer sur l’implémentation de la logique sans vous préoccuper de la disposition graphique des états.
Pour en savoir plus sur la création de tables de transition d’état, consultez Model Bang-Bang Controller by Using a State Transition Table.
Utiliser des diagrammes
Lorsque vous créez un diagramme, vous modélisez la machine à états en organisant sur un canevas les objets graphiques qui représentent les états et les transitions. Envisagez d’utiliser un diagramme si votre logique nécessite :
Des composants réutilisables. Vous pouvez, par exemple, réutiliser le code à différents emplacements du même diagramme ou dans plusieurs diagrammes.
Des modes de fonctionnement pilotés par des événements. Par exemple, vous pouvez changer d’état quand un composant d’un diagramme reçoit un signal d’un autre composant.
Un flux non linéaire. Par exemple, vous pouvez concevoir un flux de fonctionnement avec des boucles ou des trajectoires de branchement.
Pour en savoir plus sur la création de diagrammes Stateflow, suivez les étapes ci-dessous :
Le tutoriel vous montre comment créer un système de batterie rechargeable. Ce système contient deux batteries qui comprennent plusieurs modes de fonctionnement, partagent des composants réutilisables et s’exécutent en parallèle.
