VISA LabVIEWプログラミング

LabVIEW基本講座 ハードウェア編17

VISA関数を使用したLabVIEWプログラミングについて説明します。
VISA関数を使用して、計測器と通信してコマンドの送受信によって計測行うプログラムを作成します。

VISA関数パレット

VISA関数は、ブロックダイアグラムの関数パレットの[計測器iI/O]→[VISA]で表示されるパレットから選択できます。

VISA関数パレット

プログラミング(コマンド送受信)

PCから計測器にコマンドを送信して、計測器からの応答を受信するプログラムを作成します。

使用するVISA関数

VISAパレットから以下の関数を使用します。

VISA関数
1VISAを開くVISAを開くVISAリソース名によって指定したデバイス(計測器)のセッションを開きます。
計測器と通信を開始する際に使用します。
2VISA書き込みVISA書き込みデバイスにデータ(コマンド)を書き込み(送信)します。
3VISA読み取りVISA読み取りデバイスから指定バイト数を読み取り、受信データを出力します。
バッファの全てのデータを出力、終了文字を検出、タイムアウトになった場合は、指定バイト未満のデータを出力します。
4VISAを閉じるVISAを閉じるデバイスのセッションを閉じます。
計測器との通信を停止します。

プログラム例

VISAプログラム例
  1. LabVIEWブロックダイアグラムに、VISA関数を配置します
  2. 関数をワイヤで接続します
  3. 関数の入力/出力端子に制御器/表示器を作成します
  4. [VISAを開く]のVISAリソース名に通信するデバイスのチャンネルをリストから選択します。
  5. [VISA書き込み]の書き込みバッファに、デバイスに送信するコマンドを入力します。
    例では「*IDN?」
  6. [VISA読み取り]のバイトカウントに、デバイスから読み取るバイト数を入力します。
    受信データを全て読み込めるバイト数を入力します。
    例では、256バイトを設定、実際に読み込むデータは72バイト

実行/デバック

作成してプログラムを実行します。

VISA実行/デバック

Keysight 34461Aで実行した場合、読み取りバッファに「Keysight Technologies,34461A,MY53200937,A.03.02-02.40-03.02-00.52-01-01」が出力されます。

作成したプログラムに、エラーがあるか確認して、プログラムの修正を行います。必要な設定値が関数につながれていない場合は、実行ボタンを「エラーをリスト」の状態となり、クリックするとエラー箇所が表示されます。

実行ボタン

実行して問題が起きた場合、エラークラスタにエラーが出力されます。エラークラスタを右クリックして「エラーの説明」を選択するとエラー説明画面が表示されます。
エラー例:コマンドが間違っていて、受信データが返されず、タイムアウトになった。

エラークラスタ

追加/変更

作成したプログラムを基に、機能を追加、変更することで、目的のプログラムに対応します。

例: [VISA書き込み][VISA読み込み]部分をWhileループとイベントループで囲み、ボタンが押されるとコマンドの送受信が実行されるようにしたプログラム

VISA追加/変更

LabVIEWでは、作成したプログラムを直ぐに実行できるため、段階的に機能を追加して、目的のプログラムに近づけていくプログラミングができます。

計測器ドライバ/サンプルVIを参考

計測器ドライバがある場合、計測器ドライバVIのサンプルVIや関数VIから必要な機能をコピーして使用する、コマンドを調べて反映するなど、プログラムを素早く作成するこもできます。

例:計測器ドライバVIのコマンド送信部分を調べて、Keysight 34461Aへのコマンド「:SAMP:COUN 1;:TRIG:SOUR IMM;:READ?;」を流用する。

計測器ドライバ/サンプルVIを参考
計測器ドライバ「Agilent 3446X Series」の「Read (Single Point).vi」

計測器ドライバやサンプルVIを活用して、VIの動作を理解していき、LabVIEWプログラムを最適化すると機能性の高いプログラミングができるようになります。

前ボタン
前の講座
トップボタン
LabVIEW基本講座TOP