WAIT  (ステートメント)  【SLIM準拠】


条件プログラム停止を行ないます。


WAIT <条件式> [,<タイムアウト時間>][,<格納変数>]


<条件式>が成立するまでプログラムの実行を停止します。
<タイムアウト時間>を設定すると、指定時間を経過した後にWAIT文の実行を終了し、次のコマンドに制御が移ります。これによって、無限停止を防止できます。
<タイムアウト時間>の単位はmsです。
<条件式>または<タイムアウト時間>の条件成立を監視するために再評価する間隔は、タスクの優先度に依存します。
[Ver.1.8以降]では、<格納変数>を設定すると条件式が成立して、WAITステートメントを抜けたとき指定した変数にTRUE(1)が入り、タイムアウトで抜けたときは指定した変数にFALSE(0)が入ります。



タイムアウト時間を使用する際には、命令実行中に瞬時停止を行ない再起動すると、一時停止中も指定時間が経過することに注意してください。


DEFINT li1, li2, li3, li4, li5
WAIT li1 = 1
'li1 = 1が成立するまで待ちます。
WAIT li2 = 0, 2000
'li2 = 0が成立するまで待ち、2秒経
'過しても成立しなければ次の文へ移
'ります。
WAIT li3 = li4, li5
'li3 = li4が成立するまで待ち、li5
'の値の時間が経過しても成立しなけ
'れば次の文へ移ります。
WAIT IO[10] = ON
'IOの10番がONになるまで待ちます。

[Ver.1.8以降]
WAIT li3 = li4, li5, li6
'li3 = li4が成立するまで待ち、li5
'の値の時間が経過しても成立しなけ
'れば次の文へ移ります。このとき、
'li5の値の時間までにli3=li4が成立
'したらli6=TRUEが入り、条件式が成
'立せずにタイムアウトしたら
'li6=FALSEが入ります。