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

非同期サポートの確認事項

非同期タスクの優先度

Simulink® 製品では、非同期タスクの動作はシミュレートされません。Task Sync ブロックをもつモデルで表された非同期タスクのタスク優先度は指定できますが、優先度の設定は、コードの生成のみが目的で、シミュレーション中には適用されません。

非同期サブシステムのモデル参照への変換

Asynchronous Task Specification ブロックを使用すると、モデル参照への非同期関数呼び出し入力を指定できます。ただし、Async Interrupt ブロックと Function-Call ブロックをサブシステムに変換し、そのサブシステムをモデル参照に変換しなければなりません。

以下に変換のステップごとの手順を含む例を示します。

  1. Async Interrupt ブロックと Count ブロックをサブシステムに変換します。両方のブロックを選択し、Count を右クリックします。メニューから、[サブシステムとモデル参照][選択からサブシステムを作成] を選択します。

  2. 新しいサブシステムの Model ブロックへの変換の準備のために、最上位モデルで次のコンフィギュレーション パラメーターを設定します。[コンフィギュレーション パラメーター] ダイアログ ボックスを開きます。

    • [診断] で [サンプル時間] ペインに移動します。次に、モデル コンフィギュレーション パラメーター [マルチタスク レート変換][エラー] に、[マルチタスクの条件付き実行サブシステム][エラー] に設定します。

    • [診断][接続性] ペインに移動します。パラメーター [ベクトルとして扱われるバス信号] および [無効な関数呼び出し接続][エラー] に設定します。さらに、[コンテキスト依存の入力][すべて有効] に設定します。

    • [診断][データ有効性] ペインに移動し、パラメーター [マルチタスク データ ストア] [エラー] に設定します。

    • モデル コンフィギュレーション パラメーター [指定不足の初期化の検出][簡易] に設定します。

    • モデルが大きい場合や複雑な場合は、簡易初期化モードへの移行の概要 (Simulink)フォルダーでモデル アドバイザー チェックを実行し、推奨された変更を加えます。

  3. サブシステムを Atomic Subsystem に変換します。サブシステム ブロック パラメーター [Atomic サブシステムとして扱う] を選択します。

  4. サブシステムを Model ブロックに変換します。サブシステムを右クリックし、[サブシステムとモデル参照][サブシステムの変換先][参照モデル] を選択します。Model Reference ブロックを含むウィンドウが開きます。

  5. 最上位モデルのサブシステムを新しい Model Reference ブロックで置き換えます。

  6. Async Interrupt ブロックをモデル参照から Model Reference ブロックの前の最上位モデルに移動します。

  7. モデル参照に Asynchronous Task Specification ブロックを挿入します。Asynchronous Task Specification ブロックの優先順位を設定します(優先順位の設定の詳細は、Asynchronous Task Specificationを参照してください)。

  8. モデル参照で、入力端子をダブルクリックして [Source ブロック パラメーター] ダイアログ ボックスを開きます。[信号属性] タブで、[関数呼び出しの出力] パラメーターを選択します。[OK] をクリックします。

  9. モデルを保存してからブロック線図を更新し、設定を確認します。

関連するトピック