Find
動作命令中に座標を保存するための条件の設定と表示をします。
書式
Find [イベント条件式]
パラメーター
- イベント条件式
- トリガーとする入力状態を指定します。
- [イベント] 比較演算子(=, <>, >=, >, <, <=) [整数式]
- 次の関数や変数をイベントに使うことができます。
関数: Sw, In, InW, Oport, Out, OutW, MemSw, MemIn, MemInW, Ctr, GetRobotInsideBox, GetRobotInsidePlane, AIO_In, AIO_InW, AIO_Out, AIO_OutW, Hand_On, Hand_Off, SF_GetStatus
変数: Byte, Int32, Integer, Long, Short, UByte, UInt32, UShort 型のバックアップ変数, グローバル変数, モジュール変数
- また、以下の演算子で複数のイベント条件式にマスクを掛けることや、複合的に組み合わせることができます。
演算子: And, Or, Xor
- [例]
Sense Sw(5) = On Sense Sw(5) = On And Sw(6) = Off
解説
Find ステートメントは、単独で記述するか、動作命令ステートメントの修飾子として記述してください。
Find条件式には、上記の関数を1つ以上含んでいなくてはいけません。
Find条件式に変数が含まれたときは、その値は、Find条件設定時に演算されます。意図しない条件になる場合があるので、条件式には変数を使用しないことを推奨します。複数のFindステートメントを記述することもできます。その場合、最後に実行されたFind 条件が有効となります。
パラメーターを省略すると、現在のFind設定が表示されます。
注意
コントローラー電源オン時のFind 設定
コントローラー電源オン時のFind 条件は未設定です。電源オン後は、条件を設定してから使用してください。
Find 条件成立をチェックするPosFound関数
Find修飾子を用いた動作コマンドを実行した後で、Find条件が成立したかどうかを、PosFound関数を用いてチェックすることができます。
イベント条件式で変数を使用する場合
- 使用できる変数型は整数型(Byte, Int32, Integer, Long, Short, UByte, UInt32, UShort)です。
- 配列変数は、使用できません。
- ローカル変数は、使用できません。
- 変数値が0.01秒以上の間、イベント条件を満足していない場合、変数の変化をシステムが検出できない場合があります。
- システム内で使用できる変数待ちの数に制限があります。1システム内で使用できる変数待ちの個数は最大64個です (Waitなどのイベント条件式で使用された変数待ちも含みます)。最大数を超えた場合には、プロジェクトビルド時にエラーになります。
- 変数待ちを行う変数をByrefで参照渡しするとエラーになります。
- イベント条件式の右辺の整数式に変数が含まれたときは、その値は動作命令開始時に演算されます。意図しない条件になる場合があるので、整数式には変数を使用しないことを推奨します。
参照
FindPos関数, Go, Jump, PosFound関数, SF_GetStatus関数
Find使用例
Find Sw(5) = On
Go P10 Find
If PosFound Then
Go FindPos
Else
Print "Cannot find the sensor signal."
EndIf