Stateflow

 

Stateflow

Modellierung und Simulation von Entscheidungslogiken mithilfe von Zustandsmaschinen und Flussdiagrammen

Entwicklung von Zustandsmaschinen

Mit Stateflow können Sie Zustandsmaschinen per Drag-and-Drop von Elementen und einfachen logischen Anweisungen entwickeln. Für die ersten Schritte stehen Ihnen Stateflow Onramp und eine Schulung zur Verfügung.

Statechart mit mehreren Zuständen und MATLAB-Funktionsblöcken. Der Exchange-Zustand enthält eine Logik, die anhand eines Flussdiagramms dargestellt wird, um zu bestimmen, ob er in einen von zwei untergeordneten Zuständen übergeht oder den Zustand verlässt.

Erstellen von Flussdiagrammen

Sie können Flussdiagramme zur Darstellung der Zustandslogik verwenden. Mit dem Pattern Wizard können Sie ganz automatisch Flussdiagramme für gängige Logikmuster erstellen.

Modellierung von Logik mit Tabellen

Stateflow umfasst Zustandsübergangstabellen und Wahrheitstabellen. Die Zustandsübergangstabellen bieten eine tabellarische Ansicht für die Modellierung von Logik, während die Wahrheitstabellen den kombinatorischen Logikentwurf in einem tabellarischen Format implementieren.

Ausführen von Stateflow-Diagrammen

Bei der Ausführung Ihres Zustandsdiagramms werden aktive Zustände und Übergänge durch Animationen hervorgehoben. Während der Ausführung können Sie Variablen manuell ändern und so ihre Auswirkungen auf das System sichtbar machen.

Links ist ein Stateflow-Diagramm für eine manuelle Gangschaltung abgebildet. Die Simulationsdaten für zwei Zustände des Diagramms sind in den Grafiken auf der rechten Seite dargestellt, deren Pfeile die entsprechenden Diagramme für jeden Zustand kennzeichnen.

Überwachen und Analysieren von Daten

Der Simulation Data Inspector bietet die Möglichkeit, Simulationsdaten zu visualisieren. Mit diesem Tool können Sie ein System überwachen, um so wichtige Erkenntnisse über sein Verhalten zu gewinnen.

Debugging-Logik in Stateflow

Mit den Debugging-Funktionen von Stateflow können Sie die Ausführung von Diagrammen bis ins Detail nachverfolgen. Sie können Haltepunkte setzen und verschiedene Funktionen in Ihren Zustandsdiagrammen schrittweise durchlaufen, um ein unerwartetes Verhalten nachzuvollziehen.

Ein Temporal Logic Scheduler wird in einem Simulink-Modell implementiert. Der Block plant die Ausführung von drei Subsystemen für Funktionsaufrufe, von denen das dritte an einen Scope-Block ausgegeben wird.

Prozess-Scheduling mit Stateflow

Stateflow kann Simulink-Algorithmen periodisch oder kontinuierlich aufrufen, um die Ausführung von Komponenten zu planen und Ihre Echtzeitumgebung zu simulieren.

Ein Simulink-Modell, das nach der Validierung der Anforderungen umgestaltet wurde. Unterhalb des Modells sind die Verifikationsstände der aufgeführten Anforderungen grün gefärbt, um anzuzeigen, dass alle Modelleigenschaften zulässig sind.

Validierung von Entwürfen mit Simulink

Stateflow lässt sich nahtlos in andere MathWorks-Produkte integrieren, um Ihre Entwürfe zu verifizieren, zu validieren und zu testen. Mithilfe dieser Produkte können Sie sicherstellen, dass Ihre Entwicklungen den jeweiligen Anforderungen entsprechen, Fehler früher gefunden werden und Qualitätsziele erreicht werden.

Zwei Anwendungsfenster, die durch eine Grafik verbunden sind, die anzeigt, dass das zweite Fenster aus dem ersten entstanden ist. Das erste Fenster zeigt ein Stateflow-Diagramm und das zweite zeigt C Code, der automatisch aus dem Diagramm generiert wurde.

Codegenerierung zur Bereitstellung

Mit der Codegenerierung können Sie die Logik Ihres Statecharts auf Embedded Systems implementieren. Stateflow unterstützt Workflows zur Generierung von C, C++, VHDL- und Verilog-Code sowie von strukturiertem Text für PLCs.

„Vor Deep Space 1 wurden weder Statecharts noch Technologien zur automatischen Codegenerierung bei komplexen Systemen für die Avioniksoftware von Raumfahrzeugen eingesetzt. Mit den Tools von MathWorks konnte dieses Konzept nun umgesetzt werden.“