メインコンテンツ

チャートのアクション言語の変更

Simulink® モデルの Stateflow® チャートには、ステート アクションと遷移アクションの構文を定義するアクション言語プロパティがあります。チャート キャンバスの左下隅にあるアイコンが、チャートのアクション言語を示します。

  • アクション言語は MATLAB®

  • アクション言語は C。

アクション言語間でのチャートの変換

アクション言語間で変換するには、[アクション言語] チャート プロパティを変更します。[チャート] プロパティ ダイアログ ボックスで、新しいアクション言語を選択します。チャートにアクションが含まれている場合は、Stateflow によって、構文パターンを変換するオプションが示されます。

既定のアクション言語の変更

MATLAB は、新しい Stateflow チャートの既定のアクション言語構文です。C をアクション言語として使用するチャートを作成するには、次のように入力します。

sfnew -C

新しいチャートの既定のアクション言語を変更するには、関数 sfpref を使用します。たとえば、C を新しいチャートのアクション言語として設定するには次のように入力します。

sfpref(ActionLanguage="C");

C から MATLAB への構文変換

既存のアクションがあるチャートのアクション言語を C から MATLAB に変更すると、Stateflow によってチャートの上部に通知が表示されます。その通知の変換リンクをクリックして、サポートされる構文パターンを更新します。

次の C 構造は、Stateflow によって MATLAB 構文に変換されます。

  • 配列のインデックス付け: A[0][1]A(1,2) に変わる

    インクリメント演算: a++a = a+1 に変わる

    代入演算: a += ba = a+b に変わる

    剰余演算: a %% brem(a,b) に変わる

    ビット シフト演算: a >> bbitshift(a,-b) に変わる

    ビット演算: a ^ bbitxor(a,b) に変わる ([C 言語のビット演算が可能] が選択されている場合)

    コメント: ///* */% に変わる

以下については、手動で更新する必要があります。

  • castおよびtype演算子による明示的な型キャスト。

  • &* などのポインター演算子。

  • 特殊な代入演算子 :=

  • カスタムのデータ宣言。

  • ml 演算子を使用したワークスペース変数へのアクセス。

  • コード生成でサポートされていない関数。

  • 16 進数表記と単精度のリテラル。

  • 状況依存の定数。

参考

トピック