ID : 3630
GetAreaDetected
功能
获取当前的区域检测状态。
该指令对Ver.2.5.*以上的版本有效。
格式
GetAreaDetected(区域编号[, 条件])
指定项目
- 区域编号
- 通过整数型数据指定检测区域编号(0~31)或“-1”。如果指定“-1”,则全部区域均为对象区域。
- 条件
- 通过整数型数据指定下述所示的检测条件。可省略。省略时为“0”。
在“-1”时检测到“0:进入区域”、“1:离开区域”两种状态时,相应比特为“1”。指定值 检测条件 -1 “进入区域后马上退出”或“退出区域后马上进入” 0 进入区域 1 退出区域
返回值
将指定区域的检测状态设定为32比特的比特列相应的比特,并通过整数型数据使其返回。满足条件时,指定区域的比特为“1”。相应比特以外的为“0”。将区域编号指定为“-1”时,将全部区域的状况设定至各比特并使其返回。
解说
获取指定区域当前的检测状态。
返回32比特的比特列中的值。最低比特显示区域编号0的状态,最高比特显示区域编号31的状态。
例1
指定区域编号1,且区域编号1满足检测条件时,第2位的比特变为“1”,因此返回“0x00000002”。
例2
将区域编号指定为“-1”,且仅区域编号0和区域编号1满足检测条件时,最低比特和第2位的比特变为“1”,因此返回“0x00000003”。
注意事项
发送ClearAreaDetected指令前,控制器内部保持检测状态。如应用示例所示,监视状态变化时,使用GetAreaDetected指令前,使用ClearAreaDetected指令。
应用示例
'!TITLE "Pro1.pcs"
Sub Main
TakeArm Keep = 0
ResetArea 0
Move P, P( 100, 10, 300, 180, 0, 180, -1 )
Area 0, P( 300, 0, 200, 0, 0, 0 ), V( 50, 50, 50 ), 128, -1, 0, Tar_Time( 2 )
SetArea 0
Move L, P( 300, 100, 200, 180, 0, 180, -1 ), Next
'进入区域0前待机并通知外部机器
ClearAreaDetected -1, -1
Wait GetAreaDetected( 0, 0 )
Set IO24
'离开区域0前待机并通知外部机器
ClearAreaDetected -1, -1
Wait GetAreaDetected( 0, 1 )
Reset IO24
End Sub
ID : 3630

