VISA LabVIEWプログラミング
LabVIEW基本講座 ハードウェア編17
VISA関数を使用したLabVIEWプログラミングについて説明します。
VISA関数を使用して、計測器と通信してコマンドの送受信によって計測行うプログラムを作成します。
VISA関数パレット
VISA関数は、ブロックダイアグラムの関数パレットの[計測器iI/O]→[VISA]で表示されるパレットから選択できます。
プログラミング(コマンド送受信)
PCから計測器にコマンドを送信して、計測器からの応答を受信するプログラムを作成します。
使用するVISA関数
VISAパレットから以下の関数を使用します。
1 | VISAを開く | VISAリソース名によって指定したデバイス(計測器)のセッションを開きます。 計測器と通信を開始する際に使用します。 | |
2 | VISA書き込み | デバイスにデータ(コマンド)を書き込み(送信)します。 | |
3 | VISA読み取り | デバイスから指定バイト数を読み取り、受信データを出力します。 バッファの全てのデータを出力、終了文字を検出、タイムアウトになった場合は、指定バイト未満のデータを出力します。 | |
4 | VISAを閉じる | デバイスのセッションを閉じます。 計測器との通信を停止します。 |
プログラム例
- LabVIEWブロックダイアグラムに、VISA関数を配置します
- 関数をワイヤで接続します
- 関数の入力/出力端子に制御器/表示器を作成します
- [VISAを開く]のVISAリソース名に通信するデバイスのチャンネルをリストから選択します。
- [VISA書き込み]の書き込みバッファに、デバイスに送信するコマンドを入力します。
例では「*IDN?」 - [VISA読み取り]のバイトカウントに、デバイスから読み取るバイト数を入力します。
受信データを全て読み込めるバイト数を入力します。
例では、256バイトを設定、実際に読み込むデータは72バイト
実行/デバック
作成してプログラムを実行します。
Keysight 34461Aで実行した場合、読み取りバッファに「Keysight Technologies,34461A,MY53200937,A.03.02-02.40-03.02-00.52-01-01」が出力されます。
作成したプログラムに、エラーがあるか確認して、プログラムの修正を行います。必要な設定値が関数につながれていない場合は、実行ボタンを「エラーをリスト」の状態となり、クリックするとエラー箇所が表示されます。
実行して問題が起きた場合、エラークラスタにエラーが出力されます。エラークラスタを右クリックして「エラーの説明」を選択するとエラー説明画面が表示されます。
エラー例:コマンドが間違っていて、受信データが返されず、タイムアウトになった。
追加/変更
作成したプログラムを基に、機能を追加、変更することで、目的のプログラムに対応します。
例: [VISA書き込み][VISA読み込み]部分をWhileループとイベントループで囲み、ボタンが押されるとコマンドの送受信が実行されるようにしたプログラム
計測器ドライバ/サンプルVIを参考
計測器ドライバがある場合、計測器ドライバVIのサンプルVIや関数VIから必要な機能をコピーして使用する、コマンドを調べて反映するなど、プログラムを素早く作成するこもできます。
例:計測器ドライバVIのコマンド送信部分を調べて、Keysight 34461Aへのコマンド「:SAMP:COUN 1;:TRIG:SOUR IMM;:READ?;」を流用する。