NI-​VISA​の​概要

概要

この​ドキュメント​では、​National Instruments​が​実装​した、​VISA(Virtual Instrument Software Architecture)​API、​NI-​VISA​の​概要​について​記載​さ​れ​てい​ます。


​NI-​VISA​は、​LabVIEW、​LabVIEW NXG、​LabWindows/​CVI、​Measurement Studio​など、​National Instruments​の​アプリケーション​開発​環境​で​イーサネット/​LXI、​GPIB、​シリアル、​USB、​PXI、​VXI​計測​器​を​制御​する​プログラミング​インタフェース​を​提供​する​API​です。​API​は、​NI-​VISA​ドライバ​を​介​し​て​インストール​さ​れ​ます。

 

内容

VISA​の​特長

NI-​VISA​が​推奨​さ​れる​理由​として、​主に​以下​の​3​つ​の​利点​が​あり​ます。

1.  インタフェース​の​独立性

NI-​VISA​では、​インタフェースのタイプにかかわらず、​計測​器​の​通信​の​際​は​同じ​操作​で​通信​する​こと​が​でき​ます。​これ​により、​インタフェース​の​切り替え​が​容易​に​なり、​1​つ​の​言語​を​使用​し​て​複数​の​さまざま​な​計測​器​の​詳細​を​知る​こと​が​でき​ます。​たとえば、​VISA​が​メッセージ​ベース​計測​器​に​書き込む​ASCII​文字​列​は、​計測​器​インタフェース​が​シリアル、​GPIB、​USB​の​どれ​でも​同じ​もの​です。

2.   プラットフォーム​の​移植性

NI-​VISA​は、​VISA​関数​呼び出し​を​使用​し​て​記述​さ​れ​た​プログラム​が​プラットフォーム​間​を​移動​できる​よう​設計​さ​れ​てい​ます。​これ​は、​独自​の​データタイプ​を​定義​する​こと​で​実行​さ​れ​ます。​これ​により、​アプリケーション​は​さまざま​な​プラットフォーム​間​で​一貫​した​実行​が​保証​さ​れ​ます。​したがって、​LabVIEW​で作成された​VISA​アプリケーション​は、​LabVIEW​に​対応​する​プラットフォーム​に​簡単​に​移植​でき​ます。​NI-​VISA​は、Windows OS​バージョン、​MacOS​バージョン、​Linux​ディス​トリ​ビュ​ー​ション​など、​複数​の​オペレーティングシステム​に​対応​し​てい​ます。

3.   使い​やすさ

NI-​VISA​は​非常​に​簡単​に​習得​できる​インタフェース​です。​ほとんど​の​I/​O​機能​に対して、​バス​の​種類​に​影響​さ​れ​ない​API​が​提供​さ​れ​てい​ます。​計測​器​で​特に​多く​使用​さ​れ​て​いる​機能​を​コンパクト​な​コマンド​セット​にし​て​提供​し​て​いる​ので、​複数​の​インタフェース​タイプ​の​下位​レベル​通信​プロトコル​を​学ぶ​必要​は​ありま​せん。

VISA​の​技術

NI-​VISA​の​使用​を​開始​する​前​に、​開発​過程​で​一般​的​に​使用​さ​れる​用語​について​簡単​に​学​んで​おく​と​後で​役​に​立ち​ます。

VISA​リソース

VISA​リソース​と​は、​システム​内​の​計測​器​を​指し​ます。​1​つ​の​ホスト​に​複数​の​計測​器​が​接続​さ​れ​て​いる​場合、​各​計測​器​が​VISA​リソース​と​見​な​さ​れ​ます。​リソース​と​は、​計測​器​の​機能​セット​の​完全​な​記述​です。

​VISA​リソース​タイプ​は、​計測​器​によって​異​なり​ます。​いくつか​の​タイプ​が​あり、​INSTR、​SOCKET、​RAW​など​です。

VISA​リソース​名​(計測​器​デスクリプタ)

VISA​リソース​名​は、​VISA​リソース​の​正確​な​名前​です。​これ​は​計測​器​インタフェース​タイプ、​計測​器​アドレス、​および​VISA​セッション​タイプ​を​指定​し​ます。​VISA​リソース​名​コントロール​は、​開発​環境​の​計測​器​と​通信​する​ため​に​使用​さ​れ​ます。​この​情報​を​使用​し​て、​計測​器​が​プログラム​で​適切​に​認識​さ​れ​アドレス​指定​さ​れ​て​いるか​どうか​を​確認​し​ます。

VISA​セッション

VISA​セッション​は、​VISA​リソース​へ​の​通信​パス​です。​セッション​は、​viOpen()​操作​を​使用​し​て​開き​ます。​計測​器​へ​の​VISA​通信​を​実行​する​場合​は、​常に​VISA​セッション​を​開く​必要​が​あり​ます。

VISA​エイリアス

VISA​エイリアス​と​は、​VISA​リソース​の​ニックネーム​の​こと​です。​この​エイリアス​は、​計測​器​を​簡単​に​識別​する​ため​の​わか​り​やすい​名前​です。 

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

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

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

計測​器​が​シリアル、​USB、​イーサネット、​または​VISA​が​サポート​する​その他​の​インタフェース​タイプ​で​あれ​ば、​すべて​これ​と​同じ​手順​を​使用​し​ます。​変更​する​必要​が​ある​の​は、​VISA Open​の​入力​に​書き込む​VISA​リソース​名​だけ​です。

LabVIEW​の​サンプル

この​LabVIEW​アプリケーション​は、​GPIB​計測​器​へ​の​セッション​を​開​い​て、​*IDN?​\n​の​書き込み​を​実行​し、​指定​さ​れ​た​バイト​数​を​デバイス​から​読み取り​ます。​各​VISA​関数​の​説明​について​は、VISA VI​および​関数を​ご覧​くだ​さい。

Visual C​+​+の​サンプル

 

Visual Basic​の​サンプル

NI-​VISA​を​ダウンロード​する

Windows​および​Mac​オペレーティングシステム​の​場合、​NI-​VISA​に​は​独立​した​ダウンロード​方法​が​あり​ます。​Linux​オペレーティングシステム​の​場合、​NI-​VISA​は、​NI Linux​デバイス​ドライ​バ​と​呼ばれる​他の​NI​デバイス​ドライ​バ​に​バンドル​さ​れ​て​おり、​一度に​ダウンロード​し​ます。

オペレーティングシステム​の​互換性​の​詳細​について​は、​以下​を​ご覧​くだ​さい。

計測​器​制御​チュートリアル

計測​器​と​通信​する​ため​の​段階​的​な​チュートリアル​について​は、​計測​器​インタフェース​の​タイプ​に​応​じ​て、​以下​の​計測​器​制御​チュートリアル​を​ご覧​くだ​さい。

計測​器​制御​フォーラム

National Instruments​は、計測​器​制御​フォーラムでも​サポート​を​提供​し​てい​ます。​ユーザー​の​皆さま​は​広範​な​コミュニティ​に​参加​し​て、​質問​を​投稿​した​り​情報​を​共有​した​り​でき​ます。