配列/波形のサイズとDAQmx PCバッファのサイズは、以下に概説するDAQmxタスク構成によって暗黙的に決定されます。
DAQmxを用いて収集を実行すると、まずデータがDAQデバイスからコンピュータのメモリ(RAM)に転送されます。未読データの保存場所として予約されているDAQmx PCバッファと呼ばれる、事前に割り当てられたバッファがコンピュータのRAMにあります。
DAQmx読み取り関数を実行することにより、DAQmx PCバッファからDAQmxアプリケーション内の配列または波形にデータを読み取ることができます。
LabVIEWでタスク用に対してDAQmxタイミングVIを構成すると、サンプルモードが連続サンプルまたは有限サンプルに設定されているかどうかによって、サンプル数/チャンネルの値が異なる効果を示します。
- 有限サンプルでは、サンプル数/チャンネルの値によって、タスクが完了する前に収集するサンプル数が決まります。
- 連続サンプルでは、デフォルトのバッファサイズが十分でない場合、DAQmx PCバッファのサイズを決定するために、サンプル/チャンネルの値が使用されます。ただし、ほとんどの場合、デフォルトのバッファサイズが使用され、この値は無視されます。連続収集におけるバッファサイズの決定方法の詳細については、有限または連続収集におけるDAQmxバッファサイズの割り当てを参照してください。
逆に、DAQmx読み取りVIにはサンプル数/チャンネルと呼ばれる入力があります。サンプル数/チャンネルの値は、DAQmx読み取りの実行時にバッファからアプリケーションに読み取るデータの各配列または波形のサンプル数を決定します。
DAQmx読み取りVIは、アプリケーションにデータを提供する前に、要求されたすべてのサンプルが収集され、DAQmx PCバッファに格納されるまで待機します。
したがって、タイムアウトによって割り当てられた時間内にサンプルレートがこのサイズの配列または波形を作成するのに十分速くない場合、VIはタイムアウトエラーを返します。これを防ぐには、タイムアウト値(デフォルト値は10秒)を増やすか、サンプル数/チャンネルを減らします。
Additional Information
メモ: DAQデバイスとホストコンピュータのRAM上にあるDAQmx PCバッファ間の転送速度は、DAQデバイス(PCI、USB、PXIなど)との通信に使用されるバスによって異なります。
対話式のDAQアシスタントパネル、SignalExpress、およびNI MAXでは、このパラメータの名前が読み取るサンプル数に変更されます。
サンプル数/チャンネルのデフォルト値は-1で、DAQmx読み取りVIがバッファ内で使用可能なすべてのデータを直ちに読み取るようにします。サンプル数/チャンネルが-1に設定されているときにバッファにデータがない場合、DAQmx読み取りVIはサンプルの収集を待機するのではなく、空の配列を返します。