USB計測器との通信方法 使用ソフトウェア: Driver Software>>NI-VISA使用ソフトウェア・バージョン: 1.1 使用ソフトウェア・バージョンに特化: N/A 二次のソフトウェア: Utility Software>>Measurement & Automation Explorer
問題: NI-VISAを使用し、サードパーティーのUSBインターフェース計測器と通信しようと思っています。どのようにして、この計測器をMesurment&Automation Explorerで認識させ、通信することができますか? 解決策: NI-VISAは、USBTMCモードとRAWモードという2種類のUSB通信モードをサポートします。ご使用のUSBインターフェース計測器がどちらの通信モードに準拠しているかをご確認の上、ご使用下さい。お手持ちの計測機器がUSBTMCに準拠しているかどうかは、計測機器の取扱説明書等を参照してください。USBTMCに準拠していない場合は、全てRAWモードとなります。これら2種類の通信モードは、USB通信速度規格(1.0、1.1、2.0)とは別になります。
USBTMCモードの場合:
USBTMCは、USB Test & Measurement Classの略称で、GPIBのような通信をUSBデバイスと行うために、USBをベースに設計されたプロトコルです。ユーザからは、USBデバイスはGPIBデバイスのように動作しているように見え、例えば、VISA書き込み関数で*IDN?を送信し、VISA読み取り関数で情報を受信することが可能です。また、USBTMCプロトコルはサービスリスエスト(SRQ)、トリガ、そして他のGPIB特有の動作をサポートします。USBTMCにより、機器メーカは、VISAを用いた計測器ドライバや様々なアプリケーションなど既存のソフトウェアと互換性を維持したまま、物理層をGPIBからUSBに変更することが可能となりました。ここで注意しなければならないことは、全てのUSBデバイスがUSBTMCに準拠しているわけではないということです。機器メーカは、USBTMCに対応するために、USBデバイスのファームウェアをアップデートしなければなりません。USBポートをもつDMMやオシロスコープのような従来の計測機器は、USBTMCに対応する可能性が極めて高いと考えられます。
NI-VISAは、USBTMCに準拠したデバイスを認識するように構成されており、NI-VISA 3.0以降のバージョンでは、USBTMCに準拠したデバイスとコントローラとして通信することが可能になりました。そのため、計測器がUSBTMC準拠である場合、その計測器のドライバとしてNI-VISAを使用することができますが、計測器専用(あるいは付属)のドライバがインストールされている場合、1つのハードウェアに対して同時に2つ以上のドライバを使うことはできないため、計測器専用のドライバがPCにインストールされている限りNI-VISAがドライバとして割り当てられず、この計測器はMeasurement & Automation Explorer(MAX)からは表示されません。計測器専用のドライバをアンインストールしてからNI-VISAをインストールし、下記の通り計測器を認識させて下さい。
Windowsの場合
初めにUSBデバイスをUSBポートに差し込み、WindowsOSに新しいデバイスとして検出させます。その後、新しいハードウェアウィザードが立ち上がり、NI-VISAドライバを探します。NI-VISAが正常にインストールされている場合には、USB機器はUSB Test & Measurementクラスデバイスとして認識されます。MAXを開くと、デバイスとインターフェース≫ USB デバイスの下に当該デバイスが表示されます。
MacintoshやLinuxの場合
USBデバイスをUSBポートに差し込むと、NI-VISA 3.2以降のバージョンが正常にインストールされている場合には、USB Test & Measurementクラスデバイスとして認識されます。VisaConfigアプリケーションを立ち上げると、デバイスはUSBリソースの下に表示されます。
USB計測器を認識させると、このリソース名を使用し、GPIBリソースと同様に開発環境から呼び出すことが可能になります。リソース名の構文についての詳細は、下記リンクにあるNI-VISA Programmer Reference Manual Chapter 5, OperationsのviOpenの記述を参照してください。
USBTMCデバイスを検討している場合には、NI-Device プラス 1.4以降のバージョンとPCI-8215をご検討下さい。詳細は、下記リンクから参照いただけます。
USB RAWモードの場合:
USB RAWモードは、USBの低レベル通信メカニズムにアクセスすることが可能です。VISAは既に仕様上で定められたメカニズムを利用しやすくするものなので、ユーザはUSBの仕様及びUSBのプログラミング法を予めご承知していることが前提となります。NI-VISA USBのRAWモードは、割り込み、バルク、コントロールデータ転送をサポートしますが、アイソクロナス転送(等時転送)はサポートしておりません。USBTMCモードに準拠していない場合は、USB RAWモードに該当します。
NI-VISAのUSB RAWモードでのUSB機器との通信方法は計測器の仕様にかなり依存し、USB機器の構造に関するより深い知識が必要です。その意味で、NI-VISA PXIサポートを用いたレジスタレベルプログラミングに類似しています。NI-VISAは機器への通信チャネルを提供しますが、データの意味は機器の仕様に依存します。
RAWモードで計測器と通信を行うには、まず始めに、WindowsでUSB機器を認識させ、NI-VISAがUSB機器のドライバとなるように設定します。Windowsではこの設定を行うために.infファイルを使用します。この.infファイルにはUSB機器固有のベンダID及びプロダクトIDと、そのUSB機器を操作する為のドライバが含まれています。パソコンにプラグ&プレイUSB機器を差し込むと、Windowsはデバイス情報を読み込み、読み込んだベンダID及びプロダクトIDから該当する.infファイルを検索します。該当する.infファイルを見つけると、Windowsは.infファイルに登録されているドライバを装置と関連させます。
1.NI-VISAでUSB計測器と通信するには、前述の通りNI-VISAドライバとUSB計測器を関連させる.infファイルを作成する必要があります。その際に必要となるUSB機器のベンダID及びプロダクトIDは、USBViewというツールを使用して確認することができます。Windowsを使用している場合は、以下に添付されているusbview.zipを展開し、中の実行ファイルを起動させてください。USBViewウィンドウの左側で接続されているデバイスを選択し、右側でデバイス情報を参照してください。(添付の画像ファイルVendorID&ProductID2.gifをご参照下さい。) idVendorとidProductの0xで始まる数値がベンダIDとプロダクトIDです。NI-VISAに搭載しているDevice Driver Development Wizardというユーティリティを使用すると、この2つのIDを入力するだけで、自動的に.infファイルの作成が可能です。(その際はIDの「0x」ヘッダも必要です。)
Device Driver Development Wizardのご使用方法は下記関連リンクのチュートリアルをご参照下さい。
2.Windows2000/XPの場合は、前手順にて作成したinfファイルをSYSTEM_DIR\infディレクトリに移動します。SYSTEM_DIR\infは隠されたディレクトリです。WindowsVistaの場合は、infファイルを右クリックし、インストールを選択してください。インストール後、USB計測器を接続すると、Windowsがハードウェア認識ウィザードを開始し、NI-VISAが計測器のドライバとして表示されるはずです。NI-VISAがドライバとして割り当てられ、インストールが終了しましたら、USB計測器がMAXで妥当なリソース名で表示されるはずです。
3.この操作以降、VISAのUSB関数(viUsbControlIn、viUsbControlOut)が利用できます。この関数によってUSB機器のコントロールパイプにアクセスができます。全てのUSB装置はデフォルトでコントロールパイプが搭載されています。VISAプロパティを使用し、USB装置との通信の設定を行います。USBの特性VISAプロパティの詳細について、NI-VISA Programmer Reference Manualをご参照下さい。
NI-VISAはUSB機器の開いた終点をスキャンします。割り込みまたはバルクパイプの為に開いた終点がある場合、各パイプの終点属性値に、開いた最低終点が表示されます。終点属性値が-1であれば、そのパイプには開いた終点がないことを意味します。この終点に以降に接続される機器の通信設定は、このUSB機器の設定仕様になります。 関連リンク: NI-VISA Programmer Reference Manual NI PCI-8215 USBポート搭載シングルボードGPIBトーカ/リスナ What is USBTMC and How Can I Communicate with my USB Instrument? How Can I Communicate With a Device Using NI-VISA USB Raw Mode? Why is NI-VISA Unable to Control my USB Device? チュートリアル : USB Instrument Control Tutorial 添付:
報告日時: 06/25/2007 最終更新日: 05/11/2008 ドキュメントID: 4AOI7PYY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
