パラメータ
プログラムコード
if X0 <> 0 then (* すでに判定済み *) getfast := X0; (* その値を返す *) else if in1 then getfast:=1; elsif in2 then getfast:=2; elsif in3 then getfast:=3; elsif in4 then getfast:=4; elsif in5 then getfast:=5; elsif in6 then getfast:=6; elsif in7 then getfast:=7; elsif in8 then getfast:=8; end_if; end_if; |
解説
このファンクションの入力パラメータ X0 には,前回の判定結果を整数値で入力します。その値が0であれば初めて判定する、という意味ですし、0でなければいずれかの接点がすでにオンしているということになります。
ファンクションでは入力されている接点を順に見てゆき,TRUEになっているものがあればその番号を返します。
なお、このファンクションはISaGRAFのサイクルタイムより短い時間で変化するI/Oでは検出結果に信頼性はありません。
プログラムの使い方
例えば、下記のようになります。