Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Stateflow チャートでの可変サイズ データの宣言

可変サイズ データは実行時にそのサイズが変化できるデータです。それに対して、固定サイズ データはそのサイズが既知であり、コンパイル時に固定され、実行時に変化しないデータです。可変サイズ データは、Simulink® モデルの Stateflow® チャートからの出力が、チャートのステートによってサイズが変わる配列である場合に使用します。

可変サイズ データに対するサポートの有効化

可変サイズ データのサポートは、既定で有効になっています。個別のチャートについてこのオプションを有効または無効にするには、Stateflow チャートのプロパティの指定の説明に従って、チャートのプロパティ [可変サイズの配列をサポート] を変更します。

可変サイズ入出力の宣言

チャート レベルでのサポートを有効にした後、次の手順に従って可変サイズのデータを宣言できます。

  1. Stateflow データの追加の説明に従って、データ オブジェクトをチャートに追加します。

  2. [スコープ] プロパティを [ローカル][入力]、または [出力] に設定します。

    メモ

    C をアクション言語として使用するチャートでは、可変サイズのローカル データはサポートされません。

  3. [可変サイズ] チェック ボックスを選択します。

  4. データの最大サイズを明示的に指定するには、[サイズ] プロパティを使用します。たとえば、最初の次元の上限が 2 で、2 番目の次元の上限が 4 である 2 次元行列を指定するには、[サイズ] フィールドに「[2 4]」と入力します。

可変サイズ データを使用する場合のガイドライン

MATLAB® をアクション言語として使用する Stateflow チャートでは、ステートおよび遷移で可変サイズの入力、出力、およびローカル データにアクセスし、変更することができます。

一方、C をアクション言語として使用するチャートでは、以下を使用して、可変サイズの入出力データを他のチャートおよび Simulink ブロックとのみやり取りできます。

  • MATLAB 関数

  • Simulink 関数

  • MATLAB をアクション言語として使用する真理値表

可変サイズデータを C チャートで使用する場合、以下のガイドラインが適用されます。

  • 可変サイズ データは、ローカル データではなく、チャート入出力としてのみ宣言する。

  • 可変サイズのチャート入力が Simulink モデルからサイズを継承する場合、[サイズ] プロパティを -1 に設定する。

  • 可変サイズ データを使用する計算はすべて、ステートまたは遷移で直接実行するのではなく、関数内で実行しなければならない。

  • ステート アクションと遷移アクションから、可変サイズ データ入出力としてこれらの関数に渡すことができる。さらに、MATLAB 関数は、チャートレベルの可変サイズデータに直接アクセスできる。

関連するトピック