Sense
用于设置/显示利用Jump、Jump3、Jump3CP指定Sense时,停在目标坐标上方的条件。
格式
Sense [条件表达式]
参数
- 事件条件表达式
- 指定触发的输入状态。
- [条件] 比较运算符(=、<>、>=、>、<、<=)[整数表达式]
- 可在条件中使用下述函数或变量。
函数: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
说明
Sense用于在执行Jump命令期间按第3关节下降开始前的时序检查输入条件。
另外,也用于在执行Jump3、Jump3CP命令期间按接近动作即将开始的时序检查输入条件。
Sense条件表达式必须包含1个以上的上述函数。
Sense条件表达式中包括变量时,在设置Sense条件时运算其值。由于可能会形成不希望有的条件,因此不建议在条件表达式中使用变量。可使用多个Sense语句。切换到下一Sense语句之前,最后执行的输入条件有效。
Jump和Sense修饰符
检查当前的Sense条件是否成立。如果成立,则在机器人停在目标坐标上方的状态下完成Jump命令。也就是说,Sense条件为“True”时,机器人在目标坐标的上方并且第3关节即将开始下降的状态下停止。Sense条件为“False”时,机器人在目标坐标上完成Jump命令执行的动作。
Jump3、Jump3CP和Sense修饰符
检查当前的Sense条件是否成立。如果成立,则在机器人停在接近起始位置的状态下完成Jump3、Jump3CP命令。
如果省略参数,则显示当前的Sense设置。
注意
电源ON时的Sense设置
电源ON时Sense条件的初始设置为Sense Sw(0)= On。输入位编号0为ON时,设为机器人不进行下降动作。
用于检查Sense条件成立的JS函数和State函数
执行使用Sense修饰符的动作命令之后,可使用JS或State函数检查Sense条件是否成立。
在条件表达式中使用变量时
- 可使用变量类型为整数型(Byte、Int32、Integer、Long、Short、UByte、UInt32、UShort)。
- 不能使用数组变量。
- 不能使用本地变量。
- 在超过0.01秒的时间内变量值未满足条件时,系统可能不能检测到变量变化。
- 系统内可使用的变量等待数存在限制。1个系统内可使用的变量等待数量最多为64个(也包括在Wait等条件表达式中使用的变量等待)。如果超过最大数,则会在项目创建时发生错误。
- 如果利用Byref引用执行变量等待的变量,则会发生错误。
- 条件表达式右边的整数表达式中包括变量时,在动作命令开始时运算其值。由于可能会形成不希望有的条件,因此不建议在整数表达式中使用变量。
参阅
In、JS、Jump、Jump3、Jump3CP、MemIn、MemSw、Stat、Sw、SF_GetStatus
Sense使用示例
如下所示为Sense命令的简单使用示例。
Function test
.
.
TrySense:
Sense Sw(1) = Off '设为在输入为1为Off时停在目标坐标上方
Jump P1 C2 Sense
If JS = True Then
GoSub ERRPRC '机械臂停在目标坐标上方时
GoTo TrySense '执行ERRPRC,移动到TrySense
EndIf
On 1; Wait 0.2; Off 1
.
.
Fend
[其它格式示例]
> Sense Sw(1)=1 And MemSw(1)=1
> Sense Sw(0) Or (Sw(1) And MemSw(1))