NI製品ディスカッション

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

forループ

お世話になっております。
 
LABVIEW 8.2
forループのなかで条件に一致したらそこまでで終了したいのですが方法が判りません。
(forループ中から強制的に抜ける方法はありますか?)
 
0 件の賞賛
メッセージ1/3
4,238件の閲覧回数

同じ話題は度々出現するのですが、基本的にLabVIEWのForループは途中でやめられません。しっかり指定回数分まわります。たぶん最新バージョンでも基本的に同じと思われます。

途中でやめたい(条件により終了したい)場合は、Whileループを使い、「カウンタ値が所定の値になるか(通常のForのように)」または「ある所定の条件を満たすか」のORでWhileが終了するように書きかえることになります。

さもなければ、Forループの中にCaseストラクチャを置いてFalse側に処理を書き、ある所定の条件を満たしたら空っぽのTrueに入るようにする(その後二度とその条件がFalseになることが無いよう、シフトレジスタなどを使って条件を制御しないといけないですが)、といった方法で、Forループは回っているけど処理は何もしない、という代用をするしかないと思います。

Forループの中断は結構需要が多いので、次のバージョンくらいから、ForとWhileを組み合わせたような、ループ回数設定と指定条件で中断の2つの端子を持つ新たなストラクチャが用意されても良いかも知れませんね・・・

 

0 件の賞賛
メッセージ2/3
4,224件の閲覧回数
丁寧な返答ありがとうございます。
やはり、出来ないのですね。現状では御回答にあるようにcaseを使用して解決しています。
ただ、CとかのBreakのような命令があるはずだと思い(かってな思いこみですが)探したのですが
見つけられませんでした。最後までループが回るのは無駄なので(作り方で回避は可能ですが)
中止命令はあるだろうと思い質問したしだいです。有り難うございました。
0 件の賞賛
メッセージ3/3
4,206件の閲覧回数