WindowsでモータやディジタルIO、DAコンバータなどのPCIカードを制御したいときは、どのようにしますか?CONTEC社等から、これらのPCIカードを購入して、Visual Basic等で制御のプログラムを書くのではないでしょうか?
そのプログラムを実行したとき、何かうまく動いていないということは、経験したことがありませんか?「Windowsがなにかやっている」、という感じを持ったことはありませんか?
下段の波形は、5ms毎、ディジタルOUTをON,OFFするプログラムを実行した波形です。5msが実現できていないし、ばらつきも大きいです。
上段の波形は、同じく、5ms毎、ディジタルOUTをON,OFFするプログラムを実行した波形です。きちんと、正確にON,OFF動作しています。
何が違うのか?
上段の波形は、Windowsをリアルタイム拡張しています。Ardence社(アーデンス)のRTXというソフトをインストールすると、Windowsをリアルタイムにできます。つまり、「ユーザのプログラム」をWindowsに先立って、最優先に実行できます。
しかし、「ユーザのプログラム」をどのように作るか?が大問題なのです。プログラミングのプロなら問題ありません。Ardence社のRTX-SDKというリアルタイム用のユーザプログラム開発環境を購入して、「ユーザのプログラム」を一からつくれば、よいのです。
でも、プログラミングのプロではない人は、困ります。
「モーションおやじ」に、アイディアがあります。
プログラミングのプロがRTX-SDKで作った「ユーザのプログラム」が、プログラミングのプロでない人が作った「モータやIO、DAのプログラム」を実行すればよいのです。2階建てになります。
このプログラミングのプロがRTX-SDKで作った「ユーザのプログラム」は、「リアルタイムインタープリタ」です。プログラミングのプロでない人が作った「モータやIO、DAのプログラム」を「リアルタイムインタープリタ」で実行したのが、先ほどの上段の波形です。
この「リアルタイムインタープリタ」は「MOS Bench(モスベンチ)」として、製品化されています。