Traditional NI-DAQ (Legacy) からMicrosoft Visual Basic .NET使用したNI-DAQmx移行する

概要

メモ:このドキュメントは、『Traditional NI-DAQ (Legacy) からMicrosoft Visual Basic .NETを使用したNI-DAQmxへ移行する』シリーズの最初のドキュメントです。このシリーズの別のドキュメントにアクセスするには、このシリーズの別のトピックへのリンクを参照してください。

内容

『Traditional NI-DAQ (Legacy) からMicrosoft Visual Basic .NET使用したNI-DAQmx移行する』シリーズ概要

このシリーズは、Traditional NI-DAQ (Legacy) とMicrosoft Visual Basic 6.0を使用した環境からNI-DAQmxとMicrosoft Visual Basic .NETを使用した環境への移行を支援します。

Traditional NI-DAQ (Legacy) ドライバは既に廃止されています。NI-DAQmxは新しい推奨ドライバで、NIの最新のデータ収集デバイスで使用できるように設計されています。

NIでは、ネイティブ.NETアプリケーションプログラミングインタフェース (API) の使用を推奨しています。このAPIは、Visual Basic .NETでDAQアプリケーションを作成する際に.NETフレームワークで使用できるように最適化されています。
使用可能なその他のソリューションに関する詳細については、「Traditional NI-DAQ (Legacy) の概要」および「NI-DAQmxの概要」の各セクションを参照してください。

このシリーズは、Visual Basic 6.0でTraditional NI-DAQ (Legacy) CWDAQ ActiveXコントロールを使用したデータ収集アプリケーション作成に精通していることを前提としています。Traditional NI-DAQ (Legacy) CWDAQ ActiveXコントロールを使用したことがない場合も、Visual Basic .NETでのデータ収集アプリケーション作成にNI-DAQmx .NET APIを使用するための入門としてこのドキュメントを使用できます。

NIでは、データ収集アプリケーション (DAQ) の開発向けに複数のソリューションを提供しています。以下の表は、NIデータ収集ドライバとVisual Basicの現行バージョンに基づき、使用可能なオプションを示しています。



NI-DAQmxヘルプアクセスする


このシリーズは、NI-DAQmxに同梱されている2つの主要なリファレンスマニュアルを参照しています。

  • NI-DAQmxコアヘルプ―NI-DAQmxの複数言語に対応しているマニュアルを参照しています。『NI-DAQmxコアヘルプ』はNI-DAQmxの中心的なヘルプで、ドライバのさまざまな特性と機能に関する概要および背景を説明します。このマニュアルにアクセスするには、スタート→プログラム→National Instruments→NI-DAQmx→NI-DAQmxヘルプを選択します。
  • NI-DAQmx .NETヘルプ―.NET DAQmx APIのマニュアルを参照しています。このリファレンスは.NET APIに特化し、NI-DAQmxのクラス、メソッド、プロパティに関するドキュメントを提供します。また、NI-DAQmx .NET APIの使用に特化したトピックの概要も説明します。このヘルプは、Visual Studio .NETドキュメントに統合されています。Visual Studio .NETでHelp→Contentsを選択すると開きます。『NI-DAQmx .NET Library Help』にアクセスするには、NI Measurement Studio Help→NI Measurement Studio .NET Class Library→Reference→National Instruments.DAQmxを選択します。タスクと概要については、NI Measurement Studio Class .NET Library→Using the Measurement Studio .NET Class Libraries→Using the Measurement Studio NI-DAQmx .NET Libraryを選択します。
    関連項目:
    Microsoft Visual Basic Developer Center (英語)

CWDAQ ActiveX使用したTraditional NI-DAQ (Legacy) の概要

CWDAQコントロールは、コントロールを実行する操作のタイプに基づいて編成されています。以下の表は使用可能なコントロールの概要を示しています。


NI-DAQ ActiveXコントロール
目的
CWAIPoint温度など、ゆっくり変化するプロセスを監視するために、1つ以上のアナログ入力チャンネルから1ポイントのデータを収集します。構成済みのデバイスでソフトウェアタイミング測定を収集するには、SingleReadなどのCWAIPointメソッドを使用します。
CWAIさまざまな構成操作で連続ハードウェアタイミング収集の操作を実行します。このコントロールで1つ以上のチャンネルからデータを収集し、開始トリガや停止トリガ、停止条件、異なるチャンネルクロックとスキャンクロックなどの多くの異なるモードを構成します。周波数解析など、複数ポイント/チャンネルで高いサンプリングレートを要求するアプリケーションにこのコントロールを使用します。
CWAOPointシングルポイントソフトウェアタイミングのアナログ出力操作を実行します。コントロール出力の設定など、処理の遅いコントロールシステムの1つ以上のアナログ出力チャンネルを更新します。
CWAOさまざまな構成でハードウェアタイミングのアナログ出力操作を実行します。波形生成は連続モードまたは有限モードで実行できます。アナログデバイスのテストなど、ダイナミックアナログ信号を必要とするアプリケーションにこのコントロールを使用します。
CWDIOデータ収集デバイスのデジタルラインでシングルポイントのアップデートまたは読み取りを実行します。CWDIOコントロールで、物理デバイス (バルブ、リレー、LED) の状態をコントロールしたり、類似するデバイス (スイッチまたは光ゲートなど) の現在の状態を読み取ったりすることができます。
CWDOバッファ型デジタル波形出力を実行します。外部信号や内部クロックに指定したレートで、デジタル出力のデジタルパターンを生成できます。
CWDIバッファ型波形デジタル入力を実行します。外部信号や内部クロックに指定したレートで、デジタル入力のデータを収集できます。
CWPulseデータ収集デバイスでカウンタ/タイマコンポーネントを使用し、個々のパルスとパルス列を生成します。
CWCounterデータ収集デバイスでカウンタ/タイマコンポーネントを使用し、受信するデジタルパルスのカウントまたは測定を行います。標準操作には、イベント数のカウント、不明なパルス周期の測定、信号周波数の測定が挙げられます。
CWDAQTools従来型DAQのユーティリティコントロール。このコントロールはトランスデューサ値をスケールする関数と他のコントロールにはない構成オプションを提供します。


これらのコントロールはVisual Basic 6.0対応で設計され、要求されるハードウェア操作に基づいて編成されています。コントロールの編成の特性上、特定の測定タスクに使用するコントロールは常に直観的に選択できるわけではありません。有意義な結果を得るには、収集データが正しく処理されていることを確認しなければなりません。その理由は、CWDAQコントロールでは、実行されている測定の種類は認識されず、また、収集されるデータが、RTD、熱電対、その他のトランスデューサタイプのいずれから取得されたものであるかも認識されないためです。たとえば、歪み測定を行う場合、適切な励起が適用されていること、スケールが正しいこと、すべての歪みゲージパラメータが正しく設定されていることを確認する必要があります。また、スケール変換や単位変換を管理する必要もあります。これらの設定は、CWDAQコントロールで直接構成することはできません。
Visual Basic 6.0の性質および従来型NI-DAQの制限により、Traditional NI-DAQ (Legacy) CWDAQコントロールでマルチスレッドのオブジェクト指向DAQアプリケーションを作成する際の処理は複雑になります。

以下のセクションでは、NI-DAQmxドライバとNI-DAQmx .NET APIの概要、およびTraditional NI-DAQ (Legacy) とCWDAQ ActiveXコントロールを介して提供されるメリットの一部について説明します。

関連項目:
NI-DAQmxおよびTraditional NI-DAQ (Legacy) に関するよくある質問 (FAQ) への回答
What are the Terminology Changes in NI-DAQmx? (英語)

 NI-DAQmx .NET概要

NI-DAQmxは、Traditional NI-DAQ (Legacy) に存在していたいくつかの欠点を解決する新しいNIデータ収集ドライバフレームワークです。メリットとして、以下が挙げられます。


 

パフォーマンス

  • NI-DAQmxでは、Traditional NI-DAQ (Legacy) と比較してパフォーマンスが大幅に向上しています。特にシングルポイントソフトウェアタイミングのアナログ入力ではその傾向が顕著です。

測定ベースのAPI

  • NI-DAQmxのAPIは、実施する測定のタイプを基準に展開されます。APIでは、抽象化を行うことで、測定に基づいてハードウェアの動作を指定できます。測定に基づくAPIは、ハードウェアサブシステムに基づいてハードウェアの動作を指定するTraditional NI-DAQ (Legacy) とは対照的です。

マルチスレッドドライバ

  • NI-DAQmxドライバを使用すると、コンカレントI/O操作の設定が簡単になり、多くの追加作業を行わずにマルチスレッドデータ収集システムを作成できます。

向上した状態モデル

  • NI-DAQmxは状態モデルを定義して強制することで、入力範囲、タイミング、トリガ、アクセサリの不要な再構成を防ぎます。これにより、全体のパフォーマンスが大幅に向上します。

すべてのプログラミング言語で一貫性が確保されるAPI

  • NI-DAQmxプログラミングパラダイムでは、複数のプログラミング言語で一貫性が確保されます。したがって、NI_DAQmxプログラミングを行うにあたり、LabVIEW、LabWindows/CVI、Measurement Studioの間で作業環境を移行しても、NI-DAQmxドライバの概要を新たに習得し直す必要はありません。

例外的条件での堅牢性

  • Traditional NI-DAQは、異常な処理停止のような、例外的条件の処理が難しいことがありました。NI-DAQmxは、条件などを定義して強制することにより、Traditional NI-DAQ (Legacy) をはるかに上回る堅牢性が実現しています。


NI-DAQmx DAQフレームワークには複数の新しい概念が導入されており、最も重要なものはタスクとタスク状態モデルの2つです。



以下のセクションでは、DAQmx .NET APIについて説明する中で、タスクの設定方法を見ていきます。

タスク状態モデル

NI-DAQmxでは、タスク状態モデルを使用して、ドライバの操作を簡素化し、ドライバのパフォーマンスを高速化します。タスク状態モデルは、未確認、確認済み、予約済み、コミット済み、実行中の5つの状態から構成されます。

アプリケーションの要件に応じて、タスク状態モデルを操作する頻度を自在に選択することができます。

DAQmxのタスクモデルの詳細については、『NI-DAQmxコアヘルプ』でNI-DAQmxヘルプ→NI-DAQmxの主要概念→タスク→タスク状態モデルを選択し、参照してください。

『NI-DAQmxヘルプ』は他のDAQmxの概念に関する情報も提供しています。詳細については、『NI-DAQmxコアヘルプ』でNI-DAQmxヘルプ→NI-DAQmxの主要概念を選択し、参照してください。

Visual Basic 6.0からVisual Basic .NET移行


Visual Basic .NETには、継承、インタフェース、マルチスレッド処理のフルサポート、構造化例外処理などの新しい言語機能が備わっており、Visual Basicを使用する開発者はマルチスレッド処理された拡張性の高いアプリケーションを構築できます。ご使用のアプリケーションでこれらの新しい機能を適用するには、Visual Basic .NETに精通している必要があります。

このドキュメントでは、Visual Basic 6.0からVisual Basic .NETへの移行については説明しません。この移行処理は簡単なものではありません。Visual Basic .NET言語はVisual Basic 6.0言語との下位互換性がありません。Microsoft Developers Network (MSDN) で使用可能な複数のリソースがあります。MSDNでは、Visual Basic .NETの新機能、およびVisual Basic 6.0で作成したアプリケーションの移行について紹介されています。詳細については、「リファレンス」セクションを参照してください。

標準のNI-DAQアプリケーション

DAQアプリケーションのフレームを構築する際、データ収集に使用したドライバやデバイスのタイプに関係なく、アプリケーションを5つの主な手順に分けて編成します。これらの5つの手順へのアプローチは、データ収集ドライバの編成方法やその機能によってさまざまです。これらの手順には以下が含まれます。

1.測定を認識する
2.測定を構成する
3.データ収集操作を実行する
4.I/O
5.クリーンアップ

これらの手順は、一般的なデータ収集アプリケーションを作成するための基本的な構成要素となります。これらの手順を個別に処理し、堅牢なデータ収集アプリケーションを作成するために、DAQアプリケーションでDAQドライバをどのように使用するかを理解する必要があります。その機能をこれら5つの手順に分類し、NI-DAQmx .NET APIをTraditional NI-DAQ (Legacy) CWDAQコントロールと比較します。これらの手順については、このシリーズの別のドキュメントで説明します。それらのドキュメントにアクセスするには、このシリーズの別のトピックへのリンクを参照してください。

.NET NI-DAQmx APIインストール手順




DAQmx .NET APIはNI-DAQドライバの一部として使用可能です。.NET言語のインストールサポートを利用して、DAQmxアセンブリ、付属サンプル、APIリファレンス、概念に関するドキュメントをインストールできます。.NET APIはNI-DAQの一部として無償で提供されます。

DAQmx対応VB.NET付属サンプル

DAQmx .NET API対応C#およびVB.NET付属サンプルは、言語サポートの一部としてインストールされ、Visual Studio .NET 2003の..\National Instruments\MeasurementStudio2003\DotNET\Examples\DAQmxおよびVisual Studio 2005の..\National Instruments\MeasurementStudio2005\DotNET\Examples\DAQmxの各ディレクトリで利用可能です。

NI-DAQmxクイックスタートガイド

『NI-DAQmxクイックスタートガイド』は、ご使用のDAQシステムの開始と実行に役立つドキュメントです。ご使用のマシンでのNI-DAQデバイスの設定とインストールに関する導入説明、およびNI-DAQmxで使用可能なさまざまなプログラミングインタフェースに関する情報を提供します。プログラミングインタフェース、およびそれらのインタフェースの使用開始方法の詳細については、『NI-DAQmxクイックスタートガイド』の「アプリケーションの開発を開始する」セクションを参照してください。このクイックスタートガイドはスタート→プログラム→National Instruments→NI-DAQ→DAQクイックスタートガイドからアクセスできます。

測定認識する


コードを記述する前に、要求されている測定の種類を認識する必要があります。

温度、歪み、位置など、測定の対象を明確にします。キャリブレーションや励起を必要とする外部センサを使用するかどうかも確認します。このセンサデータにスケールが必要であるかどうかも確認します。

実行する測定タイプを正しく理解した後、次の手順は、その操作を構成することです。操作の構成については、『Traditional NI-DAQ (Legacy) からMicrosoft Visual Basic .NETを使用したNI-DAQmxへ移行する:パート2』を参照してください。

Was this information helpful?

Yes

No