NI-DAQmxおよび従来NI-DAQ (レシー) に関するよくある質問 (FAQ) へ回答

概要

このドキュメントは、NI-DAQmxおよび従来型NI-DAQ (レガシー) に関するよくある質問 (FAQ) への回答です。

メモ: NI-DAQmx BaseはmacOS 10.14以前のバージョンと互換性があります。このドライバでサポートされているすべてのバージョンについては、macOSの互換性を確認してください。詳細については、『End-of-Life Announcement for DAQmx Base Driver』をご覧ください。

内容

NI-DAQmx説明

NI-DAQmx使い始める方法教えください。

DAQスタートアップガイド』では、NI-DAQmxとDAQハードウェアの設置方法について説明しています。 NI-DAQmxスタートアップガイドメインページでは、いくつかの便利なよくある質問 (FAQ)、例、チュートリアルを参照できます。 

NI-DAQmxヘルプドキュメントどこありますか。

NI-DAQmxをインストールすると、サポートされているADEのヘルプドキュメントとサンプルもインストールされます。NI-DAQmxのヘルプはこのヘルプドキュメントに含まれています。ヘルプには、スタート→すべてのプログラム→National Instruments→NI-DAQ→NI-DAQmxヘルプからアクセスできます。 

NI-DAQmxサポートいるハードウェアですか。サポートていないハードウェアですか。

サポートしているデバイスのリストついては、『NI-DAQ Readme』を参照してください。Readmeには、スタート→すべてのプログラム→National Instruments→NI-DAQ→NI-DAQ Readmeからアクセスできます。 また、オンラインのリリースノートページ上のReadmeに記載されている対応デバイスを確認することもできます。

NI-DAQmx利用できるプログラミング言語教えください。

Windows用NI-DAQmxでは以下に示すさまざまなプログラミング言語を利用できます。

  • NI LabVIEW
  • ANSI C
  • Microsoft Visual C++クラスライブラリ (NI Measurement Studio 7以降を使用)
  • Microsoft Visual C++
  • Microsoft C# .NET
  • Microsoft Visual Basic .NET
  • Microsoft Visual Basic 6.0
  • Python

Linux用NI-DAQmxでは以下のプログラミング言語を利用できます。

  • NI LabVIEW (バージョン8.0以降)
  • ANSI C

NI-DAQmxおよびテキストベース言語を使用したプログラミングの詳細については、『テキストベースプログラミング環境でNI-DAQを使用する』、『NIのハードウェアおよびソフトウェアに関するPythonのリソース』、『NI-DAQmx Readme』を参照してください。

NI-DAQmx使用できるアプリケーション開発環境教えください。

Windows用NI-DAQmxは、広く普及しているADEの多くで機能します。NI-DAQmxのインストール時に、以下に示すさまざまなADEのサポートをインストールすることを選択できます。

  • NI LabVIEW 7以降
  • NI LabVIEW Real-Time 7.1以降
  • NI LabWindows/CVI 7以降
  • .NET言語
  • NI Measurement Studio for Visual C++ .NET (Measurement Studio 7以降が必要)
  • Microsoft Visual Cサポート
  • Microsoft Visual Basicサポート

これらのADEのサポートをインストールするには、必要なサポートをNI-DAQmxのインストール時に選択します。NI-DAQmxを初めてインストールするときに、機能ツリーのNI-DAQmxセクションを展開します。次に、必要なサポートのインストールに使用するAPIを選択します。すでにNI-DAQmxをインストールしていて、設定を変更したい場合は、プログラムの追加と削除を実行します。NIソフトウェアの項目を選択し、変更をクリックします。次に、マシンにインストールされているNIソフトウェアのリストから、NI-DAQmxを選択します。変更をクリックしてNI-DAQmxインストーラを起動します。インストーラで、APIサポートの設定を指定できます。Linux用NI-DAQmxのインストール時には、以下を含むADEのサポートをインストールすることを選択できます。

  • NI LabVIEW 8以降
  • ANSI Cコンパイラ (gccなど)

NI-DAQmxサポートいるオペレーティングシステム教えください。

NI-DAQmxは以下のオペレーティングシステムをサポートしています。

  • Windows 10 (32ビットまたは64ビット)
  • Windows 7 (32ビットまたは64ビット)
  • Windows XP (32ビット) 3742
  • Windows Vista (32ビットまたは64ビット)
  • Windows 2000
  • Linux (SUSE、Redhat、Mandriva)
  • Phar Lap (LabVIEW Real-Timeを使用)

互換性に関する最新情報については、『NI-DAQmx and Microsoft Windows Compatibility』を参照してください。 

NI-DAQmxCD/DVD収録ていますか。

NI-DAQmxインストーラには、さまざまなプログラミング言語やアプリケーション開発環境に対応したドライバのサポートが収録されています。  また、NI Measurement & Automation Explorer (MAX) ソフトウェアも収録されています。  インストーラには以下のコンポーネントが含まれています。

  • 以下に対応したNI-DAQmxアプリケーション開発環境のサポート:
    • NI LabVIEW、サンプル、APIサポート、ドキュメント (サポートされているLabVIEWのバージョンについては、『NI-DAQ Readme』を参照してください)
    • 以下のテキストベースAPIに対応したNI-DAQmxのサポート (サンプルとドキュメントを含む) (詳細については、『テキストベースのプログラミング環境でNI-DAQmxを使用する』を参照してください)
    • LabWindows/CVI
    • LabWindows/CVI Real-Time
    • Microsoft.NET Framework (1.1および2.0言語、VS2005統合を使用)
    • Microsoft Visual Basic 6.0
    • Microsoft Visual C (ANSI C、C#、C++を含む)
    • 2003および2005に対応したMeasurement Studio APIサポート (VS2005統合を使用、サンプルとドキュメントを含む)
    • LabVIEW共有変数エンジン用のOPCプラグイン (詳細については、『NI-DAQmxでのLabVIEWネットワーク共有シェア変数とOPCの使用』を参照してください)
  • Measurement & Automation Explorer
  • NI DAQアシスタント
  • NIデバイスモニタ
  • デバイスのヘルプとドキュメント

Microsoftの開発環境を利用している場合は、Measurement Studioを利用することでアプリケーションの開発時間を大幅に短縮できますので、ご検討ください。  Measurement Studioには、Microsoft Visual Basic、Visual C# .NET、Visual C++ 用に設計されたツールが付属しており、データ収集/計測器制御インタフェースとの統合が簡素化され、ハードウェアとの統合も容易になります。 

LabVIEWプロジェクトNI-DAQmx使用する方法教えください。

LabVIEWプロジェクトエクスプローラを使用すると、LabVIEWプロジェクト内でNI-DAQmxタスク、グローバル仮想チャンネル、スケールを作成および整理できます。これらのコンポーネントはプロジェクトと一緒に保存され、MAXには追加されません。詳細については、『LabVIEWプロジェクトでNI-DAQmxを使用する』を参照してください。NI-DAQmxにおける10種類の関数の習得および多くのデータ収集アプリケーションに対処できる処理について

WindowsNI-DAQmxWindowsNI-DAQmx Base違い教えください。

これらのツールの詳細な比較については、ni.com/dataacquisition/softwareのドライバ比較表を参照してください。

NI-DAQmxNI-DAQmx BaseのAPIは似ていますが、これら2つのAPIのアーキテクチャは完全に異なります。 

NI-DAQmxに組み込まれているソフトウェア機能のいくつかは、NI-DAQmx Baseには組み込まれていません。たとえば、以下の機能はNI-DAQmxでのみ利用できます。

  • DAQアシスタント
  • 上級DAQタスク用のプロパティノード
  • マルチスレッドI/O性能

どのよう場合NI-DAQmx使用しない開発選択する必要ありますか。

NIでは、お客様のアプリケーションでNI-DAQmxのメリットを活用することを推奨していますが、状況によってはNI-DAQmxの利用が理想的でない場合があります。

以下の場合は、従来型NI-DAQ (レガシー) をインストールして使用してください。

  • NI-DAQmxでサポートされていないデバイス (AT EシリーズマルチファンクションDAQボードなど) を使用している。
  • バージョン7以前のLabVIEW、LabWindows/CVI、またはMeasurement Studioを使用している。
  • NI-DAQ 6.9.xからアップグレードし、NI-DAQmxに移植したくない既存のアプリケーションを使用している。

以下の状況のいずれかが該当する場合は、NI-DAQmx Baseをインストールして使用してください。

  • Linux、Mac OS X、RTX、またはPocket PCで使用するためのアプリケーションを開発している。
  • NI-DAQmx BaseでのみサポートされているUSB DAQデバイスを使用している。

以下のリソースは、適切なドライバソフトウェアの選択を判断する際に役立ちます。

  • NI-DAQ Readme

NI-DAQmx入手方法教えさい。

Windows用NI-DAQmxでサポートされているハードウェアをNIでご購入いただくと、最新バージョンのWindows用NI-DAQmxが収録されたNI-DAQ CDが付属します。

以下の手順で、Windows用NI-DAQmxとLinux用NI-DAQmxの最新バージョンを無料でダウンロードできます。

    1. ni.com/supportにアクセスします。
    2. DAQmxと入力して、Enterキーを押します。
    3. 左側のナビゲーションウィンドウでダウンロードをクリックして、検索結果を絞り込みます。

お客様の便宜を図るため、NIではWindows用NI-DAQmxとLinux用NI-DAQmxを収録したCDも提供しており、少額の料金でご利用いただけます。

NI-DAQmx英語以外言語ローカライズていますか。

NI-DAQmxは、英語、フランス語、ドイツ語、日本語、韓国語、簡体字中国語の6か国語にローカライズされています。翻訳言語への対応は、NI-DAQmxの各バージョンにおいて優先事項の1つとなっています。ローカライズ版のデバイス、ソフトウェア、ドキュメントのサポートに関する最新情報については、『NI-DAQmx Readme』を参照してください。

NI-DAQmx導入概念

DAQアシスタントですか。

DAQアシスタントとは、プログラミングを必要とせずにDAQタスク、仮想チャンネル、スケールを構成することに役立つステップバイステップガイドです。DAQアシスタントは、LabVIEWLabWindows/CVIMeasurement Studio、MAXなどのWindows対応NIアプリケーションソフトウェアから起動できます。

DAQアシスタントでは以下のことを実行できます。

  • タスクと仮想チャンネルの作成と編集
  • タスクへの仮想チャンネルの追加
  • スケールの作成と編集
  • 構成のテスト
  • 構成の保存
  • ご使用のアプリケーションで使用するための、NIアプリケーションソフトウェアでのコード生成
  • センサの接続図の表示
  • センサからソフトウェアまでの仮想チャンネルのキャリブレーション

メモ: DAQアシスタントを使用するには、LabVIEW、LabWindows/CVI、Measurement Studioのバージョン7.x以降を使用する必要があります。DAQアシスタントを使用して、NI-DAQmxのコードを生成したり、タスクやグローバル仮想チャンネルを実行したり、他のシステムにタスクやチャンネルを移動したりすることもできます。

DAQアシスタントはNI-DAQmx APIを基盤として構築されており、構成ツールや学習ツールとしても利用できるため、新しいNI-DAQmx APIを速やかに習得するのに役立ちます。

構成の実行後、LabVIEWのDAQアシスタントExpress VIには構成したタスクの実行に必要なすべてのAPIコードが含まれていますが、ブロック図では非表示になっています。DAQアシスタントのダイアログを使用せずに構成内のAPI関数を表示または変更する場合は、DAQアシスタントに組み込まれている、LabVIEW、LabWindows/CVI、およびMeasurement Studioアプリケーション用のコード生成機能を使用できます。

NI-DAQmxタスクですか。

NI-DAQmxのタスクとは、タイミング、トリガ、およびその他のプロパティの集合を持つ1つまたは複数の仮想チャンネルのことです。概念としては、タスクは実行する測定または生成を意味します。タスク内で構成情報を設定、保存し、アプリケーションでタスクを使用することができます。

NI-DAQmxローカル仮想チャンネルグローバル仮想チャンネル違い教えください。

NI-DAQmxでは、仮想チャンネルはタスクの一部としても構成できますが、タスクから切り離して構成することもできます。タスク内に作成した仮想チャンネルは、「ローカル仮想チャンネル」と呼ばれます。タスク外に定義した仮想チャンネルは、「グローバル仮想チャンネル」と呼ばれます

グローバル仮想チャンネルは、MAX内あるいはアプリケーションソフトウェア内で作成して、MAX用に保存できます。また、どのアプリケーションでも使用することができ、さまざまなタスクに追加することもできます。グローバル仮想チャンネルを変更すると、そのグローバル仮想チャンネルに関連するすべてのタスクに変更の影響が及びます。

タスクどのよう場合使用する必要ありますか。

タスクは、タイミング操作やバッファ型操作を利用するすべての操作に必要です。オンデマンド操作では、タスクを利用して設定を再利用し、性能を向上させることもできます。また、ゲイン、端子構成、カスタムスケールの設定が異なる複数の物理チャンネルやグローバル仮想チャンネルをタスクに含めて、同じタイミング設定を使用することもできます。   

グローバル仮想チャンネルどのよう場合使用する必要ありますか。

グローバル仮想チャンネルは単一の物理チャンネルのみを参照します。タイミングやトリガは含まれません。しかし、グローバル仮想チャンネルは複数のタスクから含めたり参照したりできるため、物理チャンネル、端子構成、カスタムスケールなどの設定を維持しながらチャンネルを複数のタスクで使用する必要がある場合に最適です。

NI-DAQmx「仮想チャンネル」プログラム保存することできますか。

NI-DAQmx 7.4以降では、タスク、グローバル仮想チャンネル、スケールをプログラムで作成、保存できます。プログラムで保存したオブジェクトはMAXに表示され、DAQアシスタントとアプリケーションで使用できます。

タスク、チャンネル、スケールをプログラムで保存すると、システム構成や複数の場所へのデプロイメントが簡素化され、エラーの可能性やデバッグの必要性が減少します。

デバイス、タスク、チャンネル、スケール構成インポート/エクスポートする方法教えください。

MAXを使用すると、システム構成をエクスポートして、バックアップとして使用したり、他のマシンにデプロイしたりできます。

エクスポートウィザードを使用して、構成データをシステムからファイルにコピーします。エクスポートウィザードを起動するには、MAXでファイル→エクスポートを選択します。

プロパティノードですか。

プロパティノードとはLabVIEWのコンストラクトのことで、これを使用して参照先のオブジェクトの属性にアクセスできます。NI-DAQmxではこれらのコンストラクトが使用され、NI-DAQmx APIによってサポートされるすべてのプロパティが詳細に制御されます。また、これらのプロパティノードによってAPIの基本的な機能が形成されます。

プロパティノードに加えて、NI-DAQmxでは、アプリケーションの作成に使用できる一連のNI-DAQmx VIも提供されています。これらのVIはプロパティノードの使用と機能的には同等ですが、通常はVIを使用する方が簡単で便利です。たとえば、以下の2つの例は機能的に同等ですが、1つ目の例ではNI-DAQmx VIを使用し、2つ目の例ではNI-DAQmxプロパティノードを使用しています。





上級タスクのカスタマイズにはNI-DAQmxプロパティノードを使用します


ほとんどのアプリケーションでは、NI-DAQmx VIにより必要な機能が提供されます。しかし、より上級のアプリケーションでは、ドライバの属性や機能にアクセスするためにプロパティノードが必要になる場合があります。

上級端子どこありますか。

フィルタ有効時でも、デバイスのプロパティノードのリストは膨大な数になる可能性があります。プロパティノードのプロパティのツリーを表示するには、プロパティセレクタを右クリックして、プロパティを選択をクリックします。

 

このダイアログボックスを使用して、プロパティノードの階層全体を参照できます。プロパティを選択ダイアログボックスの右上隅にある検索アイコンをクリックすると、プロパティを検索できます。 

DAQデバイスシミュレーションする方法教えください。

Windows用NI-DAQmx 7.4以降では、NI-DAQmxでサポートされているほとんどのデバイスについて、NI-DAQmxシミュレーションデバイスを作成し、MAXのハードウェア構成に追加することができます。追加したシミュレーションデバイスはアプリケーションソフトウェアで使用できます。NI-DAQmxシミュレーションデバイスを作成する詳細については、『NI-DAQmx用Measurement & Automation Explorerヘルプ』を参照してください。 


NI-DAQmxシミュレーションデバイスの作成


NI-DAQmxシミュレーションデバイスを使用すると、実際にハードウェアを使用しなくても、NI-DAQmxプログラムを作成して実行し、DAQアシスタントなどのツールを試してみることができます。

NI-DAQmxシミュレーションデバイスを使用するタスクは、物理的なデバイスにおけるタスクと同様に検証されます。プロパティが無効の値に設定された場合に、シミュレーションデバイスに対して返されるエラーは、実際のデバイスで返されるエラーと同じです。また、NI-DAQmxシミュレーションデバイスのタスクに必要なすべてのリソースが予約されます。RTSIライン、PXIトリガライン、DMAチャンネル、カウンタなどが、物理的なデバイスと同様にカウントされ予約されます。

NI-DAQmxインストールNIデータ収集ハードウェア使用する管理者権限必要ですか。

NI-DAQmxバージョン8.6以降では、ドライバ署名に関するMicrosoftのポリシーに従って、NI-DAQmxドライバに署名が付きます。この機能により、システムセキュリティの保証に加えて、管理者権限を必要とせずに、またはデバイスドライバをインストールするためのWindowsプロンプトに手動で入力することなく、選択したNI USB DAQデバイスをWindows XPマシンにインストールできるようになります。学術研究や、マシンをゲストとして使用する場合など、多くの状況において管理者権限を取得することはできません。  署名付きのNI-DAQmxドライバによって、ドライバが最初に管理者によってインストールされている限り、こうした状況が緩和されるようになりました。以下のデバイスがサポートされています。

  • NI CompactDAQとサポートされているすべてのモジュール
  • USB-6008と6009
  • USB-6501
  • USB-9162 (Cシリーズモジュール用USBスリーブ)
  • バス電源駆動のUSB Mシリーズ (USB-621x)
  • 外部電源駆動のUSB Mシリーズ (USB-622xとUSB-625x)
  • Vernier SensorDAQ TM

Windows Vista x64 Editionでは、すべてのドライバへのデジタル署名が義務付けられています。Microsoft社が署名付きの新しいドライバを義務付けているのは、障害を減らすと同時にベンダのバグに対する責任意識を高めようという意図もあります。Windows Vista x86の場合、管理者は署名なしのドライバをインストールすることもできますが、Microsoftでは推奨されていません。NI-DAQmxデータ収集デバイスはすべて、Windows Vista x86およびx64に対応するようにデジタル署名されています。デジタル署名により、すべてのデバイスはユーザプロンプトや管理者権限を必要とせずにインストールされます。  PCIデバイスは起動時に自動的にインストールされ、USBデバイスは接続して (必要に応じて) 電源をオンにするとインストールされます。

パフォーマンス

NI-DAQmxでは新しいPCテクノロジどのよう活用ていますか。

NI-DAQmxにはLabVIEWのサポートが組み込まれており、向上したマルチコアプロセッサテクノロジの処理能力を存分に発揮させることができます。LabVIEWはマルチスレッドであると同時に本質的に並列性であるため、NI-DAQmxなどのマルチスレッドドライバとともに使用すると、LabVIEWコンパイラによって自動的にコード内の並列性が検出され、それらが別々のプロセッサに割り当てられることで、最大限の処理を実現します。

LabVIEWと同様に、NI-DAQmxもマルチコアシステムのメリットを最大限に引き出す設計となっています。当初、NI-DAQmxはPCテクノロジの進化に対応した次世代型データ収集システムを実現するための、新しく使いやすい高性能ドライバを提供する製品としてリリースされました。NI-DAQmxで強化された性能の1つに、マルチスレッドによるアクセスがあります。複数のスレッドからドライバにアクセスする機能によって、システム上のボトルネックが解消され、DAQアプリケーションの性能が大幅に向上しています。マルチコアPCの登場によって、NI-DAQmxで複数のI/Oタスクをマルチスレッド処理により別々のコアで並列実行することが可能となりました。

さらにNI-DAQmxでは、LabVIEW Real-Timeで追加された新しいマルチスレッドサポートが活用されており、マルチコアのリアルタイムターゲットにおいて性能が大きく向上します。  NI-DAQmxの複数のリアルタイムタスクを異なるコアで並列実行できるため、リアルタイムのDAQアプリケーションにおいて最新のプロセッサのマルチコアアーキテクチャを最大限に活用できます。

NI-DAQmxでは、USB 2.0、PCI、PCI Express、PXI、PXI Expressなどの各種PCバスがサポートされています。他社のデータ収集ドライバとは異なり、NI-DAQmxではバスとデバイスで分け隔てのないフレームワークが提供されるため、複数のデバイスで同じドライバと開発したアプリケーションを実行できます。たとえば、最初にPCI-6229低コストMシリーズデバイス用として開発したアプリケーションを、PXI-6281高確度MシリーズデバイスやUSB-6259 BNC高速Mシリーズデバイスなどでも実行することができます。

NI-DAQmxサイズさくディスク使用量抑えることできますか。

NI-DAQmxドライバのさまざまなランタイムを選択することで、ディスク容量を70パーセント以上減らすことができます。そのため、デプロイするアプリケーションと一緒にインストールされるように、NI-DAQmxを再パッケージ化することができます。

NI-DAQmxでインストールされるのは基本的な.dllドライバだけではありません。  NI-DAQmxは、拡張性のあるコンポーネント化されたドライバソフトウェアパッケージであり、構成、デバイス管理、開発、クロスデバイス機能の簡素化に必要なコンポーネントを備えています。また、NI-DAQmxには基本的なAPIをはるかに超えたデバイス関数呼び出しを行う一連の測定サービスも含まれています。NI-DAQmxには、Measurement & Automation Explorer (MAX)、ドキュメント、サンプル、DAQアシスタントが含まれています。

NI-DAQmxインストーラは、インストールファイルをハードディスクのC:\National Instruments Downloads\NI-DAQmxフォルダに抽出します。  NI-DAQmxのインストール完了後も、インストールファイルはハードディスクに残され、1GB近くのディスク容量を占有します。ハードディスクのディスク領域を解放する必要がある場合は、NI-DAQmxの機能に影響を与えずにこれらのファイルを削除できます。  ただし、あとでNI-DAQmxの追加機能をインストールしたり、LabVIEWで作成したインストーラにNI-DAQmxを含めたりする場合は、これらのファイルを再びハードディスクに抽出するか、CD-ROMで用意する必要があります。

LabVIEW作成したスタンドアロンアプリケーション追加インストーラとしてNI-DAQmx含めることできますか。

デプロイされている多くのLabVIEWやNI LabWindows/CVIデータ収集アプリケーションでは、NI-DAQmxドライバやユーティリティの全機能をサポートする必要はありません。NI-DAQmxバージョン8.6.1以前では、フル機能ドライバからサイズを小型化したラインタイムエンジンまで、5種類のバージョンのNI-DAQmxをデプロイできます。 バージョン8.7.1以降では、フル機能のインストールタイプのみ選択できます。それ以外のオプションは削除されました。これは、Measurement & Automation Explorer (MAX) などの特定の機能を省略した場合、DAQmxドライバを使用するソースファイルのプログラミングが非常に困難になるためです。NI-DAQmxの限定版のランタイムを選択する場合は、将来、選択した限定版でNI-DAQmxインストーラを構築する場合に開発が非常に難しくなりますのでご注意ください。    

NI-DAQmxでは、LabVIEWアプリケーション用のインストーラを構築する際にユーザ自身が別のランタイムエンジンを構築するか、ni.comから別のいずれかのランタイムをダウンロードすることができます。以降のセクションでは、5種類のNI-DAQmxランタイムエンジンについて説明するとともに、それぞれの使用例を紹介します。 

カスタムのランタイム機能を利用するには、以下の手順に従ってください。

  1. 開発マシン上で、NI-DAQmxアプリケーションから新規LabVIEWプロジェクトを作成し、保存します。LabVIEWプロジェクトを保存します。
  2. プロジェクトエクスプローラで、ビルド仕様を右クリックし、新規→インストーラを選択します。
  3. インストーラのプロパティウィンドウで、カテゴリの追加のインストーラをクリックします。
  4. NI-DAQmx 8.6以降を選択し、ウィンドウの右上にあるドロップダウンリストからインストーラタイプを選択します。

 

フル

このオプションでは、NI-DAQmxに含まれるすべてのドライバソフトウェアがインストールされます。

使用例:NI-DAQmxを含むカスタムインストーラの構築では、これがデフォルトとなっています。このバージョンは、ターゲットマシン上のNI-DAQmxでさらにアプリケーション開発を行う場合に必要となります。

ランタイム

このオプションでは、NI-DAQmxに含まれるすべてのドライバソフトウェアがインストールされます。ただし以下は含まれません。

  • LabVIEW、LabWindows/CVI、NI Measurement Studio用アプリケーション開発環境 (ADE) のサポート

使用例:以下の条件をすべて満たす場合に、このオプションを使用してNI-DAQmxインストーラを作成できます。
・ NI-DAQmxアプリケーションを実行可能ファイルとしてデプロイし、それ以上の開発が必要ない
・ DAQアシスタントを使用してアプリケーションを開発した

ランタイム2

このオプションでは、NI-DAQmxに含まれるすべてのドライバソフトウェアがインストールされます。ただし以下は含まれません。

  • LabVIEW、LabWindows/CVI、Measurement Studio用アプリケーション開発環境 (ADE) のサポート
  • DAQアシスタント

使用例:以下の条件をすべて満たす場合に、このオプションを使用してNI-DAQmxインストーラを作成できます。
・ NI-DAQmxアプリケーションを実行可能ファイルとしてデプロイし、それ以上の開発が必要ない
・ DAQアシスタントを使用しないでアプリケーションを開発した

ランタイム3

このオプションでは、NI-DAQmxに含まれるすべてのドライバソフトウェアがインストールされます。ただし以下は含まれません。

  • LabVIEW、LabWindows/CVI、Measurement Studio用アプリケーション開発環境 (ADE) のサポート
  • DAQアシスタント
  • NI-DAQmxのドキュメント

使用例:以下の条件をすべて満たす場合に、このオプションを使用してNI-DAQmxインストーラを作成できます。
・ NI-DAQmxアプリケーションを実行可能ファイルとしてデプロイし、それ以上の開発が必要ない
・ DAQアシスタントを使用しないでアプリケーションを開発した
・ ターゲットマシン上でヘルプファイルなどのドキュメント類を使用する必要がない

ランタイム4

このオプションでは、NI-DAQmxに含まれるすべてのドライバソフトウェアがインストールされます。ただし以下は含まれません。

  • LabVIEW、LabWindows/CVI、Measurement Studio用アプリケーション開発環境 (ADE) のサポート
  • DAQアシスタント
  • NI-DAQmxのドキュメント
  • LabVIEW Real-Timeのサポート

使用例:以下の条件をすべて満たす場合に、このオプションを使用してNI-DAQmxインストーラを作成できます。
・ NI-DAQmxアプリケーションを実行可能ファイルとしてデプロイし、それ以上の開発が必要ない
・ DAQアシスタントを使用しないでアプリケーションを開発した
・ ターゲットマシン上でヘルプファイルなどのドキュメント類を使用する必要がない
・ アプリケーションをLabVIEW Real-Timeターゲットにデプロイしない

ランタイム5

このオプションでは、NI-DAQmxに含まれるすべてのドライバソフトウェアがインストールされます。ただし以下は含まれません。

  • LabVIEW、LabWindows/CVI、Measurement Studio用アプリケーション開発環境 (ADE) のサポート
  • DAQアシスタント
  • NI-DAQmxのドキュメント
  • LabVIEW Real-Timeのサポート
  • Measurement & Automation Explorer (MAX)

使用例:以下の条件をすべて満たす場合に、このオプションを使用してNI-DAQmxインストーラを作成できます。
・ NI-DAQmxアプリケーションを実行可能ファイルとしてデプロイし、それ以上の開発が必要ない
・ DAQアシスタントを使用しないでアプリケーションを開発した
・ ターゲットマシン上でヘルプファイルなどのドキュメント類を使用する必要がない
・ アプリケーションをLabVIEW Real-Timeターゲットにデプロイしない
・ インストールのトラブルシューティングや、デバイス名、タスク、スケール、チャンネルなどのデバイス構成の設定にMAXを使用しない

ステートマシンNI-DAQmx性能向上どのよう立ちますか。

NI-DAQmxのタスクステートマシンは、データの収集や生成を開始する前に実行する必要のある構成操作を追跡します。構成操作には、構成の確認 (verify)、リソースの予約 (reserve)、ハードウェアのプログラミング (commit) が含まれます。

NI-DAQmxに実装されたステートマシンにより、タスク検証、リソース予約、ハードウェアプログラミングなどの高負荷の操作が、必要な場合にのみ実行されるようになります。この結果、DAQアプリケーションでは、メインの収集や生成ループ以外で「明示的な」構成操作を実行するときに性能の向上が期待できます。NI-DAQmxでは、検証、予約、コミット操作を実行する明示的なコマンドが提供されています。タスクが収集や生成ループの外部で明示的に検証、予約、コミット、開始される場合、NI-DAQmxではループの反復ごとにこれらの操作が繰り返されなくなるため、全体としてアプリケーションの実行が速くなります。

 


NI-DAQmxはDAQタスクの状態モデルを適用して性能を向上させます


NI-DAQmxの各状態の詳細については、NI-DAQmxヘルプを参照してください。

ディスクストリーミング性能妨げる要因ですか。

ディスクへのストリーミングの性能を妨げる主な要因として、ディスクI/Oの帯域幅、CPUの帯域幅、バスの帯域幅があります。

ディスクI/O帯域幅

IDEドライブを搭載した一般的なシステムは、主にディスクのスループットによる制限を受けます。

たとえば、ストリーミング専用のドライブやコントローラを追加すると改善する可能性があります。専用のドライブを使用すると、OSや他のアプリケーションによる断片化やディスクアクセスに起因する性能の問題を回避できます。高速のドライブや高速RAIDコントローラを使用すると、ディスクI/Oの帯域幅が増加します。

メモ: ドライブやコントローラを購入する際は、ディスクI/Oが実際に使用できる範囲を超えて増加することがないように、事前にCPUの帯域幅とバスの帯域幅を確認してください。

CPU帯域幅

スケールされていないデータでは通常、高速RAIDコントローラが設置されているシステムにおいてのみ、プロセッサの帯域幅が性能に影響を与えます。こうしたシステムでは、収集したデータを取得してディスクドライブに書き込むまでの速度について、CPUの影響を受ける可能性があります。専用のRAIDコントローラを使用している場合でも、ディスクへのデータの書き込み中にCPUの帯域幅の一部が消費されます。スケールされたデータでは、多くの場合、プロセッサの帯域幅が制限要因となることがあります。

システム内のCPUの数を増やしたりCPUの速度を上げたりすると、システムの帯域幅が増えます。

CPUの使用率が100パーセント未満の場合でも、並列実行されるタスクや操作の数を最小限に抑えてください。リソース不足による競合が生じて、ディスクへのストリーミングの性能が低下する可能性があります。

また、システムに応じてストリーミングのコードを調整してください。複数のCPUを搭載したシステムでは、コードの一部を並列実行することでシステムのスループットが向上する可能性があります。

メモ: 同一ドライブへの並列ディスクI/O操作は、一般に性能の低下につながります。

CPUの帯域幅を浪費するメモリコピーやその他の操作が実行されないように、コードを最適化してください。

バス帯域幅

1本のPCI/PXIバスのみを備えた一般的なデスクトップシステムは、バスの帯域幅による制限を受ける可能性があります。標準的なPCI/PXIの理論上の帯域幅は、約130 MB/sです。実際の帯域幅はバスの競合の量に応じて小さくなります。一般に、同一のバス上で同時に動作するデバイスの数が多いほど、バスの帯域幅は小さくなります。

メモ: 1台のNI 6115 DAQデバイスで1秒あたり生成できるデータは80 MBです。

バスの帯域幅を増やすには、システムのバスの数を増やすことが唯一の方法となります。たとえば、一部のハイエンド向けマザーボードには、2本以上の独立したPCIバスを搭載したものがあります。こうしたシステムでは、RAIDコントローラとDAQデバイスを別々のバス上にセットアップできます。このようなマザーボードの場合、ブリッジチップにより、結合したすべてのバスの合計スループットが制限されることがあります。

NI-DAQmxディスクストリーミングどの程度高速ですか。

NI-DAQmxは、デバイスで収集されたデータの移動時またはスケール時にCPU帯域幅を使用するため、主にディスクへのストリーミングの性能に影響を与えます。そのため、CPU帯域幅が制限要因となっているシステムでは、NI-DAQmxでCPUを効率的に使用することが重要になります。

NI-DAQmxでは、読み取り時や書き込み時にCPUの使用を減らすために、最初のリリース以来、継続して複数の最適化が行われてきました。たとえば、NI-DAQ 7.3と7.4のリリース間では、スケールされたアナログ入力ベンチマークの性能が8パーセントから60パーセントに向上しています。スケールされていないアナログ入力ベンチマークの性能は、12パーセントから40パーセントに向上しています。これにより、CPU帯域幅が問題となるシステムで、ディスクへの高速ストリーミングのスループットが向上します。

NI-DAQmxでは、極めてシンプルなデータ圧縮形式を実装しています。サンプルデータの最後のビットを破棄し、残ったサンプルをメモリに格納するという、極めてシンプルなデータ圧縮方式を採用しています。NI-DAQmxでは、LZW、JPEGなどの可逆または非可逆圧縮アルゴリズムを実装していません。

すでにサンプルに未使用ビットが含まれているため、データのロスが生じないという場合もあります。たとえば、チャンネルで12ビットの分解能で16ビットのデータサイズを収集した場合には、使用されない最後の4ビット分の情報が含まれます。必要なディスク容量を最大25パーセントまで減らしながら、データを失わずにこの4つのビットを破棄することができます。

また、サンプルの1つまたは複数の最下位ビットを破棄するようにNI-DAQmxを構成することもできます。たとえば、20の最上位ビットのみを返すように、24ビット分解能と32ビットサンプルサイズでチャンネルを構成できます。合計で12ビット (未使用の8ビットを含む) が破棄され、必要なディスク容量が最大37.5パーセントまで減少します。

従来NI-DAQ (レシー)

どのよう場合従来NI-DAQ (レシー) からNI-DAQmxアップグレードする必要ありますか。

従来型NI-DAQ (レガシー) からNI-DAQmxにアップグレードすると、多くのメリットが得られます。重要な理由の1つは、NIのエンジニアが、生産性と性能の向上について、従来型NI-DAQ (レガシー) にではなくNI-DAQmxに重点を置いていることです。NI-DAQmxのユーザは、最新バージョンのNI-DAQmxを使用することで、イノベーションのメリットを得ることができます。

従来型NI-DAQ (レガシー) と比較した場合にソフトウェア機能の利点が大きいことから、現在のエンジニアリング作業とは関係なく、NI-DAQmxにアップグレードすることもできます。たとえば以下のような利点がもたらされます。

  • 状態モデルの向上
  • マルチスレッドドライバ
  • 例外的な条件での信頼性
  • 同期の簡素化
  • LabVIEWダイアグラムの簡素化
  • 簡単なプログラミングから高度なプログラミングへのスムーズな移行

NI-DAQmxにアップグレードすべきもう1つの理由は、NIが提供する最新のDAQハードウェアを活用できることです。最新の最も革新的なDAQデバイスならば、他のベンダや他社製のデバイスでは得られないテクノロジを利用できます。最新のNI DAQデバイスはNI-DAQmxでのみサポートされています。

アプリケーション従来NI-DAQ (レシー) からNI-DAQmxアップグレードする参考なるリソースありますか。

Developer Zone (ni.com) には、従来型NI-DAQ (レガシー) のユーザがアプリケーションをNI-DAQmxにアップグレードする際に役立つ便利なリソースが用意されています。

希望する移行方法に応じて、3つのチュートリアルをご利用いただけます。

従来型NI-DAQ (レガシー) とNI-DAQmxではプログラミング手法の多くが似ているものの、若干の違いがあることを紹介しています。このチュートリアルでは、個々のAPIで最も一般的なVIと関数について、類似点と相違点を解説しています。

次のステップはこちらからご覧いただけます。 『NI-DAQmxにおける10種類の関数の習得および80パーセントのデータ収集アプリケーションに対処できる処理について』では、NI-DAQmxを使用して、従来型NI-DAQ (レガシー) の多数の関数やVIをNI-DAQmxの10個の関数とVIに置き換えられることを説明しています。このチュートリアルでは、NI-DAQmxのAPIコアを構成する10個のVIについてそれぞれの使用方法を解説しています。」

NI-DAQmxへのアップグレードを検討しているが、現在の従来型NI-DAQ (レガシー) アプリケーションを新しいNI-DAQmx対応ハードウェアで使用したいというユーザのために、NIでは従来型NI-DAQ (レガシー) 互換性VIを開発しました。互換性VIは、従来型NI-DAQ (レガシー) の特定のVIライブラリを、従来型NI-DAQ (レガシー) とNI-DAQmxの両方で動作するライブラリに置き換えるものです。これらのVIは、既存の従来型NI-DAQ (レガシー) VIと見た目はまったく同じで、既存のアプリケーションにシームレスに統合されます。互換性VIは、NI-DAQmxを使用するアプリケーションを再開発するまでのつなぎとしての役割を果たすものですが、NI-DAQmxのみに対応するデバイスでも使用できます。 

メモ:  互換性VIは、あらゆるデバイスのすべての機能をサポートしているわけではなく、将来のリビジョンで更新される保証はありません。これらのVIの詳細については、ni.comを参照してください。

また、NIのWebサイトには数多くのDAQサンプルプログラムがあり、ni.com/examplesから入手できます。これらのサンプルでは、NI-DAQmxを使用して最も一般的なDAQタスクを実行する方法を紹介しています。

同じアプリケーション従来NI-DAQ (レシー) とNI-DAQmx併用することできますか。

2台のDAQデバイスがあり、1台で従来型NI-DAQ (レガシー) を使用し、もう1台でNI-DAQmxを使用している場合は、従来型NI-DAQ (レガシー) とNI-DAQmxを同時に使用できます。DAQデバイスが1台しかない場合でも、従来型NI-DAQ (レガシー) とNI-DAQmxの両方を使用できますが、同時には使用できません。デバイスをリセットし、シーケンスの一部として従来型NI-DAQ (レガシー) とNI-DAQmxのドライバを切り替える必要があります。

LabVIEWでは、従来型NI-DAQ (レガシー) のシーケンスの最後に「デバイスリセット」VIを使用し、NI-DAQmxのシーケンスの最後に「DAQmxデバイスリセット」VIを使用してください。その場合も、それぞれのドライバを別々に使用するように、従来型NI-DAQ (レガシー) の仮想チャンネルとNI-DAQmxのタスクを作成する必要があります。


同じアプリケーションで従来型NI-DAQ (レガシー) とNI-DAQmxを使用できます


マシンNIConfig.DAQファイル使用構成移動する方法教えください。

NI-DAQmxの「エクスポート」関数を使用して、マシン間でハードウェア構成を転送できるようになりました。

構成エクスポートウィザードを開始するには、MAXに移動し、ファイル→エクスポートを選択します。このウィザードを使用してエクスポートする構成を選択し、エクスポート用に選択したファイルに保存できます。構成をインポートするには、MAXに移動し、ファイル→インポートを選択して、構成エクスポートウィザードによって生成されたファイルから構成をインポートします。


MAXを使用したハードウェア構成のインポート/エクスポート


SCXIデバイスすぐ使用したですが、「ob0!sc1!md1!0」チャンネル文字構文NI-DAQmx機能しません。

従来型NI-DAQ (レガシー) で使用されていたSCXIチャンネル文字列は、NI-DAQmxでは使用されなくなりました。現在はSCxMody/channelという形式になっています。

    1. xは、シャーシの構成時に選択したSCXIシャーシIDを示します。
    2. yは、モジュールのスロット位置を示します。シャーシのスロットには、左から右に向かって1から始まる番号が付いています。
    3. I/channelは、実行するデータ収集のタイプに応じて形式が異なります。
      • アナログ入力: /ai#の#は、モジュールのアナログ入力チャンネルの番号です。たとえば、SC1/MOD1/ai1は、IDが1のSCXIシャーシのスロット1にあるモジュールの物理アナログ入力チャンネル1を指します。同じSCXIモジュールで複数のチャンネルを構成している場合は、それらのすべてをSC1/MOD1/ai1、2、4などの形式で含めることができます。これらは、同じSCXIモジュールのアナログ入力チャンネル1、2、4を指します。
      • アナログ出力: /ao#の#はモジュールのアナログ出力チャンネルの番号です。たとえば、/ao2は物理アナログ出力チャンネル2を指します。
      • デジタルI/O: port#/line#の1番目の番号はデジタルポートを指し、2番目の番号は使用中のポートのデジタルラインを指します。たとえば、port0/line2は物理デジタルポート0のライン2を意味します。
      • カウンタI/O: ctr#の#はモジュールのカウンタの番号です。たとえば、/ctr0はモジュールのカウンタ0を意味します。

NI-DAQmx使用カウンタプログラムする方法教えください。

以下の表に、変換の際に役立つNI-DAQmxと従来型NI-DAQ (レガシー) の類似するVIを示します。


従来型NI-DAQ (レガシー)NI-DAQmx
「カウンタグループ構成」VI「DAQmx仮想チャンネルを作成」VI
「カウンタ属性設定」VI「DAQmxチャンネルプロパティノード」VI
「カウンタソース (TIO)」VI「DAQmxトリガプロパティノード」VI
「カウンタソース (STC)」VI「DAQmxプロパティノード」VI
「カウンタコントロール」VI「DAQmx開始」VI
「カウンタ属性取得」VI「DAQmx読み取り」VI
「カウンタコントロール」VI「DAQmx停止」VI


NI-DAQmxでのカウンタアプリケーションの作成に役立つその他のリソースについては、ni.comのDeveloper Zoneで『LabVIEW​で​従来​型​NI-​DAQ (レ​ガ​シー) ​から​NI-​DAQmx​へ​移行​する』チュートリアルを参照してください。

NI-DAQmxダブルバッファ収集方法教えください。

ダブルバッファ型I/Oを実行している場合、バッファをポーリングしてデータを継続的に収集している場合が一般的です。NI-DAQmxでは、NI-DAQmxのタイミング関数を使用してサンプルモードパラメータを「連続」に設定するだけで、このことを実現できます。

NI-DAQmxでは循環バッファを使用します。入力操作では、バッファにデータがコピーされる間にデータの一部分がバッファから読み取られます。同様に、出力操作では、バッファが空になる間にデータの一部分が書き込まれます。循環バッファを使用して、NI-DAQmxで収集したデータを取得する間に、バックグラウンドでデバイスによるデータの連続的な収集が実行されるように設定することができます。


NI-DAQmxではダブルバッファ型データ収集を簡単に実現できます
 

NI-DAQmx使用SCXIモジュール構成する方法教えください。

SCXIデバイスを構成する詳細については、『NI-DAQmx用Measurement & Automation Explorerヘルプ』を参照してください。

MAXでSCXIモジュールのプロパティを設定することもできます。それには、NI-DAQmxデバイスを選択し、SCXIシャーシを右クリックして、プロパティを選択します。シャーシに存在する各モジュールが表示され、詳細タブをクリックして各モジュールのプロパティを設定できます。


MAXを使用したSCXIモジュールとシャーシの構成


MAXでは、ゲイン設定のプロパティのみ公開されていません。NI-DAQmxでは、信号のI/O制限に基づいて最適なゲイン設定となるようにデバイスを自動的に構成できます。

メモ: Linux用NI-DAQmxにはMAXが含まれていませんが、SCXIなどのハードウェアデバイスを構成するためのユーティリティが別に含まれています。 

NI-DAQmxでは、パルス列極性サイクル制御機能どのようなりますか。

NI-DAQmxでは、通常の「DAQmxチャンネルを作成」関数を使用し、カウンタ出力→パルス生成→周波数を選択することで、プログラムを簡素化できます。従来型NI-DAQ (レガシー) では、「パルス列を生成」関数を使用して、パルス列の極性、周波数、デューティサイクルを定義する必要があります。周波数とデューティサイクルに加えて、NI-DAQmxはアイドル状態パラメータを使用してパルス列の極性を構成します。


NI-DAQmxではカウンタ/タイマアプリケーションが簡素化されます

NI-DAQmxのみサポートれるDAQデバイスあるなぜですか。

将来のNI-DAQデバイスはNI-DAQmxではサポートされますが、Traditional NI-DAQ (Legacy) ではサポートされなくなります。NIのエンジニアは従来型ドライバソフトウェアの開発にリソースを投入せず、NI-DAQmxの生産性と性能に重点を置いています。

デバイスのサポートの詳細については、『NI-DAQ Readme』を参照してください。

NI今後従来NI-DAQ (レシー) の開発継続ますか。

Traditional NI-DAQ (Legacy) の開発を終了しました。ただし、既存のアプリケーションの利用を維持するために、引き続き Traditional NI-DAQ (Legacy) をサポートし、ユーザが利用できるようにする予定です。

NI-DAQmxではどのよう性能向上ていますか。

ユーザアプリケーションにおけるDAQの性能は、サンプリングレート、バス速度、ドライバ性能、解析、その他の操作といった、数多くの要因が組み合わさることで決まります。NI-DAQmxでは、以下に示すドライバアーキテクチャの向上により、多くのアプリケーションで従来型NI-DAQ (レガシー) よりも性能を向上させることができます。

  • マルチスレッド操作NI-DAQmxでは、LabVIEWまたはマルチスレッド対応のCプログラムを使用すると、それらのスレッドで異なるNI-DAQmxタスクを実行している限り、複数のスレッドが同時にNI-DAQmxドライバにアクセスできるようになるため、性能が向上します。複数のスレッドからドライバにアクセスできることで、DAQアプリケーションのボトルネックが解消され、場合によっては性能を大幅に向上させることができます。マルチスレッド操作は、複数のタスクを実行し、一度に複数のサンプルを読み書きするアプリケーションの場合に最も大きな効果をもたらします。
  • 負荷の高いDAQ操作の制御の向上NI-DAQmxでは、構成の確認 (verify)、リソースの予約 (reserve)、ハードウェアのプログラミング (commit) など、一部のアプリケーションでボトルネックとなる可能性のあるドライバ操作を、より細かく制御することができます。NI-DAQmxを使用すると、メインのDAQループの外部でタスクを検証、予約、またはコミットするアプリケーションを開発できるため、ドライバでこれらの操作を繰り返し実行する必要がありません。
  • 組込のハードウェアタイミングのシングルポイント操作NI-DAQmx 7.2では、ハードウェアタイミングのシングルポイントデータ収集を実行する必要があるアプリケーションについて、組込のサポートを導入しました。新しい組込モードでは、複数のチャンネルを使用するシングルポイントタスクの性能が向上するなど、 Traditional NI-DAQ (Legacy) と比べて、いくつかの利点がもたらされます。

シングルポイントI/O性能向上しましたか。

NI-DAQmxは、ほとんどすべての場合において、Traditional NI-DAQ (Legacy) と比べてもシングルポイントI/Oの性能が優れています。ただし、従来型NI-DAQ (レガシー) の方が性能が優れている場合もあります。 

具体的には、以下の場合はNI-DAQmxの方が性能が優れています。

  • ソフトウェアタイミングでのアナログやカウンタチャンネルの読み取りと書き込み
  • 複数のチャンネルを伴うソフトウェアまたはハードウェアタイミングでの読み取りまたは書き込み

以下の場合は従来型NI-DAQ (レガシー) の方が性能が優れています。

  • デジタルチャンネルを使用した読み取りまたは書き込み
  • 1つの入力チャンネルと1つの出力チャンネルしかないアプリケーションのハードウェアタイミングのシングルポイント
  • NI-DAQmxは従来型NI-DAQ (レガシー) よりも多くの機能を提供することから、従来型NI-DAQ (レガシー) の方が高速となる場合もあります。たとえば、NI-DAQmxのデジタルチャンネルではラインとポートを任意にグループ化できます。マルチスレッドのサポートや、デバイスの偶発的な取り外しなどの例外的な条件の処理のために、多少のオーバーヘッドが加わります。

NI-DAQmxのチームでは、ドライバの性能を向上させる新機能の開発に絶えず取り組んでいます。

  •  

メモ:従来型NI-DAQ (レガシー) のユーザは、ハードウェアタイミングのシングルポイントになじみがないかもしれません。具体的には、これらのアプリケーションでは、ハードウェアタイミング、ゼロのバッファサイズ、一度に1つずつのサンプルの読み取りまたは書き込みが使用されます。

関連リンク

Was this information helpful?

Yes

No