Stateflow

Conception de logique

Stateflow comprend des interfaces graphiques et tabulaires pour modéliser des logiques système à l'aide de machines d'état. Une machine d'état vous permet de modéliser les modes de fonctionnement du système sous la forme d'états et de représenter la logique de passage d'un mode à un autre au moyen de transitions et de jonctions. Vous pouvez modéliser les différents composants de votre système sous la forme d'états qui s'exécutent exclusivement ou en parallèle. Stateflow vous permet de gérer la complexité de votre conception en organisant hiérarchiquement les objets, fonctions et composants des diagrammes d'états.

Avec Stateflow, vous pouvez représenter la logique combinatoire graphiquement à l'aide de diagrammes de flux et sous format tabulaire avec des tables de vérité.

La conception logique requiert de définir des conditions à vérifier et des actions ultérieures à exécuter. Stateflow vous permet de définir ces conditions et actions sous C ou MATLAB®. Vous pouvez gérer les données utilisées pour ces conditions et actions à partir de Simulink® Model Explorer. Avant d'exécuter votre conception, Stateflow vous informe des possibles incohérences d'états, des données et événements inutilisés et des transitions invalides.

Stateflow diagram defining the logic for a boiler temperature control system.
Diagramme Stateflow définissant la logique d'un système de contrôle de température sur une chaudière. Le diagramme utilise des fonctions graphiques (droite) pour mettre en œuvre les algorithmes utilitaires invoqués par le système de chauffe (gauche).

Conception logique graphique

Stateflow comprend un éditeur et des objets graphiques pour dessiner des machines d'états et des diagrammes de flux. Pour créer une machine d'état, il vous suffit de sélectionner les états, transitions et jonctions dans la palette graphique et de les faire glisser vers l'éditeur Stateflow. Vous pouvez aussi créer des fonctions à l'aide de diagrammes de flux, de sous-systèmes Simulink, d’instructions MATLAB, et de tables de vérité. Vous pouvez spécifier votre diagramme Stateflow sous forme d’une machine hybride Mealy-Moore avec fonctionnalités étendues, ou bien sous forme d’une machine de Mealy ou d’une machine de Moore.

Vous pouvez créer des diagrammes de flux en dessinant les transitions qui sont connectées aux jonctions et les exécuter d'après la logique conditionnelle. L'assistant Pattern Wizard vous permet de créer des modèles de flux logiques couramment utilisés. Les diagrammes de flux peuvent être placés dans les fonctions graphiques pour être utilisés à différents endroits du diagramme d'états et dans d'autres diagrammes d'états sur ce même modèle. Vous pouvez utiliser des diagrammes de flux pour concevoir la logique de transition entre états.

Stateflow diagram that uses a graphical function generated by the pattern wizard.
Diagramme Stateflow (gauche) utilisant une fonction graphique (droite) générée par l'assistant Pattern Wizard (centre).

L'éditeur Stateflow effectue des contrôles en cours d'édition afin d'identifier des placements illégaux d'objets et des transitions invalides.

Stateflow Editor with a model of a cooling system.
Éditeur Stateflow avec un modèle de système de refroidissement. Les états dont les limites se chevauchent sont surlignés en rouge.

Conception de logique avec des tables

Les tables de transition d'états de Stateflow fournissent un environnement structuré pour la modélisation des machines d'état. Pour créer une machine d'état, il vous suffit d'ajouter des lignes correspondant aux états et des colonnes correspondant aux transitions entre les états. Les tables de transition d'états vous aident à créer des machines d'état en proposant des menus déroulants pour les noms d'états, un traitement automatique de la syntaxe des machines à états finis, et d'autres contrôles en cours d'édition. Avant d'exécuter votre modèle, vous pouvez effectuer des contrôles statiques de diagnostic afin de détecter des erreurs de syntaxe, des transitions incomplètes et des états inaccessibles.

L'affichage de la matrice de transition d'états, généré à partir des tables de transition d'états, vous permet de rapidement identifier les conditions et états de destination possibles à partir d'un état donné.

Les tables de vérité de Stateflow vous permettent de modéliser une logique qui ne requiert pas de maintenir un état sur plusieurs exécutions. Pour créer une table de vérité, il vous suffit d'indiquer les conditions à vérifier, suivies de combinaisons de résultats pour ces conditions. Des actions peuvent ensuite être saisies pour différentes combinaisons de résultats. Après avoir créé la table de vérité, vous pouvez effectuer des contrôles statiques de diagnostic pour identifier les conditions dépassant ou n'atteignant pas les spécifications.

Truth table implementing the logic for selecting a valid sensor reading in a fault-detection algorithm, and an automatically generated graphical representation of the truth table.
Gauche : table de vérité mettant en œuvre la logique de sélection d'un relevé de capteur valide sur un algorithme de détection des défaillances. Droite : représentation graphique générée automatiquement de la table de vérité.
Point suivant: Intégration de composants et algorithmes de planification

Adresser la complexité des systèmes d’assistance à la conduite avec MATLAB et Simulink

Visionner le webinar