Whileループ LabVIEW
LabVIEW基本講座3-3
LabVIEWのWhileループについて説明します。
LabVIEWのWhileループ機能
LabVIEWのWhileループは、囲んだループの中に作成されたプログラムを条件端子にTure(真)が入力されるまで繰り返し実行します。
プログラミング言語のdo-While文に相当します。
反復端子は、ループの現在のループ回を数値で出力します。開始数が0なので、n回の実行に対してn-1を出力します。
Whileループの条件設定
LabVIEWのWhileループは条件端子の入力がFalesの時はループを継続して、Tureの時にループを終了するします。
例:停止ボタンがON(True)になった時にループが終了する設定
条件端子の設定でTrueの時にループを継続、Falseの時にループを終了する逆の設定にできます。
Whileループを右クリック→TRUEの場合継続をクリックしてチェックをいれます。TRUEの場合継続の設定になると条件端子のマークが変わります。
ループの出力トンネル機能
Whileループ内からループ外にワイヤを出力させると指標(配列作成)、最後の値、連結の機能を使うことができます。
機能の変更は、ループ外の端子を右クリック→トンネルモードで選択できます。トンネルモードのデフォルトは最後の値です。
指標 | ループ内で実行された順番で配列を作成します。 |
最後の値 | 最後に実行された反復時の最終値を出力します。 |
連結 | 入力が順番に追加され、配線された配列入力と同じ次元の出力配列が生成されます。 |
Whileループの条件端子
LabVIEWのForループは条件端子を使用して、Whileループと同じように条件がTureになった時にループを終了することができます。
条件端子を表示するには、Forループを右クリック→条件端子を選択してチェックをいれます。
条件端子を使用するとForループですが、Whileループでループ回数にOR(追加)の条件を設定した動作となります。
例:反復端子の数値が3以下ならば終了の条件の場合。結果カウント端子は10だが、反復端子が3(ループ4回)で終了している。
例:電圧集録のLabVIEWサンプル。停止ボタンとエラーのどちらかがTrueの時に終了する条件。
Whileループの配列入力
WhileループもForループと同じように自動指標機能で入力した配列を順番に取り出すことが出来ます。
しかし、Forループと異なり、配列の要素数でループ回数は設定されません。
また、入力した配列の要素数がループ回数より小さい場合、要素数以上のループでは空(数値ならば0、文字列ならば空白)が出力されます。
例:3要素の配列を入力して、条件が反復端子の値4以下(ループ回数5)場合、ループの4回目からは0が出力される
Whileループの注意点
Whileループでは条件が必ずTrueとなり、ループを終了できるか注意してプログラムしましょう。
条件が満たせないとWhileループは無限ループになってしまい、ループが止まらなくなってしまいます。
止まらなくなったら、ツールバーの実行を中断ボタン(ショートカットCtrl+.ピリオド)を押して止めます。
また、Whileループは非常に高速でループするため、長時間実行するようなプログラムですとCPUやメモリに負荷がかかるため、待機関数などでループの間隔を調整しましょう。
例:Whileループに100ミリ秒の待機関数を入れてループ間隔を調整