Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

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

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

Stateflow チャートは、MATLAB® 関数、Simulink 関数、および MATLAB をアクション言語として使用する真理値表を介して、モデル内のその他のチャートおよびブロックとの間で可変サイズ データをやり取りします。可変サイズ データを、ステート アクションおよび遷移ロジックよりのチャート レベルの入出力として、これらの関数に渡します。ただし、直接的なステートまたは遷移に基づかず、すべての計算を関数内の可変サイズ データを使用して実行する必要があります。可変サイズで、チャート レベルの入出力で相互に作用する関数の詳細は、以下を参照してください。

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

可変サイズ データのサポートは、既定で有効になっています。個々のチャートに対してこのオプションを変更するには、以下のステップに従います。

  1. チャートの空白の領域を右クリックし、[プロパティ] を選択します。

  2. [チャート] プロパティ ダイアログ ボックスで、[可変サイズの配列をサポート] チェック ボックスを選択するか、選択を解除します。

チャート レベルでのサポートを有効にした後、可変サイズの入出力を宣言できます。

可変サイズ入出力の宣言

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

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

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

  4. データの [サイズ] プロパティを設定します。

    スコープ指定する内容
    入力

    Simulink からサイズを継承する場合は、「-1」と入力します。それ以外の場合は、サイズと上限を明示的に指定します。

    出力サイズと上限を明示的に指定します。

    たとえば、この指定は、[サイズ][型] を Simulink モデルから継承する可変サイズ入力 data を宣言します。最初の次元の上限が 2 で、2 番目の次元の上限が 4 である 2 次元行列を指定するには、[サイズ] フィールドに代わりに [2 4] と入力します。

可変サイズ データを使用する場合のルール

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

    可変サイズ入出力の宣言を参照してください。

  • 直接的なステートまたは遷移では、可変サイズ データを使用して計算しないでください。

  • MATLAB 関数、Simulink 関数およびアクション言語として MATLAB を使用する真理値表の可変サイズ データを使用してすべての計算を実行します。

    ステート アクションおよび遷移ロジックからの入出力としてチャート内の MATLAB 関数および Simulink 関数にデータを渡すことができます。MATLAB 関数はチャートレベルの可変サイズ データに直接アクセスすることもできます。詳細については、入力信号のサイズに基づく出力の計算を参照してください。

関連するトピック