GetRobotInsideBox関数
進入検出エリアに進入しているロボットを返します。
書式
GetRobotInsideBox(エリア番号)
パラメーター
- エリア番号
- 状態を返す進入検出エリアの番号 (1~15の整数)を指定します。
戻り値
エリア番号で指定された進入検出エリアに進入しているロボットをビットで返します。
ビット0がロボット1で以降順番にビット15がロボット16です。
ロボットで進入検出エリアが設定されていない場合は、該当ビットは常に0になります。
例えばロボット1とロボット3がエリアに進入している場合はビット0とビット2がOnするので5を返します。
参照
Box, InsideBox関数
GetRobotInsideBox関数使用例
下記はGetRobotInsideBox関数を使用したプログラムです。
進入検出エリアに1台もロボットが進入していない状態を待ちます。
Function WaitNoBox
Wait GetRobotInsideBox(1) = 0
進入検出エリアにロボット2だけが進入している状態を待ちます。
Function WaitInBoxRobot2
Wait GetRobotInsideBox(1) = &H2
下記のプログラムは、動作命令の並列処理内で使用する例です。動作実行中に特定の進入検出エリアに進入した時にI/Oをオンします。コントローラーに接続しているロボットが1台のケースです。
Function Main
Motor On
Power High
Speed 30; Accel 30, 30
Go P1 !D0; Wait GetRobotInsideBox(1) = 1; On 1!
Fend
注意
D0を必ず記述してください。