Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

同時実行タスク間でのデータ転送設定の構成

データ依存性は、信号が 1 つの分割の 1 つのブロックから発し、別の分割のブロックに接続される場合に生じます。並列処理に有利な条件を作成するために、Simulink® には、同時実行する分割間でのデータ転送の処理に関する複数のオプションが用意されています。これらのオプションを使用すると、次のように数値の信号遅延は計算のレイテンシとトレードオフの関係になります。

タスク間の通信を定義するには、[データ転送オプション] ペインを使用します。[信号プロパティ] ダイアログ ボックスの [データ転送] タブで、[グローバル設定を使用] オプションに値を設定します。この表では、システムでのデータ転送を必要とする各信号に適用できるモデルレベルのオプションを示しています。

データ転送オプション

目的データ転送タイプシミュレーション展開
  • 並列処理に有利な条件を作成します。

  • 信号レイテンシを削減します。

Ensure data integrity only

データ転送は 1 ステップ遅延を使用してシミュレートされます。

Simulink Coder™ はデータ転送中の整合性を確保します。Simulink は、最大の応答性とデータの整合性で動作するコードを生成します。ただし、実装で割り込みが発生し、データ転送中にデータが失われる可能性があります。

確定的な実行スケジュールを使用して、展開環境で確定性を実現します。

  • 並列処理に有利な条件を作成します。

  • 生成されたコードの実行ごとに繰り返される数値結果を生成します。

Ensure deterministic transfer (maximum delay)

データ転送は 1 ステップ遅延を使用してシミュレートされ、数値結果に影響する可能性があります。これを補うには、これらの遅延要素に対する初期条件を指定しなければならない場合があります。

Simulink Coder はデータ転送中の整合性を確保します。さらに、Simulink Coder によってデータ転送がシミュレーションと同一になることが確保されます。
  • データ依存性を強制します。

  • 生成されたコードの実行ごとに繰り返される数値結果を生成します。

Ensure deterministic transfer (minimum delay)

データ転送は同じステップ内で行われます。

また、[信号プロパティ] ダイアログ ボックスの [データ転送] ペインを使用して、これらのオプションを信号ごとにオーバーライドすることもできます。詳細については、同時実行に対するデータ転送オプションを参照してください。

たとえば、T 感覚データを読み込むコントローラーが T+Δ 時にアクチュエータに対する制御信号を生成しなければならない制御アプリケーションについて考えてみます。

  • 逐次アルゴリズムがタイミング期日を満たす場合、オプション 3 の使用を検討してください。

  • 組み込みシステムで確定的スケジュールが提供される場合、オプション 2 の使用を検討してください。

  • それ以外の場合は、オプション 1 を使用して信号遅延を導入し、並列処理に有利な条件を作成します。

連続信号の場合、Simulink は外挿法を使用して、データ転送の遅延と不連続点を原因とする数値エラーを補正します。

[Ensure Data Integrity Only] のデータ転送と [Ensure deterministic transfer (maximum delay)] のデータ転送用に構成されている信号で数値誤差を回避するために、初期条件を指定しなければならない場合があります。この初期条件は、[信号プロパティ] ダイアログ ボックスの [データ転送] タブで指定できます。このダイアログ ボックスにアクセスするには、信号線を右クリックして、コンテキスト メニューの [プロパティ] を選択します。次の図のようなダイアログ ボックスが表示されます。

  1. データ転送オプションに基づいてタスクの通信方法を決定します。

  2. [同時実行] ダイアログ ボックスで、[既定のデータ転送] を選択して、手順 1 の設定を適用します。

  3. 変更を適用します。

関連するトピック