バッファサイズの決定
- 更新日2025-12-03
- 3分で読める
入力タスク
有限的なサンプル集録を実行する場合 (「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のサンプリングモードが「ハードウェアタイミングシングルポイント」に設定されている場合、バッファは作成されません。