このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
Simulink へのタスクのパラレル化の実装
次の例は、タスクのパラレル化を Simulink® モデル内のシステムに実装する方法を示しています。モデルは、入力、同じ入力に適用された機能コンポーネント、連結された出力で構成されます。タスクのパラレル化の詳細については、パラレル化のタイプを参照してください。
同時実行用にモデルを設定します。完成したモデルを見るには、ex_task_parallelism_top を開きます。
このモデル内の領域を参照モデルに変換します。同じ参照モデルを使用して、入力を処理する各機能コンポーネントを置き換えます。次の図は、サンプル コンフィギュレーションを示しています。
最上位モデルのモデル コンフィギュレーション パラメーターを開きます。[MAT ファイルのログ] チェック ボックスをオフにします。
[ソルバー] ペインで、[タイプ] を
[固定ステップ]
に設定し、[適用] をクリックします。また、[周期的なサンプル時間の制約] が[制約なし]
に設定されていることを確認します。[追加オプション] で、[ターゲット上でタスクの同時実行を許可] を選択し、[タスクの構成] をクリックします。[同時実行] ダイアログ ボックスの右側のペインで、[同時実行用に明示的なモデル分割を有効にする] チェック ボックスをオンにします。明示的な分割を使用することにより、モデルを手動で分割できます。
選択ペインで、[CPU] を選択します。[タスクの追加]
を 3 回クリックし、新しいタスクを追加します。
選択ペインで、[タスクとマッピング] を選択します。作成したタスクに分割をマッピングするには、[タスクにブロックをマッピング] ペインで次を行います。
[Block: Input] で
[select task]
をクリックし、[Periodic: Task]
を選択します。[Block: Function 1] で、
[Periodic: Task1]
を選択します。[Block: Function 2] で、
[Periodic: Task2]
を選択します。[Block: Output] で、
[Periodic: Task]
を選択します。
Input と Output モデル ブロックは 1 つのタスク上にあります。各機能コンポーネントは個々のタスクに割り当てられます。
選択ペインで、[データ転送] を選択します。[データ転送オプション] ペインで、パラメーター [周期信号] を
[Ensure deterministic transfer (minimum delay)]
に設定します。[適用] をクリックして、[同時実行] ダイアログ ボックスを閉じます。これらのコンフィギュレーション パラメーターをすべての参照モデルに適用します。詳細については、コンフィギュレーションの複数のモデル間での共有を参照してください。
モデルを更新し、個別のモデル ブロックにマッピングされたタスクを確認します。