|
サンプリング(スキャン)レートを選択した際に、NI-DAQはどのようにしてコンバート(チャネル)レートを選択していますか。これは、NI-DAQmx・従来型NI-DAQのどちらを使用した場合でも、同じように決定されますか。
また、このコンバート(チャネル)レートの初期設定は、どのようにして変更することが出来ますか。
注意;NI-DAQmx用語と従来型NI-DAQ(NI-DAQ Version6.9.3以下での”NI-DAQ”と同意)用語を使用しております。本文内、従来型NI-DAQ用語は括弧”()”で表しております。
従来型NI-DAQとNI-DAQmxの用語定義の違いは、NI-DAQmxのヘルプから参照できます。
スタート > プログラム > National Instruments > NI-DAQ > NI-DAQmx Help
また用語の違いについてウェブ上の情報のページを以下にリンクしています。(データ集録用語)
複数チャンネルサンプリングの方法としてインターバルサンプリング(スキャニング)法が基本となり、この方法はサンプル(スキャン)クロックで集録開始を制御し、コンバート(チャンネル)クロックでチャネル間のサンプルタイミングを制御します。
インターバルサンプリングの説明をリンクしています。(インターバルサンプリングとラウンドロビンサンプリングの違い)
従来型NI-DAQとNI-DAQmxによるデータ集録は、サンプリング(スキャン)レートを設定した時にコンバート(チャネル)レートを選択する部分がドライバによって異なります。
コンバート(チャネル)クロックはチャンネル間遅延の逆数より算出され、チャンネル間遅延が12.5μsの際はコンバート(チャネル)クロックが80,000Hzとなります。
従来型NI-DAQ
初期設定でチャネルレートは、デバイスの可能な限りの最速レートにDAQの増幅器に最適な整定時間のための余裕(10μs)を付加した値より算出されるレートとなります。
スキャンレートが比較的低い場合、チャンネル間のスキャン遅延が (1 / デバイスの最大サンプリングレート)+10μs となりチャンネルレートがその逆数となります。
チャネルレートへ自動的に10μsの付加した時間が、スキャンレートの周期内に収まらない等のスキャンレートが速い場合、10μsは付加されません。デバイスがラウンドロビンサンプリングをし、スキャンレートにチャンネル数かけたレートをチャンネルレートとして設定します。
NI-DAQmx
バージョン7.4以降においてコンバートクロックは従来型NI-DAQと同様の方法がとなります。
初期設定でコンバートレートは、デバイスの可能な限りの最速レートにDAQの増幅器に最適な整定時間のための余裕(10μs)を付加した値より算出されるレートとなります。
以下がM シリーズDAQデバイス PCI-6221(最大サンプリングレートは250kS/s)の2チャンネル集録をする際の例となります。
サンプリングレートが10kHz等の比較的低い場合
コンバートレート = 1 / {(1 / 250000) + 10μs} = 71428.6 Hzサンプリングレートが35kHzより高いの場合(40kHz×2 ch > 71428.6 Hz)
コンバートレート = 1 / (1 / Sampling rate × チャンネル数) Hz
= 1 / (1 / 40kHz×2 ch) Hz
= 80 kHzしたがって35kHz(2チャンネル集録)より高いサンプリングレートで集録をする際はドライバが自動的に10μsを足すことなく、上記の計算によって算出したコンバートレートで集録を行います。
集録自体はもちろん35kHz(2チャンネル)以上にて可能ですが、高すぎるレートで集録するとチャンネル間の影響が出てくることもあります。
デバイス上の整定時間は4μsとなりますが、PCI-6220で+/- 1 LSB の精度を出す際はチャンネル間遅延を7μs 以上にすることを推奨しております。
バージョン7.3以降においてコンバートレートは常にサンプリングレートにチャンネル数をかけたレートになります。
下の2つの画像ファイルは、NI-DAQmx7.3と従来型NI-DAQのコンバート(チャネル)レートの設定方法の違いを示しています。
また、通常はコンバート(チャンネル)クロックを設定する必要はありませんが、高インピーダンスの信号等、デバイスの増幅器に長めの整定時間を設定するため、またできるだけ同時サンプリングにするため等のチャンネル間遅延を調節する際は設定することが可能です。
コンバート(チャンネル)レートを任意に設定する場合、ドライバによる10μsの時間を付加しません。
任意の値に設定する方法として使用する関数は以下になります。
従来型NI-DAQ
AI Config VI
status = SCAN_Start (deviceNumber, buffer, count, sampTimebase, sampInterval, scanTimebase, scanInterval);NI-DAQmx
DAQmx Timing property nodeのAIConv.Rate
int32 __CFUNC DAQmxSetAIConvRate(TaskHandle taskHandle, float64 data);
設定、使用方法等の詳細はNI-DAQmx と 従来型DAQ でのチャネル間遅延の設定方法 を参照して下さい。
データ集録用語
http://digital.ni.com/public.nsf/allkb/489B083407DDF31086256F07004152B6?OpenDocument
インターバルサンプリングとラウンドロビンサンプリングの違い
http://digital.ni.com/public.nsf/allkb/4AB8F83E8FB21D9486256F06007D8B15?OpenDocument
NI-DAQmx と 従来型DAQ でのチャネル間遅延の設定方法
http://digital.ni.com/public.nsf/allkb/E14609E97067DE33862573BF00330351?OpenDocument
|