ID : 163
Arrive
功能
当前动作中的动作命令达到指定的动作完成比例前,使任务处于待机状态。
解说
如果在执行自任务的动作命令过程中执行Arrive命令,则在当前位置(编码器值)到达设定的动作比例前,使程序待机。
如应用示例所示,在带Next选项的动作命令后,通过记述Arrive指令,可指定执行下一指令的时机。
需要获取机器人轴的控制权。
相关项目
注意事项
- 在Arrive命令等待中,通过中断功能(Interrupt)跳过时,视为已完成动作命令,解除任务待机。
- Arrive监视最后发行的动作命令状态。如果记述2行相同的动作命令,则会变成与仅1行时不同的动作。
在Case 1中,Arrive监视(1)的动作命令状态。在(1)的动作完成90%时,处理Arrive的下一行。' Case 1 Move P, @0 J(0, 45, 90, 0, 45, 0) Move P, @P J(0, 45, 90, 0, 45, 90), Next ' (1) Arrive 90
在Case 2中,Arrive监视(3)的动作命令状态。原本是在(3)的动作完成90%时处理Arrive的下一行。但是,由于(3)的动作在执行时已完成(不动),因此Arrive在执行时已经满足条件,立即处理Arrive的下一行。' Case 2 Move P, @0 J(0, 45, 90, 0, 45, 0) Move P, @P J(0, 45, 90, 0, 45, 90), Next ' (2) Move P, @P J(0, 45, 90, 0, 45, 90), Next ' (3) Arrive 90
而由于(2)的动作命令为通过动作,因此在开始从(2)到(3)的通过动作时,(3)的动作就已经开始。
即处理Arrive的下一行并不是在(2)的动作完成90%时(与Case 1相同位置),而是开始从(2)到(3)的通过动作时。 - “Arrive 动作比例”和“WaitMotion 0, 动作比例”进行相同的处理。
应用示例
'!TITLE“程序待机”
' 在达到指定动作比例前程序待机
Sub Sample_Arrive
TakeArm Keep = 1
Dim aaa As Position
' 获取当前位置
aaa = CurPos
' 将内部速度设定为10
Speed 10
' 从当前位置开始向P( 400, 300, 300, 180, 0, 180, -1 )移动后,移至下一处理
Move P, P( 400, 300, 300, 180, 0, 180, -1 ), Next
Arrive 50
' 动作比例达到50%后将I/O端口编号240设定为ON
Set IO[240]
' 在讯息输出视窗中显示表示ON的“1”
PrintDbg IO[240]
Arrive 80
' 动作比例达到80%后将I/O端口编号240设定为OFF
Reset IO[240]
' 在讯息输出视窗中显示表示OFF的“0”
PrintDbg IO[240]
End Sub
ID : 163