Hauptinhalt

Entwickeln endlicher Zustandsmaschinen in Stateflow

Stateflow® ist eine grafische Programmierumgebung, in der Sie endliche Zustandsmaschinen verwenden können, um Steuerlogik in Simulink®-Modellen zu erstellen. 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.

Stateflow unterstützt auch Wahrheitstabellen und Flussdiagramme. Weitere Informationen finden Sie unter Use Truth Tables to Model Combinatorial Logic und Erstellen von Flussdiagrammen in Stateflow.

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, bei dem die Gänge der Betriebsmodus sind. In diesem animierten Bild werden die Zahnräder als Zustände modelliert, die durch Rechtecke repräsentiert werden. Wenn sich die Fahrzeuggeschwindigkeit ändert, wechselt das Getriebe die Gänge, was blau hervorgehoben wird.

Chart animation showing states and transitions activating.

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 animierten Bild sind die Übergänge im Getriebe als Pfeile zwischen den Zuständen dargestellt. 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 Diagramm-Blöcke modellieren.

Verwenden von Zustandsübergangstabellen

Zustandsübergangstabellen stellen Zustände und Übergänge als Einträge in einer Tabelle dar. Diese Zustandsübergangstabelle modelliert zum Beispiel die Zahnräder eines automatischen Übergangs als Zustände.

State transition table that models the automatic transmission of a car.

Erwägen Sie die Verwendung einer 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.

Ein Tutorial zum Erstellen von Zustandsübergangstabellen finden Sie unter Model Rechargeable Battery System by Using a State Transition Table.

Verwenden von Diagrammen

Wenn Sie ein Diagramm erstellen, modellieren Sie die Zustandsmaschine, indem Sie Rechtecke und Pfeile, die Zustände und Übergänge darstellen, auf einem Zeichenbereich anordnen, wie in der Animation oben gezeigt wurde. Erwägen Sie die Verwendung eines Diagramms, wenn Ihr Design Folgendes erfordert:

  • Wiederverwendbare Komponenten. Sie können beispielsweise Zustände an mehreren Stellen eines Diagramms wiederverwenden oder denselben Zustand 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 logischen Ablauf mit Schleifen oder verzweigten Pfaden entwickeln.

Ein Tutorial zum Erstellen von Stateflow-Diagrammen finden Sie unter Model Rechargeable Battery System as Chart.

Siehe auch

Themen