DAQmx関数
LabVIEW基本講座 ハードウェア編8
LabVIEWのDAQmx関数を説明します。DAQmx関数は、NI社製DAQデバイスのデータ収集、信号発生、設定操作のプログラムができるVI関数です。

多態性VI
DAQmxでは、同じ関数でも選択によって、異なるデータタイプや動作を使い分けることが多態性VI関数があります。
多態性とは
多態性(ポリモーフィズム)とは、オブジェクト指向プログラミングの一つで、ある1つ関数やメソッドなどが、引数や返り値の数やデータ型などの異なる複数の機能を1まとめにして、呼び出し時に使い分けるようにできること。
例:「DAQmx仮想チャンネルを作成」の1関数で、アナログ入力、アナログ出力、デジタルI/O、カウンタI/Oに使い分けます。


DAQmxの多態性VI
DAQmxでは以下の関数が多態性VIになります。
- DAQmx仮想チャンネルを作成
- DAQmx読み取り
- DAQmx書き込み
- DAQmxタイミング
- DAQmxトリガ
関数の下のリストをクリックして表示されるリストから使用する機能を選択します。
例:「DAQmx読み取り」をクリックして機能を選択します。

選択した機能により読み取るデータタイプが変わります。

DAQmx関数一覧
DAQmxタスク名
DAQアシスタントで作成および保存されたすべてのタスクのリストを表示します。

DAQmxグローバルチャンネル
DAQアシスタントを使用して作成および保存されたすべての仮想チャンネルをリストします。

DAQmx仮想チャンネルを作成
仮想チャンネルまたは仮想チャンネルのセットを作成して、それらをタスクに追加します。

多態性VIで、アナログ入力、デジタル出力、カウンタ出力などのチャンネルのI/Oタイプ、温度測定、電圧生成、イベントカウントなどの測定または生成の実行、および温度測定の熱電対やRTDなどのセンサの使用に対応します。

DAQmx読み取り
指定したタスクまたは仮想チャンネルからサンプルを読み取ります。

多態性VIで、 読み取るサンプルフォーマットの種類、1つまたは複数のチャンネル、一度に単一または複数のサンプルの読み取りを指定します。

DAQmx書き込み
指定したタスクまたは仮想チャンネルにサンプルを書き込みます。

多態性VIで、書き込むサンプルフォーマットの種類、1つまたは複数のサンプルを書き込むかどうか、1つまたは複数のチャンネルに書き込むかどうかを指定します。

DAQmx完了まで待機
測定または生成が完了するまで待機します。このVIを使用して、タスクを停止する前に指定した操作が完了したかどうかを確認します。

DAQmxタイミング
集録または生成するサンプル数を構成し、必要に応じてバッファを作成します。

多態性VIで、タスクに使用するタイミングのタイプに対応します。

DAQmxトリガ
タスクのトリガを構成します。

多態性VIで、構成するトリガおよびトリガのタイプに対応します。

DAQmxタスクを開始
タスクを実行状態に遷移し、測定または生成を開始します。このVIは、「DAQmx仮想チャンネルを作成」で「自動開始」をFalseにした場合Falseは必須となります。

DAQmxタスクを停止
タスクを停止します。「DAQmxタスクを開始」を実行する前の状態に戻します。

DAQmxタスクをクリア
タスクをクリア(消去)します。
タスクをクリアする前に、「DAQmxタスクを停止」をするか、予約したタスクを全て解放しておきます。

DAQmxチャンネルプロパティノード
DAQmxチャンネルクラスのプロパティノードです。

DAQmxタイミングプロパティノード
DAQmxタイミングクラスのプロパティノードです。

DAQmxトリガプロパティノード
DAQmxトリガクラスのプロパティノードです。

DAQmx読み取りプロパティノード
DAQmx読み取りクラスのプロパティノードです。

DAQmx書き込みプロパティノード
DAQmx書き込みクラスのプロパティノードです。

DAQアシスタントExpress VI
NI-DAQmxを使用して、タスクの作成、編集、実行を行います。Express VIにより、表示されるダイアグラム対話式で構成することで、DAQmxプログラムを構築できます。

DAQアシスタントExpress VI については次の章で詳しく説明します。
DAQmx上級関数
DAQmx上級関数では、タイミングやタスク管理など、高度なプログラミング関数が用意されています。
DAQmx Real-Time VIおよび関数
Real-Time操作の構成および実行には、DAQmx Real-Time VIおよび関数を使用します。

DAQmxデバイス構成VIおよび関数
DAQmxデバイス構成VIおよび関数を使用して、ハードウェア特有の構成および制御を行います。

DAQmx上級タスクオプションVIおよび関数
DAQmx上級タスクオプションVIおよび関数をタスクの上級構成および制御に使用します。

DAQmx上級VIおよび関数
Real-Time操作の構成および実行には、DAQmx Real-Time VIおよび関数を使用します。
