Stateflow

Entwickeln von Logiken

Stateflow umfasst grafische und tabellarische Schnittstellen zur Modellierung von Systemlogiken mithilfe von Zustandsautomaten. Für einen Zustandsautomaten modellieren Sie die Betriebsmodi des Systems als Zustände und stellen die Logik für das Umschalten zwischen den Modi mithilfe von Transitionen und Knotenpunkten dar. Sie können die verschiedenen Komponenten in Ihrem System als Zustände modellieren, die exklusiv oder parallel ausgeführt werden. Mit Stateflow können Sie die Komplexität Ihres Entwurfs verwalten, indem Sie die Objekte, Funktionen und Komponenten im Zustandsdiagramm hierarchisch anordnen.

In Stateflow können Sie kombinatorische Logik grafisch mit Flussdiagrammen sowie in tabellarischer Form mit Wahrheitstabellen darstellen.

Beim Entwickeln einer Logik müssen die zu überprüfenden Zustände und die im Anschluss auszuführenden Aktionen angegeben werden. In Stateflow können Sie die Zustände und Aktionen in C oder MATLAB® definieren. Sie können die Daten, die in den Zuständen und Aktionen verwendet werden, im Simulink® Model Explorer verwalten. Bevor Sie Ihren Entwurf ausführen, benachrichtigt Sie Stateflow über mögliche Zustandsinkonsistenzen, nicht verwendete Daten und Ereignisse sowie über ungültige Transitionen.

Stateflow diagram defining the logic for a boiler temperature control system.
Stateflow-Diagramm mit der Definition einer Logik für die Temperaturregelung eines Heizkessels. Im Diagramm kommen grafische Funktionen (rechts) zur Anwendung, um Algorithmen für die Energieversorgung zu implementieren, die das Heizsystem aufruft (links).

Grafisches Entwickeln einer Logik

Stateflow enthält einen Editor und grafische Objekte, mit denen Sie Zustandsautomaten und Flussdiagramme zeichnen können. Sie können einen Zustandsautomaten erstellen, indem Sie die Zustände, Transitionen und Knotenpunkte aus einer grafischen Palette auswählen und diese in den Stateflow Editor ziehen. Sie können Funktionen auch mithilfe einer Flussdiagrammnotation, Simulink-Subsystemen, MATLAB und Wahrheitstabellen erstellen. Sie können Ihr Diagramm als Hybridversion aus Mealy- und Moore-Automaten mit erweiterter Funktionalität, als Mealy-Automat oder als Moore-Automat festlegen.

Sie können Flussdiagramme erstellen, indem Sie Transitionen zeichnen, die an Knotenpunkten miteinander verbunden sind und in Abhängigkeit der Bedingungslogik ausgeführt werden. Mithilfe des „Pattern Wizard“ können Sie häufig verwendete Logikverläufe erstellen. Flussdiagramme können in grafische Funktionen positioniert werden, die an vielen Stellen im Zustandsdiagramm und in anderen Zustandsdiagrammen desselben Modells zur Anwendung kommen. Sie können Flussdiagramme verwenden, um die Logik für die Transitionen zwischen einzelnen Zuständen zu entwickeln.

Stateflow diagram that uses a graphical function generated by the pattern wizard.
Stateflow-Diagramm (links) mit grafischer Funktion (rechts), generiert vom „Pattern Wizard“ (Mitte).

Der Stateflow Editor bietet Überprüfung während der Bearbeitung und erkennt so unzulässige Objektpositionierungen und ungültige Transitionen.

Stateflow Editor with a model of a cooling system.
Stateflow Editor mit einem Modell eines Kühlsystems. Zustände mit überlappenden Grenzen sind rot hervorgehoben.

Entwickeln von Logiken anhand von Tabellen

Die Zustandsübergangstabellen in Stateflow bilden eine strukturierte Umgebung für das Modellieren von Zustandsautomaten. Sie erstellen einen Zustandsautomaten, indem Sie Zeilen für Zustände und Spalten für die Transitionen zwischen den Zuständen hinzufügen. Zustandübergangstabellen unterstützen Sie bei der Erstellung von Zustandsautomaten durch Drop-Down-Menüs für Zustandsnamen, automatische Vervollständigung der Syntax für endliche Zustandsautomaten und andere Überprüfungen während der Bearbeitungsphase. Bevor Sie Ihr Modell ausführen, können Sie einen statischen Diagnosetest starten, um Syntaxfehler, unvollständige Transitionen und nicht erreichbare Zustände zu erkennen.

Die Matrixansicht für die Zustandsübergänge, die anhand der Zustandübergangstabellen generiert wurde, gibt Ihnen einen schnellen Überblick über die Bedingungen und möglichen Zielzustände eines bestimmten Zustands.

Mithilfe von Wahrheitstabellen können Sie in Stateflow Logiken modellieren, in denen Zustände über mehrere Laufzeiten hinweg nicht überwacht werden müssen. Sie können eine Wahrheitstabelle erstellen, indem Sie die zu überprüfenden Bedingungen und die Kombinationen der Ergebnisse dieser Bedingungen eingeben. Anschließend können Sie die Aktionen für die verschiedenen Kombinationen von Ergebnissen eingeben. Nachdem Sie die Wahrheitstabelle erstellt haben, können Sie statische Diagnoseprüfungen ausführen, um Bedingungen zu erkennen, die zu stark bzw. zu wenig eingegrenzt sind.

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.
Links: Wahrheitstabelle mit Logik für die Auswahl eines gültigen Sensorwerts in einem Fehlererkennungsalgorithmus. Rechts: Automatisch generierte grafische Darstellung einer Wahrheitstabelle.
Weiter: Integrierte Komponenten und Planungsalgorithmen

Probieren Sie Stateflow

Testsoftware anfordern

Arduino, Raspberry Pi und LEGO: Hardware steuern mit Simulink

Webinar anzeigen