DAQmxのオンボードバッファサイズをプログラム的確認する

更新しました Jan 5, 2023

問題

DAQmxデバイスのFIFO(First In First Out、先入れ先出し)サイズを確認するにはどうすればよいですか?

解決策

LabVIEWには、使用可能な最大FIFOを読み取ることができるプロパティノードがあります。このプロパティノードを使用すると、仕様書またはデータシートに記載されているFIFOサイズを確認できます。
 

まず、FIFOを確認したい目的のチャンネル(アナログ入力、アナログ出力、デジタル入力、またはデジタル出力)を使用するタスクをMAXで作成します。次に、このタスクを選択したタスク定数をDAQmxバッファプロパティノードに配線します。
 

このプロパティノードは、関数パレットの測定I/O>>DAQmx - データ収集>>DAQmx上級>>DAQmx定数&プロパティノード>>DAQmxバッファプロパティノードにあります。入力または出力カテゴリのいずれかを使用して、オンボードバッファサイズプロパティを選択します。最後に、プロパティを読み取りに変更して、表示器を配線します。

追加情報

FIFOは、保持できるサンプルの数によって測定されます。たとえば、cDAQ-9178には、スロットごとに127サンプルを保存できる入力FIFOがあります。つまり、512 S/s/chのレートでデータを収集する4つのチャネルを持つ入力タスクは、63ミリ秒未満でオンボードFIFOをオーバーランします(512 S/s/ch×4 ch×0.0625秒 = 128サンプル)。NI-DAQmxはDMAを使用してFIFOからPCバッファにデータを転送することで、オーバーランを防ぎます。