Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Document Type: Tutorial
NI Supported: Yes
Publish Date: Jul 5, 2009


Feedback


Yes No

Related Categories

Related Links - Developer Zone

Related Links - Products and Services

NI-VISAの概要

1 ratings | 2.00 out of 5
Read in | Print | PDF

Overview

このドキュメントでは、ナショナルインスツルメンツが実装したVISA(Virtual Instrument Software Architecture)APIの概要について記載されています。NI-VISAを使用すると、GPIB、USB、シリアル、イーサネットなどさまざまな計測器バスと通信することが可能になります。安定した使いやすいコマンドセットを使用して多種多様の計測器と通信が行えます。

歴史

この数年、業界では、計測に使用する製品をさまざまなベンダから購入する方向に変動しています。このトレンドによって、エンジニアはアプリケーションに最適な計測器を特定のベンダにこだわることなく選択しています。また、これに対応すべくSCPIのようなハードウェア規格を定義して、異なるベンダの計測器間での相互運用性を確保しています。

しかし、規格が存在しても実際に異なるベンダの製品を組み合わせてテストシステムを構築するには困難が伴います。ナショナルインスツルメンツは、1993年にGenRad、Racal Instruments、Tektronixなどの数社と共同でVXI plug&play Systems Allianceを設立しました。VXIは当時のモジュラー式計測器の規格です。このアライアンスの目的は、VXIシステムの複数ベンダ間の相互運用性を確立して複数ベンダの計測器を使用したシステム構築にかかる時間を縮小することです。VISAは、このアライアンスによってシステム構築の時間を縮小しながら生産性を向上させる目的で開発されました。

VISAを使用する利点

VISAを使用する利点の1つは、インタフェースの種類にかかわらず、同じ操作で計測器と通信するという点です。たとえばVISAがメッセージベース計測器に書き込むASCII文字列は、計測器がシリアル、GPIB、USBのどれでも同じものです。このため、VISAはインタフェースに依存せず通信できます。通常なら異なるインタフェースに対応するよう計測器のプログラムを作成しますが、1つのプログラムだけでインタフェースの切り替えが容易に行えます。

また、VISA関数を使用して書かれたプログラムもプラットフォームに依存せず容易に使用できます。これは、独自のデータタイプを定義することで実行されます。これによって、1つのプラットフォームから整数のサイズが異なる別のプラットフォームへ移行する際に起こる問題の発生などを防ぐことができます。つまり、VISAで書かれたLabVIEWアプリケーションは、LabVIEWをサポートしている他のプラットフォームでも使用できるということです。Windows XP/64、Windows 2000/ME/98、MacOS X/9/8、Linuxの一部のディストリビューション、Solarisの一部のディストリビューションがサポートされています。

VISAを使用する最大の利点は、プログラミング自体が大変簡単だという点です。VISA APIは、大変使い易く、ほとんどのI/O機能はバスの種類に影響されません。VISAでは、計測器で最も一般的に使用されている機能を大変コンパクトなコマンドセットにして提供してるので、複数のバスの下位レベル通信プロトコルを学ぶ必要性がありません。

VISAの技術

NI-VISAの使用を開始する前に、開発過程で一般的に使用される技術について簡単に学んでおくと後で役に立ちます。VISA言語で最も重要なオブジェクトは、リソースと呼ばれるものです。VISAリソースとは、システムに存在する任意の計測器(シリアルポートおよびパラレルポートを含む)を示します。1つのGPIBコントローラに複数のリソースが接続されている場合、それらの各計測器はVISAリソースとみなされます。

計測器デスクリプタは正確なリソース名で、インタフェースの種類(GPIB、シリアル、USBなど)、デバイスのアドレス(論理アドレスまたはプライマリアドレス)、およびVISAセッションタイプ(INSTR、Event、またはINTFC)を指定します。VISAセッションは、VISAリソースへの通信パスで、計測器とVISAで通信する場合は必ずVISAセッションを開く必要があります。VISAエイリアスとは、基本的にVISAリソースのニックネームのことです。たとえば、[GPIB0::3::INSTR]という計測器に「関数発生器」というVISAエイリアスを付けることができます。VISAエイリアスを設定すると、このアプリケーションでは計測器デスクリプタではなく「関数発生器」というエイリアス名に対して呼び出しを行うことができます。

VISAを使用した一般的アプリケーション

一般的なVISAアプリケーションでは、次の手順を行います。

1) 特定のリソースに対してセッションを開きます。
2) そのリソースの構成(ボーレート、終端文字など)を行います。
3) デバイスに書き込みと読み取りを行います。
4) セッションを閉じます。
5) 発生したエラーがあれば処理します。

下記ののLabVIEWアプリケーションは、GPIB計測器に対してセッションを開いて「*IDN?\n」の書き込みを行い、デバイスに応答をクエリしたものです。


[+] 画像を拡大

これと全く同じ形式がC++やVisual Basicなどのテキストベース言語でも行われています。また、シリアル、USB、イーサネット、IEEE 1394など、VISAがサポートする計測器であればすべてこれと同じ形式を使用します。変更するのはVISA Openに接続されている計測器デスクリプタだけです。このコードはLabVIEWとNI-VISAをサポートしているすべてのオペレーティングシステムで実行できます。

まとめ

NI-VISAは、テストおよび計測システムの開発時間を大幅に削減できるソフトウェアAPIです。開発者は、現在使用できるさまざまなバスを使用して、オペレーティングシステム上であらゆる計測器と通信できるコードを簡単に作成することができます。また、異なるプラットフォーム間およびバス間での移行が可能なコードを生成することができ、変更におけるコストもほとんどかかりません。これによって、1つのテストシステム上で数種類のバスを最もコスト効率よく使用できるバイブリッドシステムの構築が可能になります。

さらにNI-VISAは、リリースのたびに最新技術(イーサネットやFirewireなど)への対応をアップデートして、NI-VISAで開発されるシステムが最新のバス技術を使用できるようにしています。同時に、従来の技術も活用しながら現在求められているテストおよび測定システムの完全通信プロトコルを提供しています。

1 ratings | 2.00 out of 5
Read in | Print | PDF

Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).