Labview データ収集プログラムのヘルプを探しています。チャネルごとに 8kHz で 2ms のデータを収集できた場合 (16 データ ポイント) (ナショナル インスツルメンツのデータ収集ボードを使用して 4 つのアナログ チャネルでデータを収集しています)。DAQ-MX 収集タスクは、4 つの波形の 1D 配列を提供します。
データを表示しない場合、すべての計算時間は約 2 ミリ秒であり、処理ループが収集ループより少し遅れても問題ありません。Labview のフロント パネルでチャートを更新すると、許容できない遅延が発生します。表示を非常に迅速に更新する必要はありません。おそらく 5 ~ 10Hz で十分でしょう。しかし、私はこれを設定する方法がわかりません。
私の現在のLabview VIには3つの並列ループがあります
- データ収集のタイムループ
- 分析と処理のループ
- データを TDMS ファイルとしてディスクにキャッシュする優先度の低いループ
データは、キューを使用してコレクション ループから他のループに渡されます。Labviewの例でいくつかのアイデアが得られましたが、行き詰まっています。
提案、参考文献、アイデアをいただければ幸いです。
ありがとう
アジム
フォローアップの質問
eaolson は、表示目的でデータを再サンプリングすることを提案しています。DAQ-MX 読み取りからのデータは、波形の 1 次元配列です。したがって、各チャネルの波形データを何らかの方法で構築または連結する必要があります。次に、フロント パネル チャートを更新する前に、データを再サンプリングします。最善の方法は、データをキューに入れ、表示ループでスタック ビルドをデキューし、画面の解像度に基づいてデータを再サンプリングしてから、グラフを更新することだと思います。他のアプローチはありますか。eaolson が提案した詳細については、(NI Labview フォーラム)[ http://forums.ni.com/ni/board?board.id=170]を参照してください。
アップデート
- グラフの許容可能な更新レートを 5 ~ 10Hz に変更 (Underflow と eaolson に感謝)
- ディスク キャッシュ ループは優先度が低い (thanks eaolson)
- すべての応答に感謝します。