Auflösung von Dateneigenschaften aus Simulink-Signalobjekten
Dieses Beispiel zeigt, wie lokale und Ausgabedaten in Stateflow®-Diagrammen explizit Eigenschaften von Simulink.Signal
-Objekten im Modellarbeitsbereich oder Basisarbeitsbereich übernehmen können. Dieser Vorgang wird als Signalauflösung bezeichnet und erfordert, dass das aufgelöste Signal denselben Namen wie die Diagrammausgabe oder die lokalen Daten hat.
Informationen zur Simulink®-Signalauflösung finden Sie unter Symbol Resolution (Simulink) und Symbol Resolution Process (Simulink).
Übernommene Eigenschaften
Wenn lokale oder Ausgabedaten von Stateflow in Simulink-Signalobjekte aufgelöst werden, übernehmen diese die folgenden Eigenschaften:
Größe
Komplexität
Typ
Minimaler Wert
Maximaler Wert
Anfangswert
Speicherklasse
Die Speicherklasse steuert die Darstellung von Diagrammdaten im generierten Code. Siehe Organize Parameter Data into a Structure by Using Struct Storage Class (Embedded Coder).
Aktivieren der Signalauflösung
So aktivieren Sie die explizite Signalauflösung:
Öffnen Sie das Dialogfeld für Konfigurationsparameter und stellen Sie im Bereich Diagnostics > Data Validity die Signalauflösung auf einen anderen Wert als
None
ein. Weitere Informationen zu den anderen Optionen finden Sie unter Signal resolution (Simulink).Definieren Sie im Modellarbeitsbereich, im Basisarbeitsbereich oder im Datenwörterbuch ein
Simulink.Signal
-Objekt mit den Eigenschaften, die Ihre Stateflow-Daten übernehmen sollen. Weitere Informationen zum Erstellen von Simulink-Signalen finden Sie unterSimulink.Signal
(Simulink).Fügen Sie Diagramm- oder lokale Daten hinzu. Verwenden Sie für Ihre Daten denselben Namen wie für das
Simulink.Signal
-Objekt.Aktivieren Sie die Eigenschaft Data must resolve to signal object, wie unter Set Data Properties beschrieben. Nachdem Sie diese Eigenschaft ausgewählt haben, werden im Dialogfeld die Eigenschaften entfernt oder ausgeblendet, die Ihre Daten vom Signal übernehmen.
Ein einfaches Beispiel
Dieses Modell zeigt, wie ein Diagramm lokale und Ausgabedaten in Simulink.Signal
-Objekte auflöst.
Im Basisarbeitsbereich befinden sich drei Simulink.Signal
-Objekte, jedes mit einem anderen Satz von Eigenschaften.
y1
hat diese Eigenschaften: Typ = =double
, Dimensionen =1
und Speicherklasse =Model default
.y2
hat diese Eigenschaften: Typ = =uint32
, Dimensionen =[2 2]
und Speicherklasse =Auto
.local
hat diese Eigenschaften: Typ = =single
, Dimensionen =1
und Speicherklasse =ExportedGlobal
.
Das Diagramm enthält drei Datenobjekte (zwei Ausgaben und eine lokale Variable), die in einem Signal mit demselben Namen aufgelöst werden.
Wenn Sie das Modell erstellen, übernimmt jedes Datenobjekt die Eigenschaften des Signals mit dem gleichen Namen.
Der generierte Code deklariert die Daten basierend auf der Speicherklasse, die die Daten vom zugehörigen Simulink-Signal übernehmen. In der folgenden Header-Datei wird beispielsweise „local“ als exportierte globale Variable deklariert:
/* * Exported States * * Note: Exported states are block states with an exported global * storage class designation. Code generation will declare the memory for these * states and exports their symbols. * */ extern real32_T local; /* '<Root>/Signal Object Chart' */
Siehe auch
Simulink.Signal
(Simulink)
Themen
- Symbol Resolution (Simulink)
- Organize Parameter Data into a Structure by Using Struct Storage Class (Embedded Coder)