Ändern der Aktionssprache für ein Diagramm
Stateflow®-Diagramme in Simulink®-Modellen haben eine Aktionsspracheigenschaft, die die Syntax für Zustands- und Übergangsaktionen definiert. Ein Symbol in der linken unteren Ecke des Diagramms zeigt die Aktionssprache für das Diagramm an.
MATLAB® als Aktionssprache.
C als Aktionssprache.
Konvertieren von Diagrammen zwischen Aktionssprachen
Ändern Sie zur Konvertierung eines Diagramms von einer Aktionssprache in eine andere die Diagrammeigenschaft Action language. Wählen Sie im Dialogfeld „Chart Properties“ die neue Aktionssprache. Wenn Ihr Diagramm Aktionen enthält, weist Stateflow Sie auf die Option zur Konvertierung von Syntaxmustern hin.
Ändern der Standard-Aktionssprache
MATLAB ist die Standard-Aktionssprache für neue Stateflow-Diagramme. Um ein Diagramm zu erstellen, das C als Aktionssprache verwendet, geben Sie Folgendes ein:
sfnew -CUm die Standardsprache für neue Diagramme zu ändern, verwenden Sie die Funktion sfpref. Um beispielsweise C als Aktionssprache für neue Diagramme festzulegen, geben Sie Folgendes ein:
sfpref(ActionLanguage="C");C-zu-MATLAB-Syntaxkonvertierung
Wenn Sie ein Diagramm mit bestehenden Aktionen von der Aktionssprache C in die Aktionssprache MATLAB konvertieren, zeigt Stateflow oben im Diagramm eine Benachrichtigung an. Klicken Sie auf den Konvertierungslink in der Benachrichtigung, um die unterstützten Syntaxmuster zu aktualisieren.
Stateflow wandelt die folgenden C-Konstrukte in MATLAB-Syntax um:
Array-Indizierung: aus
A[0][1]wirdA(1,2)Inkrementoperationen: aus
a++wirda = a+1Zuweisungsoperationen: aus
a += bwirda = a+bModulo-Operationen: aus
a %% bwirdrem(a,b)Bitverschiebungsoperationen: aus
a >> bwirdbitshift(a,-b)Bitweise Operationen: aus
a ^ bwirdbitxor(a,b)(wenn „Enable C-bit operations“ ausgewählt ist)Kommentare: aus
//und/* */wird%
Sie müssen Folgendes manuell aktualisieren:
Pointer-Operatoren wie
&und*.Den speziellen Zuweisungsoperator
:=.Benutzerdefinierte Datendeklarationen.
Zugriff auf Workspace-Variablen mithilfe des
ml-Operators.Bei der Codegenerierung nicht unterstützte Funktionen.
Hexadezimale Notation und Literale mit einfacher Genauigkeit.
Kontextabhängige Konstanten.