Real-Time Workshop User's Guide    

複数のサンプルレートをもつモデル


はじめに

Simulinkブロックは、サンプル時間に従って、定数、連続時間、離散時間、継承、変数に分類できます。各タイプの例は、つぎのようになります。

「接続されるブロックから継承」カテゴリのブロックのサンプル時間は、それらを扱うブロックのサンプル時間と仮定します。Simulinkブロックは、明示的ならば連続または離散ブロック(連続ブロックは0のサンプル時間をもちます)としてサンプル時間をもち、暗示的ならば継承されるブロックとしてサンプル時間をもちます。

Simulinkを使って、サンプル時間が異なるブロックを接続したモデルを制限なしに作成できます。そのため、モデル内でサンプル時間が異なるブロックをもつことができます(混合レートシステム)。複数のサンプル時間を使う利点の1つは、マルチタスクのリアルタイム環境での実行のとき、効率が改良されることです。

Simulinkは、マルチレートシステムを作成する上で柔軟性があります。しかし、この柔軟性のために、コードジェネレータはマルチタスク環境下で実行するための正しいリアルタイムコードを生成できないモデルを作成します。これらのモデルをリアルタイムで正確に実行させるには(正しい答えを与えるには)、モデルを修正しなければなりません。一般的に、修正は、Unit DelayおよびZero Order Holdブロックを異なるサンプルレートをもつブロックの間に置くことです。つぎの節では、マルチタスク環境でレートの異なるモデルを使うときに注意しなければならない点について説明します。


 組み込みプログラムの枠組み シングルタスク環境とマルチタスク環境