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を必ず記述してください。