« モーションおやじの毎日ブログ4年目に入りました。 | トップページ | 今日はカッターで手を切って2針縫いました »

2011年1月10日

RtAttachInterruptVectorエラーはIRQ独占できていない現象です

RtAttachInterruptVectorエラーはIRQ独占できていない現象です。

先日の記事、

http://robotcontroller.cocolog-nifty.com/blog/2011/01/rtattachinterru.html

で、USB Controllerを無効にして、IRQ(割り込み要求)番号を独占する例を示しました。

★ここで、注意があります。

USB Controllerのように、簡単に無効にできるデバイスと、できないデバイスがあります。

見た目は、デバイスが無効になっているのですが、中身はデバイスが無効になっていなくて、IRQ独占できていないということがあります。

きちんと無効にしやすいデバイスとしては、

・USB Controller

・Ethernet Controller (Network Connection)

・COM Port

・Audio

があります。

きちんと無効にできないことがあるデバイス

・SMBus Controller

他にもあると思います。

具体例を示します。

Epson Direct(エプソンダイレクト)の少し古いミニタワーパソコンEndeavor-MT7700を用意しました。

PCIスロットが3本あります。

そこにPCIカードを3枚入れました。

Mt7700_pcislot

PCの底面に近いスロット「PCI3」に

CONTEC社COM-2(PCI)H

その上のスロット「PCI2」に

CONTEC社PIO-16/16L(PCI)H

さらにその上のスロット「PCI1」に

プライムモーション社のモーションカードJOY-RT8CR

を差して、パソコンを起動し、

それぞれのカードのドライバをインストールします。モーションカードJOY-RT8CRには、IntervalZero社のRTXドライバを割り付けます。

デバイスマネージャを開きます。

表示-リソース(接続別)の画面です。

Rt8_3_2

(PCI)3の割り込み要求(IRQ)に

Rtx PnP and Power Management Device があります。

これは、プライムモーション社のモーションカードJOY-RT8CRです。

ところが、(PCI)3でSMBus Controller - 27DA

とぶつかっています。すなわち、IRQ独占できていません。

それで、このSMBus Controller - 27DAを無効にします。

そうすると、以下の画面になります。

念のため、いったんPCを再起動して、この画面をみてください。 

Rt8_3b

(PCI)3の割り込み要求(IRQ)を

Rtx PnP and Power Management Device 独占できているように見えます。

しかし、

デバイスマネージャの表示-デバイス(種類別)でみると、以下のようにRtx PnP and Power Management Deviceに「!」マークが付いて、正常に動作していないことがわかります。

Rt8_3c_3

それで、どうしたら良いか?と言うと、

このPCIカードの挿入順番が良くないので、

違う順番にします。

上記の実験で、

PCの底面に近いスロットから

「PCI3」:CONTEC社COM-2(PCI)H

「PCI2」:CONTEC社PIO-16/16L(PCI)H

「PCI1」:プライムモーション社のモーションカードJOY-RT8CR

の順番では、IRQ独占できないことがわかりました。

モーションカードは「PCI1」でした。

それでは、

モーションカードの位置を変えて、「PCI3」に入れてみます。

PCの底面に近いスロットから

「PCI3」:プライムモーション社のモーションカードJOY-RT8CR

「PCI2」:CONTEC社PIO-16/16L(PCI)H

「PCI1」:CONTEC社COM-2(PCI)H

と差します。

Rt8_1

いきなり、(PCI)17を独占できました。

次に

モーションカードの位置を変えて、「PCI2」に入れてみます。

PCの底面に近いスロットから

「PCI3」:CONTEC社PIO-16/16L(PCI)H

「PCI2」:プライムモーション社のモーションカードJOY-RT8CR

「PCI1」:CONTEC社COM-2(PCI)H

と差します。

Rt8_2

いきなり、(PCI)10を独占できました。

■まとめ

パソコン底面から一番遠いPCIスロット「PCI1」のみが、IRQ独占できないスロットです。

注意:モーションカード以外のカードが実験で使用したカードと異なるカードになると、結果が変わる可能性があります。

■Link: 「高性能制御を簡単に、みんなに!」  

プライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

プライムモーション社(RTEXとパルスの16軸マルチタスクコントローラ)

プライムモーション(RTEXとパルス列のマルチプロセスコントローラ)

|

« モーションおやじの毎日ブログ4年目に入りました。 | トップページ | 今日はカッターで手を切って2針縫いました »

技術Windowsでリアルタイム制御」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« モーションおやじの毎日ブログ4年目に入りました。 | トップページ | 今日はカッターで手を切って2針縫いました »