Main Content

Erstellen von Flussdiagrammen in Stateflow

Ein Stateflow®-Flussdiagramm ist ein grafisches Konstrukt, das logische Muster wie Entscheidungsbäume und iterative Schleifen modelliert. Flussdiagramme stellen eine kombinatorische Logik dar, bei der ein Ergebnis nicht von vorherigen Ergebnissen abhängt. Sie erstellen Flussdiagramme, indem Sie nur Verbindungsstellen und Übergänge kombinieren. Die Verbindungen stellen Entscheidungszweige zwischen verschiedenen Übergangswege dar. Das Ausführen eines Flussdiagramms beginnt an einem Standardübergang und endet an einer terminalen Verbindung, d. h. einer Verbindung, die keine ausgehenden Übergänge hat. Weitere Informationen finden Sie unter Combine Transitions and Junctions to Create Branching Paths.

Hinweis

Wenn ein Stateflow-Diagramm nur ein Flussdiagramm enthält, wertet das Diagramm das Flussdiagramm jedes Mal aus, wenn das Diagramm aufgerufen wird. Im Gegensatz dazu wertet das Diagramm jedes Flussdiagramm innerhalb eines Zustands nur beim Eintritt in den Zustand aus.

Es empfiehlt sich, Flussdiagramme in grafische Funktionen zu kapseln, um eine modulare und wiederverwendbare Logik zu erstellen, die Sie überall in einem Diagramm aufrufen können. Weitere Informationen über grafische Funktionen finden Sie unter Reuse Logic Patterns by Defining Graphical Functions.

Dieses Flussdiagramm modelliert zum Beispiel eine einfache if-else-Logik:

Flow chart that models an if else statement.

Das Flussdiagramm modelliert diesen Code:

if u > 0
   y = 1;
else
   y = 0;
end

Zeichnen eines Flussdiagramms

Sie können Flussdiagramme zeichnen, indem Sie Verbindungsstellen als Verzweigungspunkte zwischen alternativen Übergangswegen verwenden. So zeichnen Sie ein Flussdiagramm:

  1. Öffnen Sie ein neues Diagramm.

  2. Fügen Sie der Verbindungsstelle, an der die Ausführung des Flussdiagramms beginnt, einen Standardübergang hinzu. Klicken Sie in der Objektpalette auf das Standardübergangs-Symbol . Klicken Sie dann im Diagrammzeichenbereich auf die Stelle, an der Sie den Übergang platzieren möchten. Der Stateflow-Editor fügt eine neue Verbindungsstelle als Ziel des Übergangs hinzu.

  3. Um einen neuen Übergang hinzuzufügen, zeigen Sie auf den Rand einer Verbindungsstelle. Klicken und ziehen Sie dann von der Verbindungsstelle weg. Der Stateflow-Editor bietet grafische Hinweise, mit denen Sie eine Verbindungsstelle oder einen Zustand hinzufügen können.

    • Um eine Verbindungsstelle am Ende des Übergangs zu platzieren, klicken Sie auf die kreisförmige Markierung.

    • Um den Übergang mit einer bestehenden Verbindungsstelle zu verknüpfen, ziehen Sie den Zeiger auf das gewünschte Ziel.

  4. Um dem Diagramm eine Verbindungsstelle hinzuzufügen, klicken Sie in der Objektpalette auf das Verbindungsstellen-Symbol . Klicken Sie dann im Diagrammzeichenbereich auf die Stelle, an der Sie die neue Verbindungsstelle platzieren möchten.

  5. Wiederholen Sie die vorherigen Schritte nach Bedarf.

  6. Beschriften Sie die Übergänge wie unter Define Actions in a Transition beschrieben.

Bewährte Praktiken zur Erstellung von Flussdiagrammen

Beachten Sie bei der Erstellung von Flussdiagrammen die folgenden bewährten Praktiken.

Flow chart that illustrates best practices.

Verwenden Sie nur einen Standardübergang.

Die Flussdiagramme haben einen einzigen Eintrittspunkt.

Stellen Sie nur eine terminale Verbindungsstelle bereit.

Mehrere terminale Verbindungsstellen verringern die Lesbarkeit eines Flussdiagramms.

Führen Sie alle Übergangswege an der terminalen Verbindungsstelle zusammen.

Die Ausführung eines Flussdiagramms erreicht immer den Abschlusspunkt.

Bieten Sie einen uneingeschränkten Übergang von jeder Verbindungsstelle außer der terminalen Verbindungsstelle.

Wenn während der Simulation ein unbeabsichtigtes Backtracking auftritt, wird eine Warnmeldung angezeigt.

Um den Grad der Diagnosemaßnahmen bei unbeabsichtigtem Backtracking zu steuern, öffnen Sie das Dialogfeld „Konfigurationsparameter“ und setzen Sie im Fensterbereich Diagnostics > Stateflow den Parameter Unexpected backtracking auf none, warning oder error. Die Standardeinstellung ist warning. Weitere Informationen finden Sie unter Unexpected backtracking (Simulink).

Unbeabsichtigtes Backtracking kann an einer Verbindungsstelle unter folgenden Bedingungen auftreten:

  • Die Verbindungsstelle verfügt nicht über einen uneingeschränkten Übergangsweg zu einem Zustand oder einer terminalen Verbindungsstelle.

  • Mehrere Übergangswege führen zu dieser Verbindungsstelle.

Um Aktualisierungen zu verarbeiten, verwenden Sie Bedingungsaktionen anstelle von Übergangsaktionen.

Flussdiagramme testen Übergänge, führen sie aber nicht aus. Folglich führen Flussdiagramme niemals Übergangsaktionen aus. Außerdem führt in Diagrammen, die MATLAB® als Aktionssprache verwenden, die Verwendung einer Übergangsaktion in einer grafischen Funktion zu einem Kompilierfehler.

Verwandte Themen