以下の手順に従って、新規計測器ドライバプロジェクトを作成ウィザードを使用して計測器ドライバを作成します。LabVIEWでプラグアンドプレイ計測器ドライバを開発する方法については、NIのWebサイトを参照してください。

変更方法

  1. サポートされていないVIを削除する
  2. 共通ドライバVIを修正する
  3. 計測器特定のVIを修正する
  4. 計測器特定の新規VIを作成する
  5. サンプルVIを作成する
  6. VI Tree VIを更新する
  7. パレットファイルを更新する
  8. ni.com/idnetの計測器ドライバネットワーク (Instrument Driver Network) に完成したドライバをサブミットします。

サポートされていないVIを削除する

  1. 計測器がサポートしないプロジェクト内の計測器ドライバVI (Self-Test、Resetなどの共通VIを含む) をすべて削除します。使用する計測器の個々の機能を識別して、サポートされているVIを確認する必要があります。たとえば、デジタルマルチメータテンプレートにはマルチポイント計測を行うVIが含まれています。マルチポイント計測をサポートしないデジタルマルチメータのドライバを作成する場合は不要であるため、これらのVIをドライバプロジェクトとドライバディレクトリの両方で削除します。
  2. 削除した各VIへのサブVIの呼び出しを、プロジェクトの他の計測器ドライバVIから削除します。
  3. ファイルを削除したら、プロジェクト (.lvproj) およびプロジェクトライブラリ (.lvlib) を保存します。

共通ドライバVIを修正する

  1. テンプレートからドライバを作成した場合、各共通ドライバVIのフロントパネルまたはブロックダイアグラムで黄色いテキストボックス内に変更方法が表示されます。共通ドライバVIには、Initialize、Close、Self-Test、Reset、Error Query、Revision Query、Default Instrument Setupなどがあります。VIドキュメントを読み、各VIで変更方法の手順に従って、手順を削除します。
  2. さらに以下の手順に従ってください。
    • Initialize VI―フロントパネルに切り替え、VISAリソース名制御器にデフォルトのアドレス情報を入力します。デバイスの構文については、VISAリソース名制御器の詳細ヘルプを参照してください。制御器を右クリックして、ショートカットメニューからデータ操作»現在の値をデフォルト設定にするを選択します。この制御器の詳細ヘルプを更新して、計測器でサポートされているバスに関する情報のみが表示されるようにしてください。計測器の機能と一致するように、Serial Configurationクラスタのシリアル制御器を変更または削除してください。たとえば、計測器が7データビットと1ストップビットのみを使用する場合は、データビット制御器とストップビット制御器を削除し、これらのパラメータをブロックダイアグラム上の定数として設定します。計測器が2ボーレートのみをサポートする場合、サポートされていないレートをボーレート制御器から削除します。Serial Configurationクラスタの制御器を計測器のデフォルトにするに設定するには、制御器を右クリックし、ショートカットメニューからデータ操作»現在の値をデフォルト設定にするを選択します。Serial Configurationクラスタは、TCP/IPなどの非シリアルバスの構成設定にも使用できます。必要に応じて、クラスタ名と詳細ヘルプを更新し、クラスタ内で制御器を反映させます。
    • Close VI―計測器を閉じる前に計測器を特定の状態に構成する必要がある場合は、ブロックダイアグラムで「VISAを閉じる」関数の前に必要なコードを追加します。
    • Self-Test VI―ブロックダイアグラム上のタイムアウト定数を、計測器がセルフテストを終了するのに十分な長さの値に設定します。デフォルト値は20,000ミリ秒 (20秒) です。
    • Error Query VI―複数のSCPIエラーを構文解析するように設計されています。計測器が異なる方法でエラーチェックを実行する場合は、この機能を実行する他の方法について、Fluke 45 Multimeterなどの他の計測器ドライバを参照してください。Error Query VIは、下位API VI以外のすべてのドライバVIにサブVIとして含まれています。SCPI対応計測器には、エラークエリコマンドに:SYST:ERR?を使用します。SCPIに対応しない計測器では、エラークエリ応答を構文解析して、エラーが発生したかどうかを確認します。応答に基づいて、エラークラスタのブールステータス要素を適切なステータスに設定します。エラーが報告されない場合はブール値をFALSE、それ以外の場合はTRUEに設定します。
    • Revision Query VI―「文字列からスキャン」関数を修正して、計測器のファームウェアのクエリを構文解析します。
  3. ファイルを修正したら、プロジェクト (.lvproj) およびプロジェクトライブラリ (.lvlib) を保存します。

計測器特定のVIを修正する

ドライバの残りの各VIには、以下の手順を実行します。

  1. VIを開き、VIによって定義された操作を実行するために必要な制御器と表示器を追加、修正、または削除することによって、フロントパネルを編集します。
  2. 制御器のデフォルト値を更新して、計測器のデフォルト値と一致するようにします。各制御器の値を設定してから、制御器を右クリックし、ショートカットメニューからデータ操作»現在の値をデフォルト設定するを選択します。
  3. 制御器と表示器のラベルと説明を更新して、変更を反映させます。
  4. 必要に応じて、VIアイコンを編集します。
  5. 制御器および表示器を削除または追加した場合は、コネクタペーンを一致するように編集します。
  6. コマンド文字列および構文解析した応答を更新することによって、ブロックダイアグラムを編集して、計測器の機能と一致させます。
  7. 必要に応じて、VIドキュメントを編集します。「Initialize」VIに入力できるドキュメントの例:この計測器ドライバはシリアル通信をサポートします。シリアル通信を使用中に問題が発生した場合は、19,200未満のボーレートおよびハードウェアハンドシェイクを使用してください。
  8. テンプレートからドライバを作成した場合、各VIには、フロントパネルまたはブロックダイアグラム上の黄色のテキストボックスに変更方法が含まれています。VIドキュメントを読み、VIにある変更方法の手順に従い、最後に手順を削除します。
  9. VIを保存して、テストします。
  10. ファイルを修正したら、プロジェクト (.lvproj) およびプロジェクトライブラリ (.lvlib) を保存します。

計測器特定の新規VIを作成する

  1. 計測器ドライバVIウィザードを使用して、計測器がサポートする追加のVIを作成します。デジタルマルチメータなどのクラステンプレートからドライバを作成した場合は、計測器はクラステンプレートが提供しない追加の機能をサポートする場合もあります。既存VIおよびストラクチャを参考にして、サポートされている各機能に対応する追加のVIの作成する必要があります。たとえば、オシロスコープは通常、多種類のトリガを持ちますが、オシロスコープテンプレートにはエッジトリガのサポートしか含まれていません。計測器が追加のトリガの種類をサポートする場合は、追加の計測器ドライバVIでこの機能を追加します。
  2. 多態性VIを使用して、関連計測器ドライバVIをグループ化します。たとえば、複数のトリガ構成VIは、1つの多態性VIで表すことができます。
  3. ファイルを修正したら、プロジェクト (.lvproj) およびプロジェクトライブラリ (.lvlib) を保存します。

以下は、クラステンプレートから作成されたドライバの具体的な変更例です。

  • デジタルマルチメータ―構成およびデータパレットの下位VIを使用すると、DMMをより正確に制御できます。これらは、「Read (Single Point)」および「Read (Multi Points)」VIと使用するためのものではありません。これらのVIは、既にこの機能の一部を含むためです。これらの下位VIの使用例については、Read Triggered Multiple Example.viを参照してください。
  • オシロスコープ―プライベートのDefault Instrument Setup.viは、シングル集録モードでオシロスコープを設定します。このコマンドは、:ACQ:STOPA SEQ;に似ています。
  • 関数発生器―計測器が任意波形をサポートする場合は、個別のVIを作成して、任意波形のサポートを実装する必要があります。任意波形サポートをConfigure Standard Waveform.viに追加しないでください。

あるモードを有効にする際に、計測器が他のモードを自動的に無効にする場合は、ModulationおよびSweep VIの状態を暗示的に有効にすることができます。このためには、Enable <x> Mode制御器を削除して、FALSEケースをブロックダイアグラムから削除します。

サンプルVIの作成

  1. 計測器ドライバを使用する方法を示す複数のサンプルVIを作成します。サンプルは、計測器操作を実行するのに必要な推奨される呼び出しシーケンスをユーザが理解する上で役立ちます。幅広いユーザが活用できるように、計測器の一般的な各使用例のサンプルを含みます。
  2. サンプルVIは、プロジェクトライブラリではなく、計測器ドライバプロジェクトに含めてください。
  3. ツール→NIサンプルファインダ用にサンプルVIを準備を選択して、サンプルデータファイル (.bin3) を計測器ドライバプロジェクトのexamplesディレクトリに追加します。
メモ LabVIEWによってmstestlvdaqcvitreefrdejaviimdscrt_kozhitesの接頭辞が確保されるため、これらの接頭辞は.bin3ファイル名に使用できません。

VI Tree VIを更新する

  1. VI Tree VIを開いてブロックダイアグラムを更新し、計測器ドライバに変更を適用します。VI Treeは、アプリケーション内のサブVIではありません。ドライバVIの階層の概要を示すためのものです。
  2. Self-TestやResetなどの共通VIを含む、計測器によってサポートされていないVIをすべて削除します。
  3. ドライバに追加するパブリックVIを追加します。
  4. VIを保存して閉じます。

パレットファイルを更新する

  1. すべてのVIが完了したら、関数パレットファイル (.mnu) を更新して、計測器ドライバの変更を反映させます。パブリックの計測器ドライバVIはすべて、パレットファイルからアクセスできなければなりません。サンプルVIをパレットファイルに含めないでください。
  2. ドライバから削除したVIへのリンクは削除します。
  3. 新規VIのパレットの使いやすさを向上するために、必要なサブパレットを追加します。パレットファイルは、VI Treeのレイアウトおよびプロジェクトフォルダの階層に一致する必要があります。

計測器ドライバを計測器ドライバネットワークにサブミットする

開発計測器ドライバネットワーク (ni.com/idnet) にドライバをサブミットすると、計測器の製造元はユーザに計測器ドライバをより簡単に提供することができ、また個人ユーザは独自の開発したドライバを他者と共有することができます。