WindowsでリアルタイムIO制御

Dout_5ms12 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(モスベンチ)」として、製品化されています。