La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.
Créer une hiérarchie pour gérer la complexité du système
Pour contrôler plusieurs niveaux de complexité dans votre système, créez une hiérarchie d’états imbriqués dans votre diagramme Stateflow® en plaçant un ou plusieurs états dans les limites d’un autre état.
L’état extérieur est le parent ou super-état des états intérieurs. Les états intérieurs sont des états « child » ou sous-états de l’état extérieur. Le contenu du super-état se comporte comme un diagramme plus petit. Lorsque le super-état devient actif, l’un de ses sous-états devient également actif. Lorsque le super-état devient inactif, tous ses sous-états deviennent également inactifs.
Modéliser un lecteur multimédia
Cet exemple modélise un système multimédia composé d’une radio FM et d’un lecteur de stream Internet. Pendant la simulation, vous contrôlez le lecteur multimédia en interagissant avec les boutons de l’interface utilisateur Media Player App.
Pour exécuter le lecteur multimédia :
Ouvrez le modèle Simulink et cliquez sur Run. Media Player App s’ouvre. Le lecteur multimédia est initialement désactivé. En haut de l’application, la zone « Media Player Status » affiche le message
Standby (Off)
.Positionnez le bouton « Component Selection » sur Stream. Le message de statut indique
Connecting to Handel's Greatest Hits
pendant un bref instant. Après une courte pause, il indiquePlaying: Handel's Greatest Hits
et la musique commence à jouer.Cliquez sur le bouton « Fast-Forward ». La musique s’arrête et des sons aigus la remplacent. Le message de statut indique désormais
Forward >> Handel's Greatest Hits
. Le nom du stream défile vers l’avant à l’écran. Pour reprendre le mode de lecture normal, cliquez sur le bouton « Play ».Cliquez sur le bouton « Reverse ». Vous entendez des sons aigus et le message de statut indique
Reverse >> Handel's Greatest Hits
. Le nom du stream défile vers l’arrière à l’écran. Pour reprendre le mode de lecture normal, cliquez sur le bouton « Play ».Dans la zone « Stream Name », saisissez le nom d’un nouveau stream et cliquez sur Connect. Par exemple, essayez de vous connecter aux streams
Training Deep Networks
ouFun With State Machines
.Positionnez le bouton « Component Selection » sur Radio. Le message de statut indique
Playing: 99.5 FM
. Pour sélectionner une autre station, tournez le bouton « FM Radio Station ».Pour arrêter la simulation, fermez Media Player App.
Implémenter un comportement au moyen de la hiérarchie des états
Cet exemple implémente le lecteur multimédia en se concentrant sur un seul niveau d’activité à la fois. Par exemple, les conditions suivantes sont nécessaires pour que le lecteur de stream passe en mode de lecture Fast-Forward :
Vous allumez le lecteur multimédia.
Vous sélectionnez le lecteur de stream.
Vous lancez la lecture d’un stream.
Vous cliquez sur le bouton « Fast-Forward ».
Le modèle utilise une hiérarchie d’états imbriqués pour examiner individuellement chaque condition. Par exemple, le Model Explorer affiche la hiérarchie d’états dans le diagramme Mode Manager
. Pour ouvrir le Model Explorer, dans l’onglet Modeling, sélectionnez Model Explorer.
Au niveau supérieur (ou le plus extérieur) de la hiérarchie, le diagramme Mode Manager
possède deux états qui contrôlent l’activité du lecteur multimédia :
Off
est actif lorsque vous éteignez le lecteur multimédia.On
est actif lorsque vous définissez le lecteur multimédia sur le mode streaming ou radio.
Les sous-états (child) de On
contrôlent les composants du lecteur multimédia :
Stream
est actif lorsque vous sélectionnez le lecteur de stream.Radio
est actif lorsque vous sélectionnez la radio FM.
Les sous-états (child) de Stream
contrôlent l’activité du lecteur de stream :
Play
est actif lorsque vous lisez un stream.Pause
est actif lorsque vous mettez le lecteur de stream en pause.
Les sous-états (child) de Play
contrôlent les modes de lecture du lecteur de stream :
Normal
est actif en mode de lecture normal.Reverse
est actif lorsque vous cliquez sur le bouton « Reverse ».FastForward
est actif lorsque vous cliquez sur le bouton « Fast-Forward ».
Cette figure montre la disposition des états dans le diagramme.
Explorer l’exemple
Le modèle de cet exemple contient deux autres diagrammes Stateflow :
App Interface
gère l’interface avec l’application MATLAB et transmet les entrées aux diagrammesMode Manager
etStream Player
.Stream Player
reçoit la sortie des diagrammesApp Interface
etMode Manager
et simule le comportement interne du lecteur de stream.
Pendant la simulation, vous pouvez étudier comment chaque diagramme réagit aux interactions avec Media Player App. Pour passer rapidement d’un diagramme à un autre, utilisez les onglets situés en haut de l’éditeur Stateflow.