10-30-2020 01:07 AM
Labview上で計測したデータを自動で解析するプログラムを作成しています.
解析に"TSA Independent Component Analysis VI"を用いているのですが,特性上,予期せぬパターンの信号が入力されると計算量が多くなり,演算に時間がかかってしまいます.
タイムアウトの時間を設定し,計算量が多くなってしまった場合はエラーを出す等の処理をして"TSA Independent Component Analysis VI"の計算処理を途中で停止してスキップしたいのですが,当該のVIの引数にタイムアウトの設定事項が見当たりません.
何か良い方法がございましたらご教授いただけると幸いです.
解決済! 解決策の投稿を見る。
10-30-2020 01:37 AM - 編集済み 10-30-2020 01:57 AM
この関数は内部を確認できますが、複数のサブVIから構成されており、
サブVIの中ではForループやWhileループが複数使用されています。
どこで処理時間を要しているかわかりませんが、ご所望の機能を実装する場合はこのサブVI一つ一つに対して編集を行う必要がありますので、難しいかと思います。
これはLabVIEWに限らず、タイムアウトが設定できない関数で起こりうる問題で、課題の一つです。
特定の条件で処理時間を要することが既知の場合、例えば前処理でデータ数を減らす、
並列処理が可能であれば動的に関数を呼び出して放置し、あとで結果を回収するなどが考えられます。
11-01-2020 08:45 PM
ご対応ありがとうございます.
実装が当該のVI内を編集しないことには難しいということがわかり大変助かりました.
並列処理による方法を試した後,実装が難しい場合は条件を洗い出して対応しようと思います.