Main Content

Hinzufügen von Stateflow-Daten

Wenn Sie Werte speichern möchten, die in einer bestimmten Stufe der Stateflow®-Hierarchie sichtbar sein sollen, fügen Sie Daten zu Ihrem Diagramm hinzu. Bei der Simulation Ihres Modells behalten Diagrammdatenobjekte ihre Werte für die Dauer der Simulation bei.

In einem Stateflow-Diagramm definierte Daten sind sichtbar durch mehrere Stateflow-Objekte in dem Diagramm, dazu gehören Zustände, Übergänge, MATLAB®-Funktionen und Wahrheitstabellen. Um zu bestimmen, welche Daten in einem Zustand oder Übergang verwendet werden, klicken Sie mit der rechten Maustaste auf den Zustand oder Übergang und wählen Sie Explore. Im dadurch aufgeklappten Kontextmenü sind die Namen und Bereiche aller aufgelösten Symbole in dem Zustand oder Übergang aufgeführt. Durch Auswahl eines Symbols aus dem Kontextmenü werden dessen Eigenschaften im Model Explorer angezeigt. Durch Auswahl eines Ausgangsereignisses aus dem Kontextmenü wird das Simulink®-Subsystem oder das zudem Ereignis verbundene Stateflow-Diagramm geöffnet.

Hinweis

Stateflow-Daten stehen nicht für Simulink-Funktionen innerhalb eines Stateflow-Diagramms zur Verfügung.

Sie können Daten zu einem Stateflow-Diagramm über den Fensterbereich Symbols, das Stateflow-Editormenü oder den Model Explorer hinzufügen.

Hinzufügen von Daten über den Fensterbereich „Symbols“

  1. Wählen Sie auf der Registerkarte Modeling unter Design Data die Option Symbols Pane aus.

  2. Klicken Sie auf das Symbol Create Data .

  3. Klicken Sie in der Zeile für die neuen Daten unter Type auf das Symbol und wählen Sie Folgendes aus:

    • Input Data

    • Local Data

    • Output Data

    • Constant

    • Data Store Memory

    • Parameter

    • Temporary

    Weitere Informationen zu diesen Optionen finden Sie unter Scope.

  4. Bearbeiten Sie den Name der Daten.

  5. Bei Eingangs- und Ausgangsdaten klicken Sie auf das Feld Port und wählen Sie eine Portnummer.

  6. Zum Festlegen der Eigenschaften für die Daten öffnen Sie den Property Inspector. Klicken Sie im Fensterbereich Symbols mit der rechten Maustaste auf die Zeile für das Symbol und wählen Sie Explore. Weitere Informationen finden Sie unter Set Data Properties.

Hinzufügen von Daten mithilfe des Stateflow-Editormenüs

  1. Wählen Sie in einem Stateflow-Diagramm in einem Simulink-Modell die Menüoption, die dem Bereich der Daten entspricht, die Sie hinzufügen möchten. Weitere Informationen zu diesen Optionen finden Sie unter Scope.

    BereichMenüoption
    Input

    Wählen Sie auf der Registerkarte Modeling unter Design Data die Option Data Input aus.

    Output

    Wählen Sie auf der Registerkarte Modeling unter Design Data die Option Data Output aus.

    Local

    Wählen Sie auf der Registerkarte Modeling unter Design Data die Option Local aus.

    Constant

    Wählen Sie auf der Registerkarte Modeling unter Design Data die Option Constant aus.

    Parameter

    Wählen Sie auf der Registerkarte Modeling unter Design Data die Option Parameter aus.

    Data Store Memory

    Wählen Sie auf der Registerkarte Modeling unter Design Data die Option Data Store aus.

  2. Geben Sie im Dialogfenster „Data“ die Eigenschaften der Daten an. Weitere Informationen finden Sie unter Set Data Properties.

Hinzufügen von Daten über den Model Explorer

Mit dem Model Explorer können Sie wie folgt funktions- oder zustandsabhängige Daten zu Stateflow-Diagrammen in Simulink-Modellen hinzufügen:

  1. Wählen Sie auf der Registerkarte Modeling unter Design Data die Option Model Explorer aus.

  2. Wählen Sie im Fensterbereich Model Hierarchy das Objekt in der Stateflow-Hierarchie aus, in dem Sie die neuen Daten sichtbar machen möchten. Das von Ihnen ausgewählte Objekt wird zum übergeordneten Objekt für die neuen Daten.

  3. Wählen Sie auf der Werkzeugleiste des Model Explorers die Schaltfläche „Add Data“ . Alternativ können Sie im Menü des Model Explorers die Option Add > Data auswählen. Die neuen Daten mit einer Standarddefinition erscheinen im Fensterbereich Contents des Model Explorers.

  4. Geben Sie im Fensterbereich Data die Eigenschaften der Daten an. Weitere Informationen finden Sie unter Set Data Properties.

Tipp

Bei diesen Funktionstypen müssen Sie lokale oder temporäre Daten nicht explizit anlegen:

  • Grafische Funktionen in Diagrammen, die MATLAB als Aktionssprache verwenden

  • Wahrheitstabellenfunktionen, die MATLAB als Aktionssprache verwenden

  • MATLAB-Funktionen

Stattdessen können Sie bei diesen Funktionen undefinierte Variablen verwenden, um Werte zu speichern, die nur während des restlichen Funktionsaufrufs verfügbar sind. Zum Speichern von Werten, die über Funktionsaufrufe hinweg bestehen bleiben, verwenden Sie lokale Daten auf der Diagrammebene. Alternativ dazu können Sie in MATLAB-Funktionen das Schlüsselwort persistent verwenden.

Bewährte Praktiken bei der Nutzung von Daten in Diagrammen

Vermeiden der Übernahme von Ausgangsdateneigenschaften aus Simulink-Blöcken

Stateflow-Ausgangsdaten sollten keine Eigenschaften von Ausgangssignalen übernehmen, da die Werte von Simulink-Blöcken zurück übertragen werden und unvorhersehbar sein können.

Generieren von effizienterem Code mithilfe von In-Place-Daten

Mithilfe von In-Place-Daten können Sie die Leistung verbessern und den Speicherbedarf des generierten Codes für Ihre Stateflow-Diagramme, Wahrheitstabellen und Zustandsübergangstabellen verringern. Sie erstellen In-Place-Daten, wenn Sie denselben Datennahmen für einen Diagrammeingang und einen Diagrammausgang verwenden. Wenn Sie Code aus dem Diagramm generieren, behandelt der generierte Code die Eingangs- und Ausgangsdaten als ein In-Place-Argument, das per Verweis übermittelt wird. Mithilfe von In-Place-Daten wird die Anzahl der Kopiervorgänge von Zwischendaten im generierten Code reduziert, was zu einem effizienteren Code führt.

Wenn Eingangs- und Ausgangsdaten denselben Namen haben, können Sie nur die Eigenschaften der Eingangsdaten bearbeiten. Die Eigenschaften für die Ausgangsdaten sind schreibgeschützt.

Verwandte Themen