NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

課題に同期したDAQでのデータの取り込み

添付されたVIの制御器がとんでもないサイズになっていて直らないので、スクリーンショットを参考に修正しました。これからわかるのは:
1) DAQは6ch、1kS/s、100ポイントずつ連続で収録=>Forループは1秒間に最大10回繰り返す
2) 波形チャートはダイナミックデータの履歴1024個=>最大102400ポイントを表示×4つ
3) 「save files_pre」と「波形ファイルに書き込む」ExpressVIはxlsxフォーマット

 

添付(VI2.vi)はチャートを一つ追加して、Forループ10回ごとにかかった時間をプロットするようにしてあります。実行して何が起こるか見てください。遅滞なく実行されていれば1000ms前後のトレースが続くはずですが・・・

 

DAQは1kS/sでせっせとバッファに溜めているのに、プログラムによる読み取り遅れが重なると、ついにはバッファがあふれてエラーになります。改善方法を考えていろいろ試してください。
a) DAQで一度に読み出すポイント数を100より増やして処理の頻度を下げる
b) 波形チャートの履歴数を減らしてみる(一度に何秒観測できればいい?)
c) ファイルフォーマットをxlsxをlvmやTDMSにしてみる

 

それでも思ったように動かなければ、(TAKASUさんが提案されたように)データをキューで保存専用の別ループに転送して書き込むことを検討すると良いと思います。


なお添付VIはテスト用なのでそのまま本体に使わないでください。ケースストラクチャ中のDAQアシスタントが連続収録中に呼び出されなくなる場合があるならタスクを一時停止する必要があります。

メッセージ11/12
678件の閲覧回数

誤記:ForループではなくWhileループです。

0 件の賞賛
メッセージ12/12
659件の閲覧回数