Entwickeln endlicher Zustandsmaschinen in Stateflow
Stateflow® ist eine grafische Programmierumgebung, mit der Sie Steuerlogik in Simulink®-Modellen erstellen können, indem Sie die Betriebsmodi Ihres Systems als Zustände in einer endlichen Zustandsmaschine definieren. Zudem können Sie:
Ihre Logik über Modelle hinweg wiederverwenden und teilen.
MATLAB® Programmcode oder Simulink-Subsysteme als Funktionen in einer Zustandsmaschine nutzen.
Ihre Logik mit Live-Animationen visualisieren.
Ihre Logik mithilfe von Haltepunkten und der Protokollierung von Simulationsdaten debuggen.
Logik mithilfe von Zuständen und Übergängen definieren
Endliche Zustandsmaschinen modellieren die Betriebsmodi eines Systems als Zustände. Ein Zustand kann Daten modifizieren, Code und Ereignisse ausführen oder weitere Zustände enthalten.
Endliche Zustandsmaschinen werden in eine Reihe von Schritten ausgeführt. Bei jedem Schritt ist jeder Zustand entweder aktiv oder inaktiv. Aktive Zustände können Aktionen oder Code ausführen, inaktive Zustände nicht. Wenn sich die Bedingungen in der Zustandsmaschine ändern, ändern sich auch die aktiven Zustände.
Betrachten Sie beispielsweise ein Automatikgetriebe in einem Fahrzeug. In diesem animierten Bild modelliert das Stateflow-Diagramm die Gänge als Zustände. Wenn sich die Fahrzeuggeschwindigkeit ändert, wechselt das Getriebe die Gänge.

Bei einer Zustandsmaschine stellt ein Übergang den Pfad von einem Zustand zu einem anderen Zustand dar. Ein Automatikgetriebe kann beispielsweise vom ersten Gang in den zweiten Gang, vom zweiten Gang in den ersten oder dritten Gang usw. wechseln.
Im obenstehenden Diagramm stellt das Stateflow-Diagramm die Übergänge im Getriebesystem als Pfeile zwischen Zuständen dar. Jeder Übergang weist eine Bedingung auf, die festlegt, wann sich der aktive Zustand ändert. Das Fahrzeug schaltet beispielsweise vom ersten Gang in den zweiten Gang, wenn die Fahrzeuggeschwindigkeit 10 übersteigt.
Modellieren von Zustandsmaschinen mithilfe von Zustandsübergangstabellen und Diagrammen
Mit Stateflow können Sie Zustandsmaschinen als Zustandsübergangstabellen oder Diagramme modellieren.
Verwenden von Zustandsübergangstabellen
Zustandsübergangstabellen stellen Zustände und Übergänge als Einträge in einer Tabelle dar. Diese Zustandsübergangstabelle weist beispielsweise dieselbe Funktionalität wie das Automatikgetriebe-Diagramm im vorherigen Abschnitt auf.

Erwägen Sie eine Zustandsübergangstabelle, wenn Sie sich auf die Implementierung der Logik konzentrieren möchten, ohne sich über das grafische Layout Ihrer Zustände Gedanken machen zu müssen.
Weitere Informationen über das Erstellen von Zustandsübergangstabellen finden Sie unter Model Bang-Bang Controller by Using a State Transition Table.
Verwenden von Diagrammen
Wenn Sie ein Diagramm erstellen, modellieren Sie die Zustandsmaschine, indem Sie grafische Objekte, die Zustände und Übergänge darstellen, auf einem Zeichenbereich anordnen. Erwägen Sie ein Diagramm, wenn Ihre Logik folgendes erfordert:
Wiederverwendbare Komponenten. Sie können beispielsweise Code an mehreren Stellen eines Diagramms wiederverwenden oder denselben Code in mehreren Diagrammen verwenden.
Ereignisbasierte Betriebsmodi. Hier wechseln Sie beispielsweise den Zustand, wenn eine Komponente eines Diagramms ein Signal von einer anderen Komponente empfängt.
Nichtlinearer Fluss. Sie können beispielsweise einen Betriebsablauf mit Schleifen oder verzweigten Pfaden entwickeln.
Um mehr über das Erstellen von Stateflow-Diagrammen zu erfahren, befolgen Sie diese Schritte:
In dem Tutorial erstellen Sie ein wiederaufladbares Batteriesystem. Das System umfasst zwei Batterien auf, die mehrere Betriebsmodi aufweisen, wiederverwendbare Komponenten teilen und parallel betrieben werden.
