Home
Support
PCMCIA DAQCardで遅いサンプリングレートによりデータ集録を行うと、なぜデータの更新が遅くなってしまうのですか?
PCMCIA DAQCardで遅いサンプリングレートによりデータ集録を行うと、なぜデータの更新が遅くなってしまうのですか?
使用ソフトウェア:
使用ソフトウェア・バージョン: N/A
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: N/A
ハードウェア: Multifunction DAQ (MIO)>>E Series>>DAQCard-6062E, Multifunction DAQ (MIO)>>E Series>>DAQCard-6036E, Multifunction DAQ (MIO)>>E Series>>DAQCard-6023E, Multifunction DAQ (MIO)>>E Series>>DAQCard-AI-16E-4, Multifunction DAQ (MIO)>>E Series>>DAQCard-6034E, Multifunction DAQ (MIO)>>E Series>>DAQCard-6035E, Multifunction DAQ (MIO)>>E Series>>DAQCard-6024E, Multifunction DAQ (MIO)>>E Series>>DAQCard-AI-16XE-50
問題: PCMCIA DAQCardからデータ集録をするとき、グラフの更新速度が非常に遅くなってしまいます。このとき、ドライバはNI-DAQmxで、集録モードは連続集録です。グラフの更新速度が、読み取るサンプル数とサンプリングレートに応じた速度で更新される(例えば、サンプリングレートが500S/sec.で読み取るサンプル数を100にした場合、1秒間に5回グラフを更新する)と期待してましたが、それよりも遅い速度でデータが更新されます。
グラフの更新速度を早くするためには、どうすればいいですか?また、なぜこのようなことが起こるのでしょうか?
解決策: データ転送条件プロパティを
空でないオンボードメモリに設定すると、この問題を回避できます。
設定方法は、以下の通りです。
- DAQmx チャンネルプロパティノードを配置してください。
- 項目を開いてください。
- 具体的には、アナログ入力»一般プロパティ»上級»データ転送とメモリ»データ転送リクエスト条件です。
- 書き込みモードに変更し、プロパティを変更するために定数か制御器を作成してください。
- 空でないオンボードメモリを選択してください。
次に、この問題発生のメカニズムについてご説明します。
PCMCIAではDMA転送が使えないので、割り込み転送となります。割り込み転送を行う時には割り込み転送要求を行いますが、デフォルトでは
オンボードメモリが半分以上というモードになっているため、ボード上のFIFOの半分以上のデータがたまって初めて、割り込み要求を出すようになっています。すると、100Hz以下のサンプリングレートが遅い場合には、時間がたたないとFIFOの半分までデータがたまらないので、FIFOからPCのバッファになかなかデータが転送されず、グラフが更新されなくなってしまいます。そこで、FIFO上にデータがある場合には割り込み転送要求を行うように、
空でないオンボードメモリというモードに変更すると、適宜FIFOからPCのバッファにデータが転送されるので、期待したのと同じ更新速度でグラフを更新できるようになります。
以上から、サンプリングレートが遅い場合(100Hz以下)、
データ転送リクエスト条件を
空でないオンボードメモリにしてください。ただし、サンプリングレートが早い場合に
空でないオンボードメモリと設定していると、データ転送効率が悪くなるので注意してください。
関連リンク:
添付:
報告日時: 10/30/2003
最終更新日: 08/18/2006
ドキュメントID: 32TESA2G
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.