メインコンテンツ

Run external mode in a background thread

生成コード内のエクスターナル モード タスクをバックグラウンド スレッドで強制的に実行する

モデル コンフィギュレーション ペイン: [ハードウェア実行] / [Simulink または Embedded Coder のハードウェア サポート パッケージ] / [ハードウェア ボード設定] / [Target hardware resources] / [External mode]

説明

[Run external mode in a background thread] パラメーターを有効にすると、生成コード内のエクスターナル モード タスクがバックグラウンド スレッドで強制的に実行されます。

エクスターナル モードをモデル スレッドで実行すると、エクスターナル モードはモデルの各実行ステップの後に実行され、モデルの基本速度でデータを収集します。モデル コードが各タイム ステップのスレッド実行時間の多くを消費した場合、エクスターナル モードの実行は、次のタイム ステップにオーバーランします。このオーバーランにより次のモデル実行ステップの開始が遅延し、展開モデルのリアルタイム動作が損なわれます。

設定

disabled (既定値) | enabled

エクスターナル モードをバックグラウンド スレッドで実行するように構成できます。エクスターナル モードをバックグラウンド スレッドで実行すると、タイム ステップのモデル コードの終了から次のタイム ステップの開始までの間の時間に実行されます。モデル ステップを中断しないため、エクスターナル モードは、リアルタイムの実行が必要なシステムで使用できます。この構成により、ハードウェア ボード上に展開されたモデルが、スタンドアロン動作のような挙動を直接観測できるようになります。この図は、フォアグラウンド スレッドとバックグラウンド スレッドで実行しているエクスターナル モードの実行タイミングを示しています。

モデル コードが各タイム ステップの実行時間の多くを消費した場合、バックグラウンド スレッドのエクスターナル モードの実行時間が不足します。ハードウェア ボードからデータを収集してホスト コンピューターに送信するための十分な時間がない場合、データ パケットはドロップします。この場合、データ ログにギャップが発生します。

リアルタイム実行がデータ ログより優先される展開モデルでのデータ パケットのドロップを回避するには、エクスターナル モードをバックグラウンド タスクとして動作するように構成します。

メモ

Run external mode in a background thread パラメーターを有効にすることは、非常に小さなタイム ステップを使用するモデルや、タスク オーバーランが発生する可能性のあるモデルには推奨されません。このような状況は、Simulink® を応答不可な状態にしてしまう恐れがあります。

推奨設定

推奨なし。

プログラムでの使用

プログラムでの使用はできません。

バージョン履歴

R2014b で導入