Hauptinhalt

Ä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 -C

Um 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] wird A(1,2)

    Inkrementoperationen: aus a++ wird a = a+1

    Zuweisungsoperationen: aus a += b wird a = a+b

    Modulo-Operationen: aus a %% b wird rem(a,b)

    Bitverschiebungsoperationen: aus a >> b wird bitshift(a,-b)

    Bitweise Operationen: aus a ^ b wird bitxor(a,b) (wenn „Enable C-bit operations“ ausgewählt ist)

    Kommentare: aus // und /* */ wird %

Sie müssen Folgendes manuell aktualisieren:

  • Explizite Typumwandlungen mit den Operatoren cast und type.

  • 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.

Siehe auch

Themen