07-09-2014 12:07 AM
USB-6501(デジタルIO)をVISAで制御したいと思っています。USB-RAW機器をVISAから見えるようにするため、Driver Wizardで生成したINFファイルをインストールして認識まで出来ているようなのですが、その後の具体的なVISA経由の設定やコマンドが分かりません。サンプルコードも探しましたが、USB-RAW機器をVISA経由で制御するサンプルが見つかりませんでした。USB-6501(デジタルIO)の具体的な制御方法を教えて頂けないでしょうか?使用している開発環境はVisual Basic 2013です。
07-10-2014 12:45 AM
こんにちは。
すでにご存知かもしれませんが、こんなウェブサイトがありました。
Figure 3 の下に選択できるプロパティは自動的に表示されるみたいなことが書かれてます。
もし自動的に表示されないのであれば、その下に設定可能なコマンドについてはメーカーに問い合わせてくださいとの表記もあるので、
NI さんに問い合わせてみるのもいいかもしれませんね。
すでにVisual Basic 2013で使用可能なDAQmxのドライバもあるので、教えてくれるかわかりませんが。
ちなみにどういった理由でVISA 制御をしたいんですか。
07-10-2014 06:26 AM
ご返信ありがとうございます。
ご指摘いただいたWebはすでに見ており、VISAから見えるまでは出来ています。詳しいコマンドはNIさんに
聞くしか無いと思われるのですが、サポート契約をしていませんので、直接質問出来ないのです。。。
VISA経由で制御する目的はオリジナルのシーケンサソフトを作っているためです。例えば以下のような
テキストを読ませる事で、異なるインターフェースの測定器を制御して、データ収集やトレンドグラフの
作成が出来ます。相手のインターフェースが変わる事で書き換える必要があるのは、visa.openで
指定するアドレス文字列だけです。新しい案件のたびにソフト開発するのに違和感を覚え、少なくとも
単純な制御であれば、テキストの書き換えだけで対応したいと思い、「BASICインタープリタもどき」を
作って、それに制御の機能までインプリしようとしています。
visa.init()
visa.open(inst0,"GPIB0::2::INSTR") ’GPIB測定器オープン
visa.open(inst1,"ASRL1::INSTR") 'RS232Cの測定器オープン
visa.open(inst2,"USB0::0x3923::0x718A::019777F9::RAW") 'USBの測定器オープン
visa.send(inst1,"A1,OV1.8") 'RS232Cの測定器に設定送信
for i=0 to 100
visa.send(inst0,"E") ’GPIB測定器に測定開始指示
data1 = visa.rcv(inst0) ’GPIB測定器から測定値リード
trend.plot(data1,true) 'トレンドグラフにプロット
meas.wait(500) '500ms待ち
next i
visa.send(inst1,"A1,OV0.0") 'RS232Cの測定器に設定送信
end
現在GPIBとRS232C経由の制御までは出来ているのですが、厄介なのはVISA非対応のDAQで、
ご指摘のWebのようにUSB-RAWでVISAから見えるようになる所まで出来た状況です。
07-20-2014 07:59 PM
そういう使用方法もあるんですね、勉強になりました。
NI I/O Trace というNI 製のソフトを使えばVISA通信に使われるコマンドが監視できるんですが、
DAQ にもVISA のコマンドが使用されているか微妙なところですね。
そしてコマンド表というよりもリバースエンジニアリングみたいになるので手間ですが。
ちなみにサポートは試用期間という形で一ヶ月間無料で受けることができるらしいので、試しに聞いてみてはどうですか。
07-22-2014 12:09 AM
メッセージ有難うございます。
実は前回のコメントを頂いた後、NI I/O Trace で通信データをモニタしようと試してみたのですが、それ以前の問題として、NIさんのツール(ex.VISA Interactive Control など)でVISA.RAWで認識されているUSB-6501に送信しても、エラーで返事が返って来ません。VISA経由でUSB通信するためのパラメータ設定が正しくないのだと思うのですが、やはり素人が適当にいじるだけでは改善出来ませんでした。結局、VISA以外にDAQmxでの制御機能も追加して対応しております。もしかすると、InterfaceとしてはVISA経由でUSBへアクセスするルートは開いていても、USB-6501のファームとして対応していないのかもしれないとも思うのですが、このへんでギブアップです・・・