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が入ります。
|