Hauptinhalt

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

Festlegen von Umfang und Typ von Stateflow-Daten

Datentypen legen das Format fest, in dem Informationen im Speicher des Computers gespeichert werden. Die Datentypen wirken sich auf drei Schlüsselaspekte Ihres Stateflow®-Diagramms aus:

  • Den Speicherplatz, der den Daten zugewiesen wird.

  • Wie ein Datenwert in ein bitweises Muster umgewandelt wird.

  • Der Satz Operationen, die an den Daten ausgeführt werden können.

Mit Datentypen können Sie die Ressourcennutzung Ihrer Diagramme optimieren und sicherstellen, dass die Softwareanwendungen die Diagrammdaten korrekt manipulieren können.

In Stateflow definieren Sie Daten nach Typ, Umfang und Modus. Bei dem Datentyp handelt es sich um die Art, wie Daten im System gespeichert werden. Sie könnten beispielsweise einen Datentyp double oder single haben. Bei dem Umfang handelt es sich um die Funktionsweise der Daten im Stateflow-Diagramm. Eingabedaten sind beispielsweise Daten, die Simulink® in Stateflow eingibt; lokale Daten sind Daten, die in Stateflow erzeugt werden und dort bleiben. Der Modus gibt die Untermenge des Typs an, die Sie auswählen können. Ist der Modus beispielsweise Inherited, übernehmen die Daten ihre Informationen aus Simulink; ist der Modus Expression, hängen die Informationen der Daten von einem von Ihnen eingegebenen Ausdruck ab. Der Modus kann nur festgelegt werden, wenn Data Type Assistant verwendet wird.

Sie können den Datentyp in Property Inspector festlegen. Wählen Sie im Feld Type einen Typ aus der Drop-Down-Liste aus oder geben Sie einen Ausdruck ein, der zu einem Datentyp aufgelöst wird. Weitere Informationen finden Sie unter Set Data Properties.

Vererben von Datentypen von Simulink-Objekten

Wenn Sie die Drop-Down-Liste Type auf Inherit: Same as Simulink setzen, erben Datenobjekten mit dem Umfang Input, Output, Parameter und Data Store Memory ihren Datentyp von Simulink-Objekten. Wenn Sie für Daten einen bestimmten Typ erwarten, setzen Sie Type nicht auf Inherit: Same as Simulink.

BereichBeschreibung
InputErbt den Typ vom Simulink-Eingangssignal, das mit dem entsprechenden Eingangsport im Diagramm verbunden ist.
Output

Erbt den Typ vom Simulink-Ausgangssignal, das mit dem entsprechenden Ausgangsport im Diagramm verbunden ist.

ParameterErbt den Typ von der entsprechenden MATLAB®-Basis-Workspace-Variable, dem Simulink-Data-Dictionary-Eintrag oder dem Simulink-Parameter in einem maskierten Subsystem.
Data Store MemoryErbt den Typ vom entsprechenden Simulink-Datastore.

Um die vom Objekt geerbten Datentypen festzulegen:

  1. Erstellen Sie das Simulink-Modell.

  2. Öffnen Sie den Model Explorer.

  3. Untersuchen Sie im Bereich Contents die Spalte CompiledType.

Ableiten von Datentypen aus anderen Datenobjekten

Sie können den Operator type verwenden, um Datentypen aus anderen Stateflow-Datenobjekten abzuleiten. Das Modell sf_bus_demo verwendet beispielsweise den Datentyp der Eingangsstruktur inbus, um den Datentyp der lokalen Struktur counterbus_struct zu definieren. Die Struktur wird mithilfe des folgenden Ausdrucks definiert:

type(inbus)

Property Inspector for sf_bus_demo.

Da inbus seinen Typ vom Simulink.Bus-Objekt COUNTERBUS ableitet, leitet counterbus_struct seinen Datentyp ebenfalls von COUNTERBUS ab.

Weitere Informationen zu diesem Beispiel finden Sie unter Integrate Custom Structures in Stateflow Charts.

Festlegen von Datentypen mithilfe eines Simulink-Alias

Sie können den Typ der Stateflow-Daten festlegen, indem Sie ein Simulink-Datentyp-Alias verwenden. Weitere Informationen finden Sie unter Simulink.AliasType (Simulink).

Nehmen wir beispielsweise an, dass Sie ein Datentyp-Alias MyFloat definieren möchten, das dem integrierten Datentyp single entspricht. Geben Sie an der MATLAB-Eingabeaufforderung Folgendes ein:

MyFloat = Simulink.AliasType;
MyFloat.BaseType = "single";

Um dieses Alias zum Festlegen des Datentyps zu verwenden, öffnen Sie ein Stateflow-Diagramm und wählen Sie im Fensterbereich Symbols die Daten aus. Setzen Sie daraufhin in Property Inspector den Type auf MyFloat.

Nachdem Sie Ihr Modell erstellen, zeigt die Spalte CompiledType des Model Explorer den in der kompilierten Simulation verwendeten Typ an.

Siehe auch

(Simulink) | (Simulink) | (Simulink)

Themen