21
IVI 計測器ドライバ・プログラミング・ガイド ©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 1/21 IVI 計測器ドライバ プログラミング・ガイド (LabVIEW ) June 2012 Revision 2.1 1- 概要 1-1 IVI-C ドライバの推奨 LabVIEW には IVI-C 計測器ドライバをインポートする機能があります。IVI-COM 計測器ドライバを 一般の COM コンポーネントとして直接利用することも可能ですが、IVI-C 計測器ドライバがあれば それらを利用したほうがプログラミングは簡単になります。(当社の IVI 計測器ドライバには IVI- COM ドライバと IVI-C ドライバの両方が含まれています。) 従って本ガイドブックでは IVI-C 計測器ドライバを使用することを推奨します。 Notes: 本ガイドブックでは、KikusuiPwx IVI 計測器ドライバ(KIKUSUI PWX シリーズ直流電源)を使用する例を 示します。他社メーカー及び他機種用の IVI 計測器ドライバでも、ほぼ同様の手順で使用できます。 本ガイドブックでは、LabVIEW 2011 (32bit )を使用し、Windows7 (x64)上で動作する 32bit(x86)プロ グラムを作成する場合を例に説明します。 1-2 IVI 計測器クラス・インターフェース IVI 計測器ドライバを利用する場合、スペシフィック・インターフェースを利用する方法とクラス・インタ ーフェースを利用する方法の 2 種類があります。前者は計測器ドライバの固有インターフェースを利 用するもので、使用する計測器の機能を最大限に利用する事ができます。後者は IVI 仕様書で定 義されている計測器クラスのインターフェースを利用するもので、インターチェンジャビリティ機能を 利用する事ができますが、機種固有の機能を使うことは制限されます。 Notes: 計測器ドライバが所属する計測器クラスについては、ドライバ毎の Readme.txt に記載されています。 Readme 文書は、Start ボタンAll ProgramsKikusuiKikusuiPwx メニューから開く事ができます。 計測器ドライバが如何なる計測器クラスにも属していない場合、クラス・インターフェースを利用する事は できません。つまりこの場合、インターチェンジャビリティ機能を利用するアプリケーションを作成する事は 出来ません。 1-3 LabVIEW Instrument Driver Import Wizard のインストール LabVIEW IVI-C 計測器ドライバを呼び出すコードを記述する為には、LabVIEW Instrument Driver Import Wizard を使用して IVI-C ドライバをインポートし、LabVIEW VI ライブラリ (LabVIEW IVI-C ラッパー)を生成する必要があります。Import Wizard LabVIEW には付属して いないので、下記からダウンロードして別途インストールする必要があります。 https://lumen.ni.com/nicif/us/infolvinstdriver/content.xhtml

IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

  • Upload
    lynhi

  • View
    313

  • Download
    10

Embed Size (px)

Citation preview

Page 1: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 1/21

IVI計測器ドライバ

プログラミング・ガイド

(LabVIEW編) June 2012 Revision 2.1

1- 概要

1-1 IVI-C ドライバの推奨

LabVIEWには IVI-C計測器ドライバをインポートする機能があります。IVI-COM計測器ドライバを

一般の COMコンポーネントとして直接利用することも可能ですが、IVI-C計測器ドライバがあれば

それらを利用したほうがプログラミングは簡単になります。(当社の IVI計測器ドライバには IVI-

COM ドライバと IVI-C ドライバの両方が含まれています。)

従って本ガイドブックでは IVI-C計測器ドライバを使用することを推奨します。

Notes:

本ガイドブックでは、KikusuiPwx IVI計測器ドライバ(KIKUSUI PWXシリーズ直流電源)を使用する例を

示します。他社メーカー及び他機種用の IVI計測器ドライバでも、ほぼ同様の手順で使用できます。

本ガイドブックでは、LabVIEW 2011 (32bit版)を使用し、Windows7 (x64)上で動作する 32bit(x86)プロ

グラムを作成する場合を例に説明します。

1-2 IVI計測器クラス・インターフェース

IVI計測器ドライバを利用する場合、スペシフィック・インターフェースを利用する方法とクラス・インタ

ーフェースを利用する方法の 2種類があります。前者は計測器ドライバの固有インターフェースを利

用するもので、使用する計測器の機能を最大限に利用する事ができます。後者は IVI仕様書で定

義されている計測器クラスのインターフェースを利用するもので、インターチェンジャビリティ機能を

利用する事ができますが、機種固有の機能を使うことは制限されます。

Notes:

計測器ドライバが所属する計測器クラスについては、ドライバ毎の Readme.txtに記載されています。

Readme文書は、StartボタンAll ProgramsKikusuiKikusuiPwx メニューから開く事ができます。

計測器ドライバが如何なる計測器クラスにも属していない場合、クラス・インターフェースを利用する事は

できません。つまりこの場合、インターチェンジャビリティ機能を利用するアプリケーションを作成する事は

出来ません。

1-3 LabVIEW Instrument Driver Import Wizardのインストール

LabVIEWで IVI-C計測器ドライバを呼び出すコードを記述する為には、LabVIEW Instrument

Driver Import Wizard を使用して IVI-C ドライバをインポートし、LabVIEW VIライブラリ

(LabVIEW IVI-Cラッパー)を生成する必要があります。Import Wizardは LabVIEWには付属して

いないので、下記からダウンロードして別途インストールする必要があります。

https://lumen.ni.com/nicif/us/infolvinstdriver/content.xhtml

Page 2: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 2/21

1-4 IVI Compliance Packageのインストール

Import Wizardで生成された LabVIEW IVI-Cラッパーを機能させるには、ランタイム環境として NI

IVI Compliance Packageが必要です。IVI Compliance Packageは LabVIEWには付属してい

ないので、下記からダウンロードして別途インストールする必要があります。

http://joule.ni.com/nidu/cds/view/p/id/2589

2- IVI-C ドライバ.fpファイルのインポート

ここでは IVI-C ドライバを LabVIEW環境で使えるようにインポートする手順を説明します。ドライバ

のインポートは、次の章で説明するスペシフィック・インターフェースを使用する場合に必要です。更

に次の章で説明するクラス・インターフェースを使用した方法では必要ありません。

2-1 Instrument Driver Import Wizard

IVI-C計測器ドライバは昔ながらの VXI Plug&Play計測器ドライバと同様の形式(.fp、.h、.sub、及

び.dll等)で提供されるため、LabVIEW統合環境から直接利用することはできません。その為、ドラ

イバのインターフェース情報をインポートして LabVIEWで利用可能な形式(.vi又は.llb)に変換する

必要があります。

計測器ドライバをインポートするには、前述した LabVIEW Instrument Driver Import Wizardを使

います。

Instrument Driver Import Wizardがインストールされている状態で LabVIEWを起動すると、

Tools | Instrumentation | Import LabWindows/CVI Instrument Driver...メニューが

追加されているのでそれをを選択します。すると最初の画面で Basic/Advanced の選択があるので、

Advancedを選択します。

Figure 2-1 Import Wizard - Welcome画面

Nextボタンをクリックすると.fp (ファンクション・パネル) ファイルを指定するように要求されるので、

C:/Program Files (x86)/IVI Foundation/IVI/Drivers/kipwxディレクトリに置かれている

kipwx.fpを選択します。

Page 3: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 3/21

Figure 2-2 Import Wizard - Select Function Panel (.fp) File

.hファイル(C言語用ヘッダ・ファイル)及び.subファイル(属性情報ファイル)は自動的に設定されま

す。Nextボタンをクリックすると、生成ファイルの種別を尋ねられるので、ここでは全項目選択され

ている事を確認します。

Figure 2-3 Import Wizard - Select Files To Generate

更に Nextボタンをクリックすると、計測器ドライバ設定の確認画面になるので、ここで Driver

Group、Driver Prefix、Shared Library DLLの各項目を確認します。

Page 4: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 4/21

Figure 2-4 Import Wizard - Review Instrument Driver Settings

ここでは重要な項目(Import Wziardが抱える潜在的な問題を回避するテクニック)が幾つかありま

す。

Driver Group

IVI計測器ドライバが所属する計測器クラスを指定します。KikusuiPwx (kipwx) IVI計測器ドライバ

は IviDCPwr クラス(IVI直流電源)なのでそれを選択します。

Notes:

Nimbus (IVI-COM/IVI-C計測器ドライバ開発ツール)で作成された IVI計測器ドライバをインポートする

場合、この項目のデフォルト選択が VXI Plug&Playになっている場合があります。その場合には計測器ド

ライバの仕様に合わせて正しい計測器クラス(クラスに属さない場合は IVI Generic)を手作業で選択する

必要があります。

Driver Prefix

最初の画面で指定された.fp と同じベース・ファイル名のはずなので、それを確認します。

Shared Library or DLL

ドライバ DLLのファイル名を指定します。デフォルトでは kipwx_32.* (64bit版ドライバの場合は

kipwx_64.*)のようなワイルド・カード表現になっています。しかしここでは Browse...ボタンをクリッ

クして正しい DLLファイル名を明示的に選択して下さい。DLLは C:/Program Files (x86)/IVI

Foundation/IVI/BINディレクトリに置かれています。

Notes:

Nimbusで作成された IVI計測器ドライバは、64bit版には<prefix>_64.dllのような名前になりますが、

32bit版では<prefix>.dllのようになり、_32が付きません。従って、デフォルトで提示される

<prefix>_32.*のようなワイルドカードのまま変換を行うと実際の DLLファイルにヒットせず、正常に動作

しないラッパーを生成する事になります。

Nextボタンをクリックすると、生成する VIを選択する画面になります。もし下記のような警告メッセ

ージが表示された場合、先に説明した DLLファイル名の指定が不適切になっています。その場合に

は右上の[X]ボタンで警告メッセージを一旦閉じ、DLLファイルの指定をやり直すか IVI計測器ドライ

バのインストール状態を再確認する必要があります。

Page 5: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 5/21

Figure 2-5 Import Wizard - Shared Library or DLLNot Found

DLLファイルが正しく指定されていれば、関数の抽出が行われ、下記のような関数のツリー表示画

面になります。

Figure 2-6 Import Wizard - Select VIsTo Generate

デフォルトでは全項目選択されているので、そのまま Nextをクリックして次へ行きます。

Page 6: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 6/21

Figure 2-7 Import Wizard - Select, Create, & Edit Document Conversion Tasks

ここではドキュメント(主にコンテキスト・ヘルプ)に関する変換条件を指定します。変換の殆どは

「function」という言葉を「VI」に置き換える物です。それほど重要は物ではなく、また変換するかどう

か一々プロンプトを出されると面倒なので、ここでは Show Prompts をアンチェックします。

更に Next をクリックすると変換条件の概要が表示されるので、そのまま変換(インポート)を遂行し

て下さい。

変換が終了すると、LabVIEWのデフォルト計測器ドライバ・ディレクトリ (通常、C:/Program Files

(x86)/National Instruments/LabVIEW 2011/instr.lib) に kipwxサブディレクトリが作ら

れます。そこには VIライブラリ・ファイル(kipwx.llb)、複数のパレット・メニューファイル(.mnu)等がが

生成されます。これら一連のファイル・セットが LabVIEWから直接利用可能な IVI-Cラッパーになり

ます。

生成された kipwx IVI-Cラッパーは、LabVIEWのブロック・ダイアグラム上で Instrument I/O フ

ァンクション・パレットから参照することが出来ます。

Note:

生成された.llbファイルは IVI-C ドライバへのラッパー・モジュールであり、計測器ドライバの実体ではあり

ません。従って、完成したアプリケーションの実行時にターゲット・マシンに IVI計測器ドライバがインスト

ールされている必要があります。

ターゲット・マシンへの IVI計測器ドライバのインストールは、開発マシンへのインストールと同様にドライ

バの元々のインストーラを使用して下さい。DLL等の単品をコピーしただけは正常動作しません。

ターゲット・マシンには LabVIEW Runtime Engineの他に IVI Compliance Packageをインストールする

必要があります。

Page 7: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 7/21

3- スペシフィック・インターフェースを使用するサンプル

ここでは、スペシフィック・インターフェースを使用したサンプルを示します。スペシフィック・インターフ

ェースを使用すると、計測器ドライバで提供される機能(即ち機種に依存した固有機能)を最大限に

利用する事ができますが、インターチェンジャビリティを実現する事はできません。

3-1 コントロールと関数の追加

まず新規アプリケーションを作成します。フロント・パネル・ウインドウを表示し、error in クラスタと

error out クラスタを置いてください。

Figure 3-1 Front Panel

次にブロックダイアグラム・ウインドウを表示して、kipwx ドライバ(ラッパー)のファンクション・パレット

を開きます。このファンクション・パレットは、コンテキスト・メニュー Instrument I/O Instr

Drivers kipwxから見つける事ができます。

Figure 3-2 kipwx Function Palette

ブロックダイアグラム上に Initialize With Options.vi 及び Close.vi を置きます。更に、

ConfigurationOutputパレットの中にある、Configure Voltage Level.vi、

Configure Current Limit.vi、Configure Output Enabled.vi、を追加します。

Page 8: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 8/21

Figure 3-3 Block Diagram

3-2 パラメータの設定

ここでは、ネットワーク上の Kikusui PWXシリーズ DC電源が IPアドレス 192.168.1.5に設定され

ているという前提で、resource name、id query、reset device パラメータを Initialize

With Options.vi に渡します。

Figure 3-4 Params for Initialize With Options

次に電圧、電流、アウトプットの設定をするパラメータを追加します。ここでは 20V/2A設定、アウトプ

ット ON設定を行います。

Figure 3-5 Params for Configure Functions

ここで 3つの VIに共通で渡されているブランク文字列に注意してください。これは制御対象となる

DC電源のチャンネル名です。詳細は後述します。

最後に、error inから error out クラスタまでを下記のようにワイヤー接続します。エラーin/outの

接続だけでなく、計測器セッション(ハンドル)の接続も忘れずに行ってください。

Page 9: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 9/21

Figure 3-6 Open/Configure/Close

3-3 プログラムの実行

ここまでのコードだけで、とりあえず実行する事は可能です。Initialize With Options.vi

の Reset Device パラメータに TRUEが指定されているので計測器はリセットされます。プログラ

ムを実行すると、即座に計測器との通信が開始されます。実際に計測器が接続されていて

Initialize With Options 及び Close が成功した場合は、error out クラスタ上に表示さ

れるエラー・コードは 0です。通信に失敗した場合や、VISAライブラリの設定が正しく行われていな

い場合などは例外が発生し、error out クラスタに表示されます。error out クラスタのコンテキス

ト・メニューExplain Errorでその詳細を見ることが出来ます。

Figure 3-7 実行時エラー

Page 10: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 10/21

4- 解説

4-1 セッションの開始

セッションの開始には kipwx Initialize With Options.vi を使用します。vi(関数)に付く

kipwx というプレフィックスは計測器ドライバ毎に異なりますが、全ての IVI-C計測器ドライバには

このような名前ルールによる関数が用意されています。

Figure 4-1 Initialize With Options.vi Help

Notes:

IVI-C及び VXI Plug&Play計測器ドライバの専門用語として<prefix>という表記が良く使われます。これ

は各計測器ドライバが固有に持つ識別用の名前で、本書の例では kipwxがそれに該当します。例えば、

<prefix> Initialize.vi という一般的表現は、kipwx計測器ドライバでは kipwx Initialize.viの事を

指します。

<prefix> Initialize.vi及び<prefix> Initialize With Options.vi を除く全ての vi(ドライバ関数)

は、左上の入力パラメータが instrument handle (in)になります。

<prefix> Close.vi を除く全ての vi(ドライバ関数)は、右上の出力パラメータが instrument handle

outになります。これは次に来る viの instrument handle (in)に接続されるべきものです。

<prefix> Initialize.viは VXI Plug&Play ドライバ仕様との互換性の為に残されています。option

stringパラメータを指定できない点を除き、<prefix> Initialize With Options.vi と同じ動作をしま

す。

ここで、kipwx Initialize With Options.vi のパラメータについて説明しましょう。全ての

IVI計測器ドライバは、IVI仕様書で定義された Initialize With Options.vi を持っていま

す。この viには、以下のようなパラメータがあります。

Page 11: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 11/21

Table 4-1 Initialize With Optionsのパラメータ

パラメータ タイプ 説明

Resource Name String VISA リソース名の文字列。計測器が接続されている I/Oイ

ンターフェース、アドレスなどによって決定される。例えば、

LANに接続された IPアドレス 192.168.1.5の計測器であれ

ば TCPIP::192.168.1.5::INSTR となる(VXI-11の場

合)。

Id Query Boolean VI_TRUE を指定した場合、計測器に対して IDクエリを行

う。

Reset Device Boolean VI_TRUE を指定した場合、計測器の設定をリセットする。

Option String String RangeCheck Cache Simulate QueryInstrStatus RecordCoercions Interchange Check

に関する設定を、デフォルト以外に指定できる。更に、計測

器ドライバが DriverSetup 機能をサポートする場合、そ

の設定を行うことができる。

Resource Name には VISAアドレス(リソース名)を指定します。ID Query に VI_TRUEを指定

した場合は、計測器に対して"*IDN?"クエリなどを発行して機種情報を問い合わせます。Reset

Device に VI_TRUEを指定した場合は、"*RST"コマンドなどを発行して計測器の設定をリセットし

ます。

Option String には、2つの機能があります。1つは RangeCheck, Cache, Simulate,

QueryInstrStatus, RecordCoercions, Interchange Check,などの IVI定義の動

作を設定します。もう 1 つは、計測器ドライバ毎に独自に定義される DriverSetup を指定します。

Option String は文字列パラメータなので、これらの設定は下のサンプルのような書式でなけ

ればなりません。

QueryInstrStatus = TRUE , Cache = TRUE , DriverSetup=12345

設定したい機能の名称及び設定値はケース・インセンシティブ(大文字と小文字の区別なし)です。

設定値は ViBoolean型なので、VI_TRUE、VI_FALSE、1、0 の何れかが有効です。複数の項目を

設定する場合は、カンマで区切ります。Option String パラメータで特に設定値を指定しない場

合、IVI仕様書で定義されたデフォルト値が適用されます。IVI仕様書で定義されたデフォルト値は、

RangeCheck と Cache だけが VI_TRUEで、その他は全て VI_FALSEです。

計測器ドライバによっては、DriverSetup パラメータが意味を持つ場合もあります。これは、IVI

仕様書では定義されない項目を InitializeWithOptions の呼び出し時に指定するもので、

利用目的や書式はドライバ依存です。従って DriverSetup の指定を行う場合、それは Option

String の最後の項目として指定される必要があります。DriverSetup の指定内容はドライバ

毎に異なるので、ドライバの Readme文書又はオンライン・ヘルプなどを参照してください。

4-2 チャンネルへのアクセス

IVI計測器ドライバでは一般に、電源装置やオシロスコープなどの計測器の場合、複数のチャンネ

ルが装備されている事を前提に設計されています。従って、計測器のパネル設定に関する操作を行

うドライバ関数は、channel nameパラメータにチャンネルを指定するケースが多く見られます。

Page 12: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 12/21

Figure 4-2 Configure Voltage Level.vi Help

本ガイドブックでは直流電源装置を操作する KikusuiPwx (kipwx)ドライバを使用するので、チャンネ

ル名には制御対象のチャンネル名指定します。上記例ではブランク文字列を指定していますが、ブ

ランク文字列が使用できるのはチャンネルが 1個のみの場合です。複数チャンネルの場合には明

示的にチャンネル名を指定する必要がありますが、電源装置の場合は通常"Output1"のような名

前です。(PWXはマルチドロップ拡張で運用する場合にチャンネル番号を 0から割り当てるため、最

初のチャンネル名は"Output0"となる。)実際に使用できるチャンネル名の詳細は、各ドライバの

オンライン・ヘルプなどを参照してください。

4-3 セッションのクローズ

計測器ドライバによるセッションをクローズするには、kipwx Close.vi 関数を使います。

Figure 4-3 Close.vi Help

5- クラス・ドライバを使用するサンプル

ここでは、計測器クラス・ドライバを使用したサンプルを示します。計測器クラス・ドライバを使用する

と、アプリケーションを再度コンパイル・リンクすることなく、計測器を交換する事ができます。但しそ

の場合、交換前後の両機種に対して IVI-C計測器ドライバが提供されており、且つそれらのドライ

バが同じ計測器クラスに属している必要があります。異なる計測器クラス間でのインターチェンジャ

ビリティは実現できません。

5-1 仮想インストルメント

インターチェンジャビリティ機能を利用するアプリケーションの作成を行う前にやっておかなければな

らない事は、仮想インストルメントの作成です。インターチェンジャビリティ機能を実現するには、アプ

リケーション・コード内に特定の IVI-C計測器ドライバに依存した記述(例えば kipwx_init 関数

の直接コール)をしたり、"TCPIP::192.168.1.5::INSTR"のような特定 VISAアドレス(リソー

Page 13: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 13/21

ス名)の記述などをするべきではありません。これらの事柄をアプリケーション内に直接記述すると、

インターチェンジャビリティを損ないます。

その代わりに、IVI仕様では、計測器ドライバとアプリケーションの外部に IVIコンフィグレーション・

ストアを置く事によってインターチェンジャビリティを実現します。アプリケーションは特定機種用の計

測器ドライバを直接使うのではなく、計測器クラス・ドライバと呼ばれる特別な計測器ドライバを通じ

て計測器を制御します。その際、IVIコンフィグレーション・ストアの内容に従って計測器ドライバ DLL

の選択を行い、間接的にロードされた計測器ドライバを特定機種に依存しないクラス・ドライバの関

数を通じてアクセスします。

IVIコンフィグレーション・ストアは通常、C:/ProgramData/IVI Foundation/IVI/

IviConfigurationStore.xml ファイルで、IVI Configuration Server DLLを通じてアクセスされま

す。この DLLを利用するのは、主に IVI計測器ドライバや一部の VISA/IVIコンフィグレーション・ツ

ールであって、アプリケーションからは通常は使いません。LabWindows/CVIを使用する場合は

National Instruments社製のソフトウェア NI-MAX (NI Measurement and Automation Explorer)

を使用して IVI ドライバのコンフィグレーションを行います。

Driver Sessionの作成

NI-MAXを起動したら、IVI Drivers ノードの階層を参照して下さい。Driver Seesionの上で右ク

リックして Create New (case-sensitive)...メニューを選択し、Driver Sessionの新規作成を行い

ます。名前を尋ねられるので、mySupply としておきましょう。画面右側の General タブを選択す

ると下記のようになっています。

Figure 5-1 NI-MAX General タブ

Hardware Assetの作成

引き続き Hardware タブを選択すると、ハードウェア・アセットの管理画面になります。ハードウェ

ア・アセットとは、実際の計測器がどのような経路に接続されているかを示すものです。ここで Add

ボタンをクリックして Hardware Asset を新規作成します。新しい名前を尋ねられるのでここでも

mySupply とし、更に Resource Descriptor として、実際の計測器が接続されている VISAアド

レス(この例では TCPIP::192.168.1.5::inst0::INSTR)を指定します。

Page 14: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 14/21

Figure 5-2 NI-MAX Hardware タブ

Software Moduleのリンク設定

引き続き Software タブを選択すると、ソフトウェア・モジュールの管理画面になります。ソフトウェ

ア・モジュールとは計測器ドライバモジュール(DLLモジュール)の事を指します。ここで Software

Moduleのリストから kipwxを選択します。

Figure 5-3 NI-MAX Software タブ

Virtual Nameの作成

引き続き Virtual Names タブを選択すると、仮想チャンネル名の管理画面になります。通常、電源

装置の計測器ドライバのようにチャンネルが関与する場合、有効なチャンネル名は計測器ドライバ

によって異なります。従ってそれらのチャンネル名も仮想化してやる必要があります。Addボタンを

クリックしてバーチャル・ネームを追加し、Virtual Nameに Track_A と入力します。更に

Physical Name リストから、実際の直流電源装置が稼動するチャンネルが表示されます。リストに

は IviDcpwrChannel!!Output0 だけが表示されているのでそれを選択するか、又は単に

Output0 と入力します。

Page 15: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 15/21

Notes:

ドライバの実装或いは多チャンネル電源装置での構成によっては必ずしも全てのチャンネル名が表示さ

れない場合があります。ドライバ毎の利用可能なチャンネル名については、ドライバの Readme.txtやオ

ンラインヘルプを参照して下さい。

Figure 5-4 NI-MAX Virtual Names タブ

Logical Nameの作成とリンク設定

最後にロジカル・ネームを作成します。ロジカル・ネームとは、NI-MAXで設定される仮想計測器の

名前に相当します。IVI Drivers ノードの階層を参照して下さい。Logical Nameの上で右クリック

して Create New (case-sensitive)メニューを選択し、Logical Nameの新規作成を行います。名

前を尋ねられるので mySupply としておきましょう。更に、Driver Session リストから mySupply

を選択します。

Figure 5-5 NI-MAX Genaral タブ

Page 16: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 16/21

コンフィグレーション作業を終えたら、NI-MAXのツールバー上にある Save IVI Configuration

ボタンをクリックして設定を保存します。

5-2 コントロールと関数の追加

まず新規アプリケーションを作成します。フロント・パネル・ウインドウを表示し、error in クラスタと

error out クラスタを置いてください。

Figure 5-6 Front Panel

次にブロックダイアグラム・ウインドウを表示して、IviDCPwrクラス・ドライバ(ラッパー)のファンクショ

ン・パレットを開きます。このファンクション・パレットは、コンテキスト・メニュー Instrument I/O

IVI Class Drivers DC Power Supplyから見つける事ができます。

Notes:

IVI Class Driversのパレットが見つからない場合、適切なバージョンの IVI Compliance Packageがイン

ストールされていない可能性があります。

Figure 5-7 IviDCPwr Function Palette

更にブロックダイアグラム上に Initialize With Options.vi、Close.vi を置きます。更

に、Configurationパレットの中にある、Configure Voltage Level.vi、Configure

Current Limit.vi、Configure Output Enabled.vi、を追加します。

Page 17: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 17/21

Figure 5-8 Block Diagram

クラス・ドライバの初期化ファンクションでは、VISA リソース名(VISAアドレス)ではなく仮想インスト

ルメント(IVIロジカル・ネーム)を指定します。ここでは NI-MAXで設定した mySupply を指定しま

す。

Figure 5-9 Params for Initialize With Options

次に電圧、電流、アウトプットの設定をするパラメータを追加します。ここでは 20V/2A設定、アウトプ

ット ON設定を行います。

Figure 5-10 Params for Configure Functions

ここで、"Track_A"という文字列に注意してください。これは制御対象となる DC電源のチャンネル

名(バーチャル・ネーム)です。詳細は後述します。

最後に、error inから error out クラスタまでを下記のようにワイヤー接続します。エラーin/outの

接続だけでなく、計測器セッション(ハンドル)の接続も忘れずに行ってください。

Page 18: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 18/21

Figure 5-11 Open/Configure/Close

6- 解説

6-1 クラス・ドライバ・セッションの開始

IviDCPwrクラス・ドライバでのセッションの開始には IviDCPwr Initialize With

Options.vi を使用します。vi(関数)に付く IviDCPwr というプレフィックスは IviDCPwrクラスド

ライバ固有のものです。クラス・ドライバを利用したこのプログラムには、kiwpx(弊社製 PWXシリー

ズ直流電源)や AgN57xx(Agilent社製 N5700シリーズ直流電源)のような特定機種の計測器ドライ

バへの依存が一切無い事に注意してください。

Page 19: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 19/21

Figure 6-1 Initialize With Options.vi Help

クラスドライバは通常の計測器ドライバとは異なり、Initialize With Options.vi に直接

VISAアドレスを渡すことはできません。ここでは NI-MAXのロジカルネームに指定した

"mySupply"を指定します。クラスドライバはこのロジカル・ネームを頼りに適切な計測器ドライバ

DLL(Software Module)や VISAアドレス(Hardware Asset)を探し当て、最終的に kipwx

Initialize With Options.vi 関数を間接的に呼び出します。

Option Stringパラメータに渡す内容(Cache、Range Check、Record Coercions、Interchange

Check、Query Instrument Status、及び Driver Setup文字列)はスペシフィック・ドライバを直接使

用する場合と同じですが、省略された場合のデフォルト値が異なります。スペシフィック・ドライバを

直接使用する場合のデフォルトは IVI仕様によって定義された値になりますが、クラス・ドライバを使

用する場合のデフォルトは IVIコンフィグレーションの Driver Sessionの Generalページで指定さ

れた値です。何れの場合も、Initialize With Options 関数の OptionString パラメータ

で明示的に指定されればそれが最優先になります。

6-2 チャンネルへのアクセス

IVI計測器ドライバでは一般に、電源装置やオシロスコープなどの計測器の場合、複数のチャンネ

ルが装備されている事を前提に設計されています。従って、計測器のパネル設定に関する操作を行

うドライバ関数は、channel name パラメータにチャンネルを指定するケースが多く見られます。

Page 20: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 20/21

Figure 6-2 Configure Voltage Level.vi Help

この例ではクラス・ドライバを使用していますが、チャンネル名には"Output0"という特定の計測器

ドライバ(この場合は kipwx ドライバ)でのみ使用可能な名前を指定しています。この指定方法でも

計測器の制御を行うことはできますが、特定機種の計測器ドライバに依存した名前を使用するとイ

ンターチェンジャビリティを損ないます。例えば AgN57xx計測器ドライバで有効なチャンネル名は

"Output1"です。

先の NI-MAXによる IVIコンフィグレーションでは、バーチャル・ネームとして"Track_A"という名

前を追加し、それが"Output0"というフィジカルネームに変換されるように設定しました。従ってこ

こでは、チャンネル名にバーチャル・ネームを使うことができます。

計測器ドライバを交換した場合は、DriverSessionで設定した Hardware(計測器の接続先 VISAア

ドレス)、Software(使用する計測器ドライバ)、Physical Names(仮想的なチャンネル名のマップ先

物理名)をアプリケーション自身ではなく IVIコンフィグレーションを変えることで動作を継続させるこ

とが出来ます。

Notes:

IVIコンフィグレーションの設定情報は、C:/ProgramData/IVI Foundation/IVI/

IviConfigurationStore.xmlに保存されています。この XMLファイルを手作業で編集しないで下さい。

IVIコンフィグレーションは、同一 PC内の全ての 32bit/64bit計測アプリ及び全てのログオンユーザで共

有されます。

6-3 セッションのクローズ

計測器ドライバによるセッションをクローズするには、IviDCPwr Close.vi を使います。

Page 21: IVI 計測器ドライバ プログラミング・ガイド (LabVIEW · PDF filelabviewにはivi-c計測器ドライバをインポートする機能があります。ivi-com

IVI 計測器ドライバ・プログラミング・ガイド

©2012 KIKUSUI ELECTRONICS CORP. All Rights Reserved. Page 21/21

Figure 6-3 Close.vi Help

6-4 計測器の交換

これまでの例では、仮想インストルメントのコンフィグレーションとして kipwx計測器ドライバを使うよ

うに設定しましたが、ここで計測器を例えば AgN57xx ドライバでホストされるもの(Agilent N5700シ

リーズ直流電源)に交換するとどうなるでしょう。その場合には、アプリケーションを再度コンパイル・

リンクする必要はありませんが、"mySupply"という IVIロジカル・ネーム(仮想インストルメント)のコ

ンフィグレーション内容を変更する必要があります。

変更しなければならないコンフィグレーションは基本的には、

Driver Sessionタブにある Software Moduleの変更(kipwxAgN57xx)

Virtual Namesの展開先マップ変更(Output0Output1)

Hardware Asset タブにある IO Resource Descriptorの変更(交換後の接続先 VISAアドレス

へ)

という具合になります。コンフィグレーションが正しく設定されれば、上記のサンプルは再度コンパイ

ルをせずにそのまま交換後の計測器でも動作します。

Notes:

IVIクラス・ドライバを利用したインターチェンジャビリティ機能は、計測器交換前後での動作を保証するわ

けではありません。交換後のシステムが正常に機能するかどうか十分に検証してから運用して下さい。

IVI計測器ドライバ・プログラミング・ガイド

本ガイドブックに登場する製品名・会社名等は各社の商標または登録商標です。

©2012 Kikusui Electronics Corp. All Rights Reserved.