Main Content

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

Simulink へのタスクのパラレル化の実装

次の例は、タスクのパラレル化を Simulink® モデル内のシステムに実装する方法を示しています。モデルは、入力、同じ入力に適用された機能コンポーネント、連結された出力で構成されます。タスクのパラレル化の詳細については、パラレル化のタイプを参照してください。

同時実行用にモデルを設定します。完成したモデルを見るには、ex_task_parallelism_top を開きます。

  1. このモデル内の領域を参照モデルに変換します。同じ参照モデルを使用して、入力を処理する各機能コンポーネントを置き換えます。次の図は、サンプル コンフィギュレーションを示しています。

  2. 最上位モデルのモデル コンフィギュレーション パラメーターを開きます。[MAT ファイルのログ] チェック ボックスをオフにします。

  3. [ソルバー] ペインで、[タイプ][固定ステップ] に設定し、[適用] をクリックします。また、[周期的なサンプル時間の制約][制約なし] に設定されていることを確認します。[追加オプション] で、[ターゲット上でタスクの同時実行を許可] を選択し、[タスクの構成] をクリックします。

  4. [同時実行] ダイアログ ボックスの右側のペインで、[同時実行用に明示的なモデル分割を有効にする] チェック ボックスをオンにします。明示的な分割を使用することにより、モデルを手動で分割できます。

  5. 選択ペインで、[CPU] を選択します。[タスクの追加] を 3 回クリックし、新しいタスクを追加します。

  6. 選択ペインで、[タスクとマッピング] を選択します。作成したタスクに分割をマッピングするには、[タスクにブロックをマッピング] ペインで次を行います。

    • [Block: Input][select task] をクリックし、[Periodic: Task] を選択します。

    • [Block: Function 1] で、[Periodic: Task1] を選択します。

    • [Block: Function 2] で、[Periodic: Task2] を選択します。

    • [Block: Output] で、[Periodic: Task] を選択します。

    InputOutput モデル ブロックは 1 つのタスク上にあります。各機能コンポーネントは個々のタスクに割り当てられます。

  7. 選択ペインで、[データ転送] を選択します。[データ転送オプション] ペインで、パラメーター [周期信号][Ensure deterministic transfer (minimum delay)] に設定します。[適用] をクリックして、[同時実行] ダイアログ ボックスを閉じます。

  8. これらのコンフィギュレーション パラメーターをすべての参照モデルに適用します。詳細については、コンフィギュレーションの複数のモデル間での共有を参照してください。

モデルを更新し、個別のモデル ブロックにマッピングされたタスクを確認します。

関連する例

詳細