Real-Time Workshop User's Guide | ![]() ![]() |
シングルタスク環境とマルチタスク環境
固定ステップSimulinkモデルを実行するには、シングルタスクとマルチタスクの2つの基本的な方法があります。Simulation ParametersダイアログボックスのSolverページのSolver optionsプルダウンメニューを使って、モデルの実行方法を指定します。デフォルトはauto
で、モデルが2つ以上の異なるレートを含む場合は、マルチタスクを実行します。そうでない場合は、シングルタスクを使います。
リアルタイムシステムでのモデルの実行は、リアルタイムオペレーティングシステムの補助により行われます。あるいはモデルが割り込みサービスルーチン(ISR)によって実行するOSのないボード上で行うことができます。
(UNIXまたはMicrosoft Windowsのような)システムはマルチタスクですが、プログラムがリアルタイムで実行されることを保証しません。これは、プログラムが、他の要求があったとき、別のプロセスが代わりに動作することを保証しないためです。
DOSでは、任意の時間に1つのプロセスしか存在できないので、割り込みサービスルーチン(ISR)は、プロセッサのコンテキストの保存や、モデルコードの実行、データの収集、プロセッサのコンテキストをリストアするステップを実行しなければなりません。
一方、Tornadoは、自動コンテキストスイッチとタスクスケジューリングを提供します。これは、ISRによる操作を簡略化します。この場合、ISRは、通常ブロック化されているモデルの実行タスクを可能にします。
図 7-1は、この違いを説明します。
この章では、ランタイムインタフェースがいつモデルを実行するかおよびその方法について説明します。モデル実行中に発生する事象については、「プログラムの実行」を参照してください。
![]() | 複数のサンプルレートをもつモデル | マルチタスクモデルの実行 | ![]() |