LabVIEW +
ソフト開発 +
実験・研究装置開発 +
システム開発 +
納入事例 +
会社概要 +
・Whileループの使い方
Whileループは、回数が決まっていない繰り返し処理を行うことができます。 ループを止める処理を行うまで、半永久的に処理を繰り返し続けます。
Whileループの使用例として、数当てゲームを作成します。
ブロックダイアグラム上で右クリックし、関数パレットを表示させ、ストラクチャにカーソルを合わせます。 Whileループを選択し、左クリックを押して範囲を指定することで作成できます。
Whileループの枠に囲まれた処理が繰返し行われます。 基本的に、ループ中は、ループ外の処理は行われません。
Whileループの右下にある赤丸に停止スイッチをつないでループを停止できるようにします。
赤丸に停止条件が接続されていないと、Whileループはエラー状態となり、プログラムを実行できません。
Whileループは停止するまで処理を繰り返し続けるので、PCに負荷がかかります。
負荷を減らすため、「待機」や「イベントストラクチャ」を使用し、ループを一時停止させます。
待機はプログラムの動作を指定した秒数止めることができます。
Whileループの中に100ミリ秒の待機を置くと、1秒間に約10回、ループ内の処理を行います 1回の処理を行う時間が100ミリ秒を超える場合は、1秒間に9回、8回・・・と減っていきます。
待機中は、プログラムが停止している状態なのでループ停止ボタンを押しても反応しなくなります。 また、待機を開始すると指定した秒数が経過するまで待機し続けます。 長時間の待機を入れると操作性が悪くなるので注意が必要です。
下図の例で、待機時間を1,000ミリ秒(1秒)にして実行すると体感できます。
イベントストラクチャは指定した動作(イベント)行われるまで、ループを一時停止することができます。
例えば、「停止ボタンが押され場合」を指定し「Whileループを停止する」動作を行わせるような使い方をします。
イベントストラクチャの注意点は、発生したイベントが蓄積される点です。 ボタンが押されると1秒間の処理を行うプログラムの場合、1つの処理が終わる前にボタンを何度も押すと1秒の処理を絶え間なく何度も行ってしまいます。
ボタンが押された後は、処理が終わるまでボタンを無効化するなどの対応が必要です。
正解の数が毎回同じではゲームとして成立しないので、乱数を使用して正解が実行毎に変わるようにします。
0~100までの範囲でランダムな数値を生成します。
予想した数値を入力する項目と回答ボタンを作成します。
回答ボタンが押されるとイベントストラクチャ内で予想と正解が一致しているか判定します。 正解の場合はループを停止させます。
予想した数と正解がどれくらい離れているか、ヒントを出します。
10以上離れていたら「大きい」「小さい」、9以下は「近い」と表示します。
予想した数に10を足しても正解以下の場合は「小さい」、予想した数から10を引いても正解以上の場合は「大きい」と判定します。 どちらにも当てはまらない場合は「近い」となり、正解を当てるとループが止まります。
「使い方はわかったけれど、実際の業務で使うシステムを作る時間がない」「もっと高度な制御をプロに任せたい」という方は、ぜひ一度ご相談ください。
測定代行株式会社は、ラボビュー(LabVIEW)を用いた受託開発・システム構築のスペシャリストです。
お客様のご要望(自動計測、自動制御、プロセス制御、データ解析、古いバージョンの更新、温調器制御など)に合わせ、最適なシステムを一番に提案・開発いたします。