RTMATXでは,PC9801やIBM PC互換機のインターバルタイマからの割り込み により次の3つの処理を行なう。[23]
プログラムは,まず,処理3(変数の表示,キーボードからの入力待ちなど)を 行なっている。タイマからの割り込みがかかると,処理3を中断して処理1 (RTMATX内部での割り込み処理)を行ない,処理2(センサ処理,制御則の計算, アクチュエータ処理など)が終了しているかどうか調べる。終了していない場合 には,タイマ割り込みを停止し,タイムアウトエラーを発生する。終了している 場合には,処理2を行なう。処理2が終わると処理3の続きを行なう。したがっ て,処理2はサンプリング時間毎に行なわれる。
注意
インターバル・タイマによる割り込みは,タイマのカウンタに値を設定することで
実現しているので,カウント・クロックの整数倍以外のサンプリング時間を用い
るとsecのオーダで誤差が生じるので,注意する必要がある。
後述するサンプリング時間を設定する関数rtSetClock()は実際に行なわれる
割り込みのサンプリング時間を返すので,制御器の離散化などには,この値を
用いる方が良い。
注意
DJGPPを用いた現在のRTMATXでは,タイムアウトエラーが発生すると システムがハングアップすることがある。したがって,短すぎるサンプリング 時間を設定してはならない。