DAQプログラムの実行時に多量のCPUを消費します



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

問題: ナショナルインスツルメンツ社のDAQデバイスをDAQmxの"Cont Acq & Graph Voltage- Int Clk.vi"といったようなサンプルプログラムを使用して集録を行っています。スキャンレートに10000サンプル/秒を選択し、"Samples to Read"を1000に設定しました。この設定でVIを実行させた際に、CPU使用率が100%近い値になっていました。何故このようなことが起こるのでしょうか、また、どのようにすれば改善されるでしょうか。

解決策: DAQmx読み取り.viは、定期的にどの程度のサンプル数が集録されたかを確認する作業を行います。
この作業は比較的多くの(特に複数チャネルのスキャン中)CPUを使用します。
以下のようにプログラムを書き換えることによりCPUの負荷を減らすことが可能です。

  1. DAQmx読み取り.viのサンプル数/チャネル入力端子に定数で"-1"を接続してください。
    このサンプル数/チャネルへの"-1"の入力により、DAQmx読み取り.viが呼び出された時点でバッファ内にある全てのサンプルを読み込むような設定になります。
  2. Whileループの内側に待機時間を設定して下さい。

待機時間を設定することで、定期的にサンプル数を確認する作業を行わなくなるため、CPUの使用率が大幅に減少します。


関連リンク: NI-DAQmxを使用したプログラムでCPUの使用率が100%になります

添付:


Fig.gif - Fig.gif


報告日時: 07/09/2004
最終更新日: 12/19/2004
ドキュメントID: 3B8GLRL6