Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI
What is Developer Zone?
United States

Document TypeTutorial
NI Supported: Yes
Publish Date: Jul 17, 2009


フィードバック


Yes No

関連カテゴリ

関連リンク - Developer Zone

関連リンク - Products and Services

チュートリアル: LabWindows/CVIでの計測器制御

0 Ratings | 0.00 out of 5
Read in | Print | PDF

概要

このチュートリアルでは、計測器ドライバ、計測器I/Oアシスタント、およびVISAアプリケーションプログラミングインタフェース(API)を使用したLabWindows/CVIでの計測器制御の方法について取り上げます。



目次

  1. 計測器ドライバ
  2. 計測器I/Oアシスタント
  3. VISA API
  4. 計測器ドライバを作成する
  5. 関連リンク

計測器ドライバ

計測器ドライバネットワーク では、5,000以上の計測器に対応する計測器ドライバを検索することができます。ここから目的の計測器に対応するドライバを検索します。検索後、次の手順に従ってドライバをLabWindows/CVIにロードします。見つからない場合は、計測器ドライバを作成するのセクションを参照して、独自にドライバを作成する必要があります。

LabWindows/CVIでの計測器ドライバの使用方法に関する詳細については、LabWindows/CVIでの計測器ドライバ使用方法を参照してください。

計測器I/Oアシスタント

計測器I/Oアシスタントを使用すると、計測器ドライバを使用しないで、シリアル、イーサネット、およびGPIB計測器などのデバイスと通信するためのコードを生成することができます。NI計測器I/Oアシスタントを起動するには、Tools » Create Instrument I/O Task...を選択します。計測器I/Oアシスタントは、以下の3つのファイルを生成します。

.cソースファイル(実行タスク関数および関連するソースコードを含む)
.hファイル(実行タスク関数の宣言を含む)
.mxbバイナリファイル(計測器I/Oアシスタントのタスクを変更する時に使用するタスクの説明を含む)

これらの生成されたファイルがプロジェクトに追加されます。

計測器I/Oアシスタントを使用する

計測器I/Oアシスタントは、計測器の通信を順番にステップで構成します。実際には以下のステップを並べる必要があります。

計測器を選択 ― タスクが通信する計測器を指定します。この動作は、すべてのシーケンスで最初のステップである必要があります。
クエリして解析 ― このステップでは、計測器へのコマンドの送信、計測器からの応答の読み取り、返されたデータの解析を行います。
書き込み ― データまたはコマンドを計測器に書き込みます。
読み取って解析 ― 計測器からの応答を読み込み、返されたデータを解析します。

各ステップを指定し、構成する時は、このステップを実行ボタンをクリックして構成する操作を実行し、実行ボタンをクリックしてシーケンス全体を実行します。以下の図は、計測器I/Oアシスタントウィンドウを示します。



図1. 計測器I/Oアシスタントウィンドウ

ステップの構成に関する詳細については、ヘルプの表示をクリックし、計測器I/Oアシスタントのヘルプを参照してください。

生成するタスク名、実行タスク関数名、およびターゲットディレクトリも指定する必要があります。

シーケンスの生成および各ステップの構成が完了したら、計測器I/OアシスタントでOKをクリックします。LabWindows/CVIは、3つのファイルを生成し、これらのファイルをプロジェクトに追加します。

計測器I/Oアシスタントタスクの作成が完了すれば、プロジェクト内で使用することができます。

プログラムで新たに作成したタスクを使用するには、以下のコードを参照して、ヘッダファイルに宣言された実行タスク関数を呼び出します。

#include "MyIOTask.h"

double *data = 0;

RunMyIOTask (&data);

/* Analyze, log, or display your data. */

free (data);

計測器I/Oタスクを編集する

プロジェクトツリーにある.mxbファイルをダブルクリックして、計測器I/Oアシスタントを開き、タスクを編集することができます。生成されたファイルを直接変更した場合、タスクを編集してファイルを再生成する際に、これらの変更が失われます。

VISA API

VISAの効果的な機能として、さまざまなプラットフォームでデバイスを検索し、デバイスにアクセスするインタフェースが挙げられます。VISAリソースマネージャは、リソースを制御し、管理するサービスをエクスポートすることで、これを行います。これらのサービスには、特有のリソースアドレス/IDを割り当て、リソースを検索し、セッションを作成することが含まれます。

各セッションには、デバイス自体の情報の他に、デバイスとの通信チャンネルを構成するのに必要なすべての情報が含まれます。この情報は、属性と呼ばれる一般構造の中にカプセル化されています。属性を使用してセッションを構成し、特定のリソースを検索することができます。

セッションを開く

VISAリソースにアクセスする際に、まず「viOpenDefaultRM()」を呼び出してデフォルトのリソースマネージャへのリファレンスを取得します。アプリケーションは、この呼び出しから返されたセッションを使用して、そのリソースマネージャにより制御されるリソースへのセッションを開くことができます。

計測器を参照する際に、計測器に割り当てられた正規リソース名を使用することができます。また、NI-VISAもエイリアスの使用をサポートしているため、デバイスを容易に開くことが可能です。Windowsでは、Measurement & Automation Explorer(MAX)を起動し、メニューオプションツール » NI-VISA » エイリアスエディタを選択してすべてのエイリアスを管理します。UNIXでは、visaconfを実行し、任意のリソースをダブルクリックして、そのリソースのエイリアスを管理するダイアログボックスを開きます。NI-VISAは、文字、数字、アンダースコアを含むエイリアス名をサポートします。プログラムでエイリアスを使用するには、正規リソース名の代わりにエイリアス名を持つ「viOpen()」を呼び出します。

リソースを検索する

上記のセクションに示したように、「viOpen()」呼び出しを使用して、リソースへのセッションを作成することができます。ただし、この呼び出しを使用する前に、開くリソースの正確な場所(アドレス)を知っておく必要があります。特定の時間に使用可能なリソースを検索するには、「viFindRsrc()」操作により提供される検索サービスを使用します。

セッションを構成する

リソースマネージャがセッションを開いた後、デバイスとの通信は通常、デフォルトのセッション設定を使用して開始されます。ただし、ASRL(シリアル)リソースなどの場合は適切な通信を開始する前に、ボーレート、パリティ、フロー制御などの他のパラメータを設定する必要があります。GPIBおよびVXIセッションでは、通常、デフォルト設定だけで十分ですが、タイムアウト、伝送モードの終わりなどの他の構成パラメータも設定する必要がある場合があります。

属性にアクセスする

VISAは、パラメータを取得し、設定するのに2つの操作(「viGetAttribute()」および「viSetAttribute()」)を使用します。属性はデバイスの状態だけでなく、デバイスとの通信方法も説明します。

たとえば、以下のコードを使用して、VXIアドレスの論理アドレスを取得することができます。

status = viGetAttribute(instr, VI_ATTR_VXI_LA, &Laddr);

変数Laddrには、デバイスのアドレスが含まれます。ASRLセッションのボーレートなどの属性を設定する場合は、以下を使用します。

status = viSetAttribute(instr, VI_ATTR_ASRL_BAUD, 9600);

論理アドレスなどの属性は読み取り専用であり、その他は書き込み/読み取り属性であることにご注意ください。また、特定のセッションタイプのみに適用される属性があり、「VI_ATTR_VXI_LA」はASRLセッションに存在しません。使用を試みた場合、コード「VI_ERROR_NSUP_ATTR」と共にステータスパラメータが返されます。最後に、属性値のデータタイプが相互に異なる属性があります。上記の例を使用すると、論理アドレスは16ビット値で、ボーレートは32ビット値です。「viGetAttribute()」で正しいデータタイプの変数を使用することは、非常に重要です。

計測器ドライバを作成する

Tools » Create IVI Specific Driverを選択し、計測器を制御する際にソースファイルを作成し、関数パネルファイルなどのファイルを含めることができるInstrument Driver Development Wizardを開きます。IVI Instrument Driver Wizardウィンドウについては、以下の図を参照してください。


[+] 画像を拡大

図2. IVI Instrument Driver Wizardウィンドウ

以下の項目の1つをベースにして、新しい計測器ドライバを作成することができます。

類似した計測器の既存のドライバ
コアIVIドライバのテンプレート
IVI計測器クラスのテンプレート

Instrument Driver Development Wizardは、テンプレートまたは既存のドライバファイルをコピーし、元の計測器の接頭辞のすべてのインスタンスを新しいドライバ用に選択する接頭辞で置き換えます。Instrument Driver Development Wizardの詳細については、LabWindows/CVI Instrument Driver Developers Guideを参照してください。

関連リンク

LabWindows/CVIでの計測器ドライバ使用方法
LabVIEWでの計測器ドライバ使用方法
LabWindows/CVI Instrument Driver Developers Guide
計測器ドライバネットワーク
NI-VISA Programming Reference Manual
Getting Started Using National Instruments IVI with LabVIEW or LabWindows/CVI
IVIドライバを使用してハードウェアに依存しないテストシステムを構築する
計測器I/Oアシスタントを使用してLabWindows/CVI計測器ドライバを作成する

 

次のステップ

LabWindows/CVIメインページ
製品とサービス:NI LabWindows™/CVI

LabWindows/CVIを使ってみる

0 Ratings | 0.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/).