Portwell社R0 B0-8777VG2AでリアルタイムIO制御(1ms割り込み周期)

先日の記事で紹介したように

Portwell社ROBO-8777VG2AというCPUカードを搭載したパソコンに

以下のソフトウェア

・Windows XP Professional SP2

・IntervalZero社RTX 6.5.1 Runtime License

・Prime Motion社MOS Bench「モスベンチ」

をインストールする。

System

次に、以下のカードを入れる。

・Prime Motion社の8軸モーションカードを2枚

JOY-RT8CR 1枚

JOY-RT8S 1枚

・CONTEC社の128点INカードを2枚

・CONTEC社の128点OUTカードを2枚

・CONTEC社のCOM4chカードを1枚

・CONTEC社の16ビットAD16chカードを1枚

・CONTEC社の12ビットDAchカードを1枚

つまり、PCIカードを9枚挿入する。

次に、Prime Motion社MOS Bench(モスベンチ)の各種設定を行った後、MOS Bench(モスベンチ)の中のソフトウェア、MOTIWARE Service「モウティウア サービス」を起動すると、以下の画面が現れる。

Rtx_server

・設定割り込み周期が1000us(1ms)

・Prime Motion社のRT8C(マスターカード RT8CRのこと)

・Prime Motion社のRT8S(スレーブカード ID=#0)

そのほか、CONTEC社のカードが7枚、認識されて、MOTIWARE Serviceが立ち上がる。

次にPrime Motion社MOS Benchの中の

・MOTIWARE Manager(モウティウア マネジャー:管理ツール)

をdoctorモードで立ち上げて、Process timeのタブを押して、画面を開く。以下の画面が開く。

Photo

画面からわかるように、タイマ割り込み処理の、割り込み周期、割り込み処理時間が表示される。単位は100nsである。

・割り込み周期は、988.7usから1012.1us。±12usのジッタ。ジッタは約1%。

・割り込み処理時間は、99.8usから150.2us。平均101.3us。負荷率は約10%。

この割り込み処理の中で、

・16軸の現在位置とOTセンサやアラーム状態

・256IN入力データ、256OUT出力データ

・16chAD入力データ、4chDA出力データ

・4chのCOM内蔵FIFOバッファステータスフラグ

をポーリングしている。

下の画面のように、Windowsアプリケーション負荷として、1msサンプリングオシロスコープの波形グラフィック更新やプログラム実行行更新、標準出力更新をかけている。

この負荷状態なのに、101usで大量IOをスキャンしてしまう。

Core 2 DUO 1.8GHzをリアルタイムで使うと速いよね!

メモリは2GB搭載。

2_4