| Real-Time Workshop User's Guide | ![]() |
操作の概要
つぎの擬似コードは、ERTメインプログラムの実行を示します。
main()
{
Initialization (初期化(rt_OneStepのリアルタイムクロックに対する
割り込みサービスルーチンとしてのインストールを含む)
While(not Error) and (time < final time)
バックグランドタスク
EndWhile
割り込みをマスク(rt_OneStepを実行不可能にする)
バックグランドタスクを終了
シャットダウン
}
擬似コードは、モデルを起動するためのハーネスプログラムに対する設計です。ert_main.c プログラムは、出荷時にはこの設計を部分的にしか実現しないので、変更する必要があります。
メインプログラムの変更のガイドライン
この節では、ハーネスプログラムを実現するためにert_main.cの製品バージョンで行う最小の変更について説明します。
model_initializeを呼び出した後、rt_OneStepをタイマISRとしてインストールします。注意
リアルタイムオブジェクトは、model_initializeが呼び出されるまで有効な状態ではありません。タイマ割り込みのサービスは、model_initializeが呼び出されるまで開始されません。 |
rt_OneStepの呼び出しを、バックグランドタスクの呼び出しまたはnullステートメントで置き換えます。マクロssGetErrorStatus, ssSetErrorStatusおよび ssSetStopRequestedを使って、エラーを検出、送信したり、実行を停止することができます。これらのマクロは、Writing S-Functionsマニュアルに記述されています。
| Overview | rt_OneStep | ![]() |