Real-Time Workshop User's Guide | ![]() ![]() |
プログラムのタイミング
リアルタイムプログラムは、他のタスクの実行が発生する前にモデルコードの実行を終了することを保証するために、(割り込みまたはリアルタイムオペレーティングシステムタスクによって)注意深くタスク実行のタイミングを設定する必要があります。これは、外部ハードウェアとのデータのやりとりの時間を含みます。
サンプリング間隔は、タスク実行間のモデルコードの実行が可能な程度長くなければなりません。
上記の図で、2つの隣接する縦の矢印の間の時間がサンプリング間隔です。上の図の空のボックスは、1つのステップが時間内で終了するプログラムの例で、バックグランドタスクを行う時間があります。下の図のグレイのボックスは、サンプリング間隔が短いときに何が起こるかを示しています。タスクが終了する前に別のタスク実行が発生します。そのようなタイミングでは実行エラーになります。
リアルタイムプログラムが、永久に実行されるように設定されている場合(終了時間が0または無限大でwhileループから抜け出せない)は、シャットダウンコードは実行されません。
![]() | モデルの実行 | プログラムの実行 | ![]() |