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 | ![]() |