システムでDAQデバイスのデバイス名をプログラム的に検索する

更新しました Nov 6, 2019

使用製品

Software

  • LabVIEW

Driver

  • NI-DAQmx

その他

マルチファンクションDAQ

問題

低レベルのDAQmx VI、特に物理チャンネル入力を必要とするDAQmx仮想チャンネルを作成VIを使用しています。同じモデル(例: 2つの異なるUSB-6210)を持つ新しいデバイスで実行ファイルを実行すると、Measurement&Automation Explorer(MAX)が2番目のデバイスをDev2、元のデバイスをDev1と命名するため、コードが壊れます。

同じモデルの新しいデバイスを使用してもコードが壊れないように、アプリケーションでMAXで新しいデバイスに与えられた名前をプログラム的に見つけることはできますか?

解決策

DAQmxシステムのプロパティノードを使用して、デバイス名のリストを見つけることができます。DAQmxデバイスプロパティノードを使用して製品タイプを決定することができます。これは、希望のデバイスモデル名を含む文字列と照合できます。条件付きForループは、システムにあるすべてのデバイス名を反復処理するために使用され、最初のデバイス名の一致が見つかると停止します。ループが停止すると、デバイス名がループから渡され、チャンネルが文字列の末尾に追加されます。結果の文字列は、DAQmx仮想チャンネルを作成VIの物理チャンネル入力として使用できます。

同じモデルの複数デバイスがインストールされている場合に便利なもう1つの方法は、Forループで条件付き指標トンネルを使用することです。 これは、2つ目のスニペットに示すように一致するすべてのデバイスの配列を返します。


追加情報

これらのスニペットは、DAQmxデバイスでのみ動作します。他のデバイスを見つける必要がある場合は、NIシステム構成APIの使用を検討する必要があります。

同じデバイスを複数識別している場合は、ハードウェアプロパティノードを使用してデバイスのシリアル番号を比較し、正しいデバイスを選択できます。存在するデバイスが1つだけでNI MAXに複数表示されている場合は、ハードウェアプロパティノードから「存在する」メソッドまたはエラー検証を使用できます。

この記事はお役に立ちましたか?

いいえ