01-24-2017 01:31 AM
現在,Labviewのブロック内の,whileループ内にあるサブVIのみを遅延させる方法が
分からずに困っています.
whileループ内で,DAQアシスタントからの入出力を行い,サブVIが一定のタイミングで起動する
ように設計したいです.
基本的な質問かもしれませんが,解決方法や,ご意見をお願いします.
解決済! 解決策の投稿を見る。
01-24-2017 02:42 AM
やりたいことがいまいち文章から読み取れないのですが、できていない状態でも構わないので、VIを投稿していただくことは可能でしょうか。
01-24-2017 02:56 AM
ありがとうございます.
作成中のVIを載せます.
01-24-2017 06:34 AM
VIの投稿ありがとうございます。
今でも1ループ2秒で回っているのだと思いますが、これでは不十分だということですね。今の状態だと具体的に何が不十分なのでしょうか。
01-24-2017 06:45 AM
Melry さん 対応ありがとうございます.
while ループを遅延させずに,VIのみを一定タイミングで遅延させたいのです.
現状だと,whileループもサブVIも遅延してしまいます.
添付したプログラムでは,ブロックダイアグラム上にそのまま遅延時間を
置いていますが,サブVIの中にあっても,サブVIのみを遅延させることができませんでした.
初心者なので,現状の問題の要点を押さているかどうかが,不安ですが
回答やご意見をお願いします.
01-24-2017 06:54 AM
すいません、まだ、「サブVIのみを遅延」というのがいまいち理解できていません。
DAQの入出力はできるだけ高速で回しながら、サブVIだけ例えば1秒間隔で回したい、という理解であってますか?
01-24-2017 07:01 AM
対応ありがとうございます.
おっしゃるとおりです.
サブVIのみが一定遅延時間間隔で止まっているようにしたいです.
01-24-2017 07:06 AM
なるほど、ありがとうございます。それなら、同一ループではサブVIとDAQアシスタントは回せないので、別ループに分ける必要があります。
DAQの出力がサブVIの出力値に依存していますが、その部分は、サブVIが止まっている間は前回の値を使用するというので問題ないですか?
01-24-2017 07:10 AM
対応ありがとうございます.
そうですね.サブVIを遅延させて,一定間隔でサブVI1からの出力値を
増加させていくプログラムにしたいのです.
01-24-2017 07:19 AM
それなら、サブVIを別ループに分けてそちらはDelay入れて望みのレートで回して、最新の値はローカル変数で渡すのが簡単だと思います。