ID : 5901
GetAreaDetected
功能
获取当前的区域检测状态。
格式
GetAreaDetected(区域编号[, 条件])
指定项目
- 区域编号
- 通过整数型数据指定检测区域编号(0~31)或“-1”。 如果指定“-1”则全部区域变为对象。
- 条件
- 通过整数型数据指定如下所示的检测条件。可省略。省略时为“0”。
在“-1”时检测到“0:进入区域”、“1:离开区域”两种状态时,相应比特为“1”。指定值 检测条件 -1 “进入区域后离开”或“离开区域后进入” 0 进入区域 1 离开区域
返回值
将指定区域的检测状态,设定为32比特的比特列的相应比特,通过整数型数据返回。满足条件时,指定区域的比特变为“1”。相应比特以外变为“0”。在区域编号中指定“-1”时,将所有区域的状况设定为各比特并返回。
解说
获取指定区域的当前检测状态。Ver.1.8.*或更高的版本可使用的指令。
在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( 300, -100, 200, 180, 0, 0, 5 )
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, 0, 5 ), Next
'进入区域0前待机并通知外部机器
ClearAreaDetected -1, -1
Wait GetAreaDetected( 0, 0 )
Set IO24
'离开区域0前待机并通知外部机器
ClearAreaDetected -1, -1
Wait GetAreaDetected( 0, 1 )
Reset IO24
End Sub
ID : 5901