入力タスク

有限的なサンプル集録を実行する場合 (「DAQmxタイミング」関数/VIのサンプリングモードが「有限サンプル」に設定されている場合)、NI-DAQmxはサンプル数/チャンネル属性/プロパティの値に等しいサイズのバッファを作成します。たとえば、チャンネルごとのサンプル数を1,000に指定すると、アプリケーションで2つのチャンネルが使用される場合、バッファサイズは2,000サンプルになります。したがって、バッファは集録するすべてのサンプルと等しい大きさになります。連続的なサンプル集録を実行する場合 (「DAQmxタイミング」関数/VIのサンプリングモードが「連続サンプル」に設定されている場合)、NI-DAQmxはサンプル数/チャンネル属性/プロパティの値が以下の表の値よりも大きい場合は、その属性/プロパティ値に等しいサイズのバッファを作成します。サンプル数/チャンネル属性/プロパティの値が以下の表の値よりも小さい場合は、表の値が使用されます。

サンプリングレート バッファサイズ
指定レートなし 10 kS
0~100 S/s 1 kS
101~10,000 S/s 10 kS
10,001~1,000,000 S/s 100 kS
>1,000,000 S/s 1 MS
メモ ログを有効にすると、連続集録用のデフォルトのバッファサイズがパフォーマンス上の理由により若干変化します。

デフォルトのバッファサイズは、「DAQmx入力バッファ構成」関数/VIを呼び出して変更できます。

「DAQmxタイミング」関数/VIのサンプリングモードが「ハードウェアタイミングシングルポイント」に設定されている場合、バッファは作成されません。

メモ バッファサイズを非常に大きくすると、メモリとハードディスクの間の読み取り/書き込み処理が増え、パフォーマンスが低下する可能性があります。この問題は、バッファのサイズを小さくしたり、システムのメモリを増やすことで緩和できます。

出力タスク

サンプル生成では、生成を開始する前に書き込むデータの容量によって、バッファサイズが決定されます。複数サンプル用の書き込み関数/VIを初めて呼び出した時に、バッファが作成され、サイズが決定されます。

出力バッファは、「DAQmx出力バッファ構成」関数/VIで作成することもできます。この関数/VIは、データを書き込む前に使用する必要があります。

「DAQmxタイミング」関数/VIのサンプル数/チャンネル属性/プロパティは、出力のバッファサイズを決定しません。この属性/プロパティは、生成されるサンプル数を指定します。バッファサイズがnの場合、サンプル数/チャンネルを3×n に設定すると、バッファ内には、バッファサイズの3倍の大きさのデータが生成されます。バッファサイズと同じ容量のデータを生成するには、サンプル数/チャンネルn に設定します。

「DAQmxタイミング」関数/VIのサンプリングモードが「ハードウェアタイミングシングルポイント」に設定されている場合、バッファは作成されません。