ドキュメンテーション

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

実行領域の指定

実行領域の仕様により、モデルとそのサブシステムおよび参照モデルを設定して離散時間システムまたはデータ駆動型システムとしてシミュレーションできます。この設定を使用して、たとえば、連続時間ダイナミクスでモデル化されたプラントの展開可能なコントローラーの設計で、そのダイナミクスの他の部分から離散ダイナミクスを分離します。

計算量の多い信号処理またはマルチレート信号処理システムをシミュレーションするために、データフロー領域を割り当てることもできます。データフロー領域は、計算同期データフローのモデルを使用してシミュレーションします。これはデータ駆動型であり、静的にスケジュールされます。詳細については、Dataflow Domain (DSP System Toolbox)を参照してください。

環境とは関係なく、離散実行領域を維持するサブシステムを作成できます。サブシステムを離散に制約することで、サブシステムのコンポーネントとしての再利用性を向上させることができます。コード生成を向上させるために、この仕様で不要な更新メソッドを削減し、主要なタイム ステップ チェックを削減して、生成コードの再利用性を向上させます。

領域の仕様バッジ

領域の仕様バッジは、モデル ブロック線図を更新するときにモデルまたはサブシステムに対して計算された実行領域を示します。[サンプル時間の表示] をオンにして、領域の仕様バッジの表示/非表示を切り替えることができます。サンプル時間の表示/非表示の詳細については、サンプル時間情報の表示を参照してください。バッジは、Simulink® エディターの左下隅に表示されます。

次のモデルは、Gain ブロックを駆動する前に、レートが Rate Transition ブロックによって削減される離散 Sine Wave ブロックを示します。

その内容がすべて離散であるため、モデルが "離散" 実行領域を受け取っていることが分かります。

[プロパティ インスペクター][実行] タブの [領域の仕様の設定] パラメーターを有効または無効にすることで、バッジの表示/非表示を切り替えることもできます。

実行領域のタイプ

Simulink では、[プロパティ インスペクター] を介して (許容されるサンプル時間と共に) 実行領域を割り当てるように指示することができます。

指定離散その他データフロー
内容から推定XX-
離散X--
データフロー--X

  • [内容から推定] Simulink がサブシステムの内容に基づいて実行領域を割り当てるようにします。

  • [離散] サブシステム内のすべてのブロックが離散化するように制約します。

  • [データフロー] 計算量の多い信号処理またはマルチレート信号処理システムをシミュレーションします。この設定には DSP System Toolbox™ が必要です。

モデル ブロック線図を更新する、またはモデルのシミュレーションを実行すると、バッジはモデル コンポーネントの計算された実行領域を示します。Simulink には 3 つの実行領域があります。

サブシステムに、連続サンプル時間、可変サンプル時間、マイナー ステップに固定サンプル時間、定数サンプル時間、またはサンプル時間の混在が存在する場合、バッジを使用して領域の仕様を有効または無効にすることができます。それでも、サブシステムは [その他] 時間領域を受け取ります。

現在選択されているサブシステムまたはモデルが、リンク付きブロックであるか、ライブラリ内のブロックであるか、[その他] 領域を受け取る条件付き実行サブシステムである場合、領域の仕様バッジはアクション可能ではありません。リンク付きライブラリ ブロックの実行領域を変更するには、親ライブラリ ブロックへのリンクを解除します。ライブラリ ブロックへのリンクの無効化または解除を参照してください。

実行領域の設定

[プロパティ インスペクター][実行] タブを使用して、サブシステムごとにモデルのルート レベルで領域の仕様を設定できます。[表示ツール][プロパティ インスペクター] を介してモデルの [プロパティ インスペクター] を有効にするか、キーボードで Ctrl + Shift + I キーの組み合わせを押します。領域の仕様バッジが表示されたら、バッジをクリックして [プロパティ インスペクター][実行] 設定を開くこともできます。領域の仕様バッジを参照してください。

[実行領域の設定] チェック ボックスをオンにします。これで、[領域] を指定できます。

メモ

モデルのルート レベルで領域の仕様を変更しても、その子サブシステムの設定は変更されません。

set_param を使用して SetExecutionDomain パラメーターを 'on' または 'off' に設定し、コマンド ラインからのこの設定を有効にすることもできます。

有効にすると、[領域] パラメーターの既定の設定は [内容から推定] です。ブロック線図を更新する場合、実行領域は、現在開いているサブシステム内のブロックの特性から推定されます。たとえば、離散ブロックのみをもつシステムは、[離散] 実行領域内にあります。実行領域のタイプを参照してください。

バッジには現在の仕様設定が表示されます。サブシステム領域を [内容から推定] に設定すると、ブロック線図を更新するまでバッジ テキストには [Deduce] と表示されます。一度モデル ブロック線図を更新すると、バッジには実行領域のタイプで説明されている計算された実行領域が表示されます。[領域の仕様の設定] を有効にし、[領域][内容から推定] に設定すると、Simulink は、サブシステム内のブロックとサンプル時間に基づいて現在フォーカスがあるサブシステムの実行領域を計算します。

コマンド ラインから [領域] パラメーターを設定するには、set_param を使用して ExecutionDomainType'DeduceFromContents' または 'Discrete' に変更します。サブシステムの CompiledExecutionDomain パラメーターを使用して、ブロック線図を更新した後に計算された実行領域も取得できます。

サブシステムに離散実行領域を適用

このモデルでは、モデルの構成サブシステムの実行領域を指定する方法を説明します。モデルには、Desired Speed ブロックの基準速度のセットを追跡する Discrete Cruise Controller Subsystem があります。Car Dynamics サブシステムは、自動車の連続時間ダイナミクスをモデル化します。

モデルの離散クルーズ コントローラーの入力端子に Car Dynamics の出力からの連続時間信号が存在するため、このコントローラーにはハイブリッドのサンプル時間があることに注意してください。

コントローラーの離散時間実行を適用するには、サブシステムを選択し、Simulink エディターの左下隅にある [領域] バッジをクリックして、[プロパティ インスペクター][実行] タブを開きます。

[実行領域の設定] パラメーターを有効にし、[領域][Discrete] に設定します。モデル ブロック線図を更新するか、モデルをシミュレーションします。

Discrete Cruise Controller Subsystem が離散になっていることに注意してください。

Car Dynamics の実行領域を [Deduce from Contents] に設定することもできます。Car Dynamics サブシステムは、ハイブリッド サンプル時間および [その他] 実行領域を受け取ります。必要に応じて、このサブシステムの Inport ブロックの [サンプル時間] パラメーターを 0 に設定します。

参考

| | |