Erstellen einer Hierarchie zur Verwaltung komplexer Anlagen
Um mehrere Komplexitätsebenen in Ihrem System zu steuern, erstellen Sie eine Hierarchie von verschachtelten Zuständen in Ihrem Stateflow®-Diagramm, indem Sie einen oder mehrere Zustände innerhalb der Grenzen eines anderen Zustands platzieren.
Der äußere Zustand ist der übergeordnete Zustand (oder Superzustand) der inneren Zustände. Die inneren Zustände sind untergeordnete Zustände (oder Unterzustände) des äußeren Zustands. Die Inhalte des Superzustands verhalten sich wie ein kleineres Diagramm. Wenn der Superzustand aktiv wird, wird einer seiner Unterzustände ebenfalls aktiv. Wenn der Superzustand inaktiv wird, werden alle seine Unterzustände ebenfalls inaktiv.
Modellierung eines Mediaplayers
In diesem Beispiel wird ein Mediaplayer modelliert, der aus einem FM-Radio und einem Internet-Streaming-Player besteht. Während der Simulation bedienen Sie den Mediaplayer mit Hilfe der Schaltflächen und Drehknöpfe auf der Benutzeroberfläche der Mediaplayer-App.
So starten Sie den Mediaplayer:
Öffnen Sie das Simulink-Modell und klicken Sie auf Run. Die Mediaplayer-App wird geöffnet. Der Mediaplayer ist zunächst ausgeschaltet. Oben in der App zeigt die Statusanzeige des Mediaplayers die Meldung
Standby (Off)
an.Drehen Sie den Komponentenauswahlknopf auf Stream. Die Statusmeldung zeigt kurz
Connecting to Handel's Greatest Hits
an. Nach einer kurzen Pause wechselt die Statusmeldung zuPlaying: Handel's Greatest Hits
und die Musikwiedergabe beginnt.Klicken Sie auf die Schaltfläche „Fast Forward“. Die Musik stoppt und Zwitschergeräusche beginnen. Die Statusmeldung wechselt zu
Forward >> Handel's Greatest Hits
. Der Name des Streams scrollt auf dem Display vorwärts. Um den normalen Wiedergabemodus wieder aufzunehmen, klicken Sie auf die Schaltfläche „Play“.Klicken Sie auf die Schaltfläche „Reverse“. Ein Zwitschergeräusch ertönt und die Statusmeldung wechselt zu
Reverse >> Handel's Greatest Hits
. Der Name des Streams scrollt auf dem Display rückwärts. Um den normalen Wiedergabemodus wieder aufzunehmen, klicken Sie auf die Schaltfläche „Play“.Geben Sie im Feld „Stream Name“ den Namen eines neuen Streams ein und klicken Sie auf Connect. Versuchen Sie zum Beispiel, eine Verbindung zu den Streams
Training Deep Networks
oderFun With State Machines
herzustellen.Drehen Sie den Komponentenauswahlknopf auf Radio. Die Statusmeldung zeigt
Playing: 99.5 FM
an. Drehen Sie den FM-Radiosender-Drehknopf, um einen anderen Sender auszuwählen.Schließen Sie die Mediaplayer-App, um die Simulation zu beenden.
Implementieren des Verhaltens mithilfe der Zustandshierarchie
Dieses Beispiel implementiert den Mediaplayer, indem es sich jeweils auf eine einzelne Aktivitätsebene konzentriert. Beispielsweise sind die folgenden Bedingungen erforderlich, damit der Streaming-Player in den Vorspulmodus (Fast-Forward) wechselt:
Sie schalten den Mediaplayer ein.
Sie wählen den Streaming-Player.
Sie beginnen mit der Wiedergabe eines Streams.
Sie klicken auf die Schaltfläche „Fast Forward“.
Das Modell verwendet eine Hierarchie von verschachtelten Zuständen, um jede Bedingung einzeln zu berücksichtigen. Der Model Explorer zeigt zum Beispiel die Hierarchie der Zustände im Mode Manager
-Diagramm. Zum Öffnen des Model Explorer wählen Sie auf der Registerkarte Modeling die Option Model Explorer aus.
Auf der obersten oder äußersten Ebene der Hierarchie verfügt das Mode Manager
-Diagramm über zwei Zustände, die die Aktivität des Mediaplayers steuern:
Off
ist aktiv, wenn Sie den Mediaplayer ausschalten.On
ist aktiv, wenn Sie den Mediaplayer in den Streaming- oder Radiomodus setzen.
Die Unterzustände von On
steuern die Komponenten des Mediaplayers:
Stream
ist aktiv, wenn Sie den Streaming-Player wählen.Radio
ist aktiv, wenn Sie das FM-Radio wählen.
Die Unterzustände von Stream
steuern die Aktivität des Streaming-Players:
Play
ist aktiv, wenn Sie einen Stream abspielen.Pause
ist aktiv, wenn Sie den Streaming-Player pausieren.
Die Unterzustände von Play
steuern die Wiedergabemodi für den Streaming-Player:
Normal
ist im normalen Wiedergabemodus aktiv.Reverse
ist aktiv, wenn Sie auf die Schaltfläche „Reverse“ klicken.FastForward
ist aktiv, wenn Sie auf die Schaltfläche „Fast Forward“ klicken.
In dieser Abbildung ist das Layout der Zustände im Diagramm dargestellt.
Untersuchung des Beispiels
Das Modell in diesem Beispiel enthält zwei weitere Stateflow-Diagramme:
App Interface
verwaltet die Schnittstelle mit der MATLAB-App und leitet Eingaben an die DiagrammeMode Manager
undStream Player
weiter.Stream Player
empfängt den Ausgang von den DiagrammenApp Interface
undMode Manager
und simuliert das interne Verhalten des Streaming-Players.
Während der Simulation können Sie untersuchen, wie die einzelnen Diagramme auf Interaktionen mit der App „Media Player“ reagieren. Zum schnellen Umschalten zwischen den Diagrammen verwenden Sie die Registerkarten am oberen Rand des Stateflow-Editors.