DAQmxタイミングおよびサンプルレート



使用ソフトウェア:
使用ソフトウェア・バージョン: 7.0
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: N/A
ハードウェア: Multifunction DAQ (MIO)

問題:
「DAQmx タイミング」VIを使用して基本的なデータ集録を実行しています。サンプルクロックは、データの読み取り速度にどのように関連しますか。

解決策:
データの読み取りには2つの側面があります。1つは実際の信号がどれほど速くデジタル化されるか(速度)と、ハードウェアのFIFOから一度にどれほどのデータが取得されるか(量)です。これらのハードウェアとソフトウェアの構成は、互いに共依存しています。

ハードウェア側では、「DAQmxタイミング」VIは、デバイス/センサからデータ収集ボード上のハードウェアFIFOへのデータフローのレートを決定します。ソフトウェア側では、「DAQmx読み取り」VIは、PCのバッファからソフトウェアへのデータの転送を決定します。




パート1: デバイス/センサからDAQボード上のハードウェアFIFOへ 

概要
「DAQmxタイミング(サンプルクロック)」VIは、デバイスからサンプルを集録する数とレートを制御します。このVIは有限、連続、およびハードウェアタイミング1ポイントの3つのモードで動作します。選択したモードは、集録されるサンプル数に影響します。

DAQmxタイミングは多態性VIです。ここで説明したインスタンスは、サンプルクロックです。 DAQmxタイミングの他のインスタンスの詳細については、『LabVIEW ヘルプ』を参照してください。

有限集録では、サンプル数/チャンネルが各チャンネルで読み取られるサンプル数を決定します。つまり、サンプル数/チャンネルは収集されるデータのチャンクのサイズを設定します。
連続集録では、サンプル数/チャンネルは各チャンネルに指定されているPCバッファのサイズを決定します。

速度
レートは、サンプルを集録し、ハードウェアのFIFOに配置する速度を決定します。レートを指定する値は「DAQmxタイミング」VIのソース入力で指定したタイムベースに依存します。Mシリーズのカードのデフォルトソースはオンボードクロック(80 MHz)です。指定されたレートは、ソースの除数でなければなりません。達成可能な集録レートの詳細については、以下の関連リンクを参照してDAQサンプルレートの詳細を説明している技術サポートデータベースの記事を検索してください。



パート2: ハードウェアFIFOからPCバッファとプログラミング環境へ

概要
「DAQmx読み取り」VIは、プログラミング環境でデータが操作される場合のデータフォーマットに加えて、PCがハードウェアFIFOバッファからデータを取得するレートを決定します。「読み取り」VIも多態性です。単一または複数チャンネルのタスク、単一または複数サンプル集録などさまざまなタイプのタスクに対して、またさまざまなデータ表記法に対して異なるインスタンスが存在します。

サンプル数/チャンネルは、PCバッファからプログラミング環境に取得されるサンプル数を決定します。選択したデータ転送方法(DMA、割り込み要求、プログラムI/O、またはUSBバルク)は、ハードウェアFIFOからPCバッファへサンプルが実際にどのように取得されるかを決定します。『NI-DAQmxヘルプ』の「データ転送メカニズム」を参照してください。プログラムI/Oを使用する場合、「DAQmx読み取り」VIはハードウェアFIFOから直接サンプルを取得します。その他すべての転送方法はハードウェアタイミングで、これらを使用する場合は、サンプル数を「DAQmxタイミング」VIで指定したレートの1/10にすることをお勧めします。たとえば、「DAQmxタイミング」VIの「レート」入力が1000(Hz)の場合、「DAQmx読み取り」VIでのサンプル数/チャンネルは100以下になります。これにより、PCバッファのオーバーライトエラーまたはアンダーライトエラーがないことが確実になります。

メモ:
1チャンネルまたは複数チャンネルのいずれかで複数のサンプルがドロップダウンリストから選択されている場合、「DAQmx読み取り」VIにはサンプル数/チャンネル入力のみが表示されます。「NSamples」がセレクタボックスのタイトルの一部になります(以下の画像を参照)
集録モードが有限(集録モードが「DAQmxタイミング」VIの入力)で、サンプル数/チャンネルが-1または配線されていない場合、「DAQmx読み取り」VIは有限集録のすべてのサンプルがPCバッファに入るまでに待機し、その後、そのサンプルを読み取ります。集録モードが連続の場合、PC バッファで現在使用可能なすべてのサンプルを読み取ります。

速度
プログラムI/Oを実行する場合、DAQボード上のハードウェアFIFOからプログラミング環境にサンプルを読み取るレートは、「読み取り」VIが呼び出される頻度に依存します。「DAQmx読み取り」VIは多くの場合はwhileループ内にあるため、ループ速度は「DAQmx読み取り」VIが実行される頻度を決定します。ソフトウェアの速度は、プロセッサの速度と、同時に発生するプロセスの数にも依存します。 他のデータ転送方法を使用する場合、ハードウェアFIFOからPCバッファにサンプルを取得する速度はプログラムの実行速度に依存しません。このため、PCバッファを強制的に使用する、プログラムI/O方法以外を使用することが望ましい場合がよくあります。 これにより、「DAQmx読み取り」VIがLabVIEWへ送信される時間に間に合うように複数のサンプルが保持されます。

まとめ
データの集録速度を特定する場合、集録の両方のステップが一致する必要があることに注意してください。 ハードウェアFIFOからPCバッファへデータが転送されるレートは、ハードウェアFIFO自体にデータがロードされるレートと比較して、速すぎても遅すぎてもいけません。速すぎたり遅すぎたりすると、PCバッファエラーが発生します。PCバッファのオーバーライトおよびオーバーフローのエラーの詳細については、関連リンクを参照してください。


関連リンク:
技術サポートデータベース39BCDJMV: DAQボードで実際に利用できるサンプルレートはいくつですか?
技術サポートデータベース27R8Q3YF: データ集録の際に指定したスキャンレート(サンプリングレート)ですが、実際のスキャンレートはどうなっていますか?
技術サポートデータベース31T899KD: 有限/連続収集の際にDAQmxバッファサイズはどのくらい割り当てられますか?
技術サポートデータベース4R2AKK00: Understanding and Avoiding Overwrite and Overflow Errors with NI-DAQmx
技術サポートデータベース38BFMB3U: Timing Considerations for S Series Devices with NI-DAQmx
ホワイトペーパー: NI-DAQmxにおける10種類の関数の習得および多くのデータ集録アプリケーションに対処できる処理について
ホワイトペーパー: When Would I Use an External Sample Clock?
ホワイト ペーパー: NI-DAQmx および従来型 NI-DAQ(レガシー)に関するFAQ
ホワイト ペーパー: NI-DAQmx 入門: メインページ
製品マニュアル: Mシリーズユーザマニュアル
『NI-DAQmxヘルプ』の「データ転送メカニズム

添付:





報告日時: 08/15/2016
最終更新日: 09/06/2016
ドキュメントID: 4Y2AS1WA