2011年8月14日

PCで自動運転 その60! ソフト編23(While Do)

PC自動運転 その59!ソフト編22でご紹介しましたWHEN DOステイトメントは,動作を制御する基本です。”何か(センサー,カウンタ状態など)が変化すれば,この動作(速度,信号を変えるなど)を行う”ことを定義するものです。このコマンドは,変化を捉えて(エッジトリガーベース)動作を指定します。でも,例えば”この信号のONが続く限り,この動作を何度もしたい”という場合には,使えません。信号が変化した1回しか動作を指示しません。この信号や状態が続いている間は,ずっとこの動作をさせたいときは,WHILE DOというコマンドを使います。これはレベルトリガーと言います。踏み切りの制御は,通常”近づけば,踏切を下げる。通り過ぎたら,踏み切りを開ける。警告灯を1秒点灯する”という動作になりますが,踏み切りで編成がある間,警告灯を何度もフラッシュしたい”ようなケースは,WHILE DOが便利です。
Emergency ボタンが押されている間,何度も動作を繰り返すサンプルコードを例示します。