Main Content

Stateflow チャート内のカスタム コードの変数および関数へのアクセス

C または C++ で記述されたカスタム コードを、Simulink® モデルの Stateflow® チャートと統合できます。カスタム コードと Stateflow チャートの間でデータと関数を共有することにより、Stateflow の機能を拡張し、既存のコードを活用できます。詳細については、Stateflow チャートでのカスタム コードの再利用を参照してください。

MATLAB をアクション言語として使用するチャート内のカスタムコード変数

MATLAB® をアクション言語として使用するチャート内で、以下の C コード変数を直接読み書きできます。

カスタム C コードの型説明
double倍精度浮動小数点
single単精度浮動小数点
int8符号付き 8 ビット整数
uint8符号なし 8 ビット整数
int16符号付き 16 ビット整数
uint16符号なし 16 ビット整数
int32符号付き 32 ビット整数
uint32符号なし 32 ビット整数

カスタム コードを使用する Stateflow オブジェクトを右クリックすることにより、カスタム コード変数にアクセスできます。オブジェクトを右クリックした後に、[探索] にカーソルを合わせます。カスタム コード変数が表示され、(C variable) で表されます。C 変数をクリックすると、MATLAB からカスタム コードにアクセスできます。

MATLAB をアクション言語として使用するチャート内のカスタム コード関数

coder.ceval を使用せずに MATLAB をアクション言語として使用するチャート内では、以下の C 関数の引数の型を直接使用できます。coder.ceval を使用した MATLAB コードからの外部コード呼び出しの詳細については、生成コードからのカスタム C/C++ コードの呼び出し (MATLAB Coder)を参照してください。

カスタム C 関数の引数の型説明
double倍精度浮動小数点
single単精度浮動小数点
int8符号付き 8 ビット整数
uint8符号なし 8 ビット整数
int16符号付き 16 ビット整数
uint16符号なし 16 ビット整数
int32符号付き 32 ビット整数
uint32符号なし 32 ビット整数

カスタム コードを使用する Stateflow オブジェクトを右クリックすることにより、カスタム コード関数にアクセスできます。オブジェクトを右クリックした後に、[探索] にカーソルを合わせます。カスタム コード関数が表示され、(C function) で表されます。C 関数をクリックすると、MATLAB からカスタム コードにアクセスできます。

カスタム コードの列挙型へのアクセス

C をアクション言語として使用するチャートでカスタム コードから列挙型をインクルードするには、次を行います。

  1. ヘッダー ファイルで列挙型を定義します。

  2. [コンフィギュレーション パラメーター] ダイアログ ボックスを開きます。

  3. [シミュレーション ターゲット] ペインの [詳細設定パラメーター] で、[カスタム コードのインポート] を選択します。

  4. [コード情報] タブで、列挙型を定義するヘッダー ファイルをインクルードします。

関連するトピック