Concevoir des machines à états finis dans Stateflow
Stateflow® est un environnement de programmation graphique qui vous permet d’utiliser des machines à états finis pour créer une logique de contrôle dans les modèles Simulink®. 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.
Stateflow supporte également les tables de vérité et les diagrammes de flux. Pour plus d’informations, veuillez consulter Use Truth Tables to Model Combinatorial Logic et Créer des diagrammes de flux dans Stateflow.
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 où les rapports de vitesse correspondent au mode de fonctionnement. L’image animée suivante modélise les rapports de vitesse sous forme d’états représentés par des rectangles. La transmission change les rapports de vitesse (mis en surbrillance en bleu) 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.
L’image animée 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 blocs State Transition Table ou Chart.
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 modélise les rapports de vitesse d’une transmission automatique sous forme d’états.

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 un tutoriel sur la création de tables de transition d’état, consultez Model Rechargeable Battery System 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 des rectangles et des flèches qui représentent les états et les transitions, comme dans l’animation précédente. Envisagez d’utiliser un diagramme si votre design nécessite :
Des composants réutilisables. Par exemple, vous pouvez réutiliser les états à 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 logique avec des boucles ou des trajectoires de branchement.
Pour un tutoriel sur la création de diagrammes Stateflow, consultez Model Rechargeable Battery System as Chart.