Move
用于在当前位置~指定位置之间以直线动作移动机械臂。
格式
Move 目标坐标 [ROT] [ECP] [CP] [Till | Find] [!并行处理!] [SYNC]
参数
- 目标坐标
- 以点数据指定目标位置。
- ROT
- 以工具姿势变化为优先,确定动作速度、加减速度。可省略。
- ECP
- 指定外部控制点动作。可省略。(仅在使用ECP选项时有效)
- CP
- 指定路径运动。可省略。
- Till | Find
- 记述Till或Find表达式。可省略。
Till | Find Till Sw(表达式) = {On | Off} Find Sw(表达式) = {On | Off}
- ! 并行处理 !
- 动作期间可附加并行处理语句,以执行I/O等命令。可省略。
- SYNC
- 预约动作命令。在通过SyncRobots开始动作之前,机器人不进行动作。
说明
Move用于在当前位置~指定位置之间直线移动机械臂。使用Move时,所有关节同时开始/停止动作。执行Move命令之前,请事先对目标坐标进行示教。由AccelS命令控制Move的加减速。由SpeedS命令控制Move的速度。即使有1个由SpeedS设置的值超出各关节的容许速度,也会切断电动机的励磁,机器人停止动作。
Move的速度和加减速度分别使用SpeedS和AccelS的设置值。有关速度与加减速度之间的关系,请参阅“注意”中的“与CP同时使用Tmove”。不过,指定ROT修饰参数时的速度和加减速度分别使用SpeedR和AccelR的设置值。此时,SpeedS和AccelS的设置值变为无效状态。已经附加ROT修饰参数时,如果没有姿势变化,并且移动距离不是“0”,则会发生错误。
如果在将机器人的工具尖端位置固定在特定坐标上的状态下仅试图改变工具姿势,或者工具姿势变化大于工具尖端的移动距离,则工具姿势变化速度可能显著变快。为了防止这种情况,当工具姿势变化速度较大时,自动限制动作速度的功能将发挥作用。
如果要手动设置CP动作时工具姿势变化速度的上限值,请启用SpeedRLimitation。启用SpeedRLimitation后,如果CP动作时的工具姿势变化速度超过设置的SpeedR,则限制动作速度,使工具姿势变化速度为SpeedR。如果工具姿势变化速度不超过设置的SpeedR,则以设置的SpeedS动作。请在SpeedR中预先设置工具姿势变化速度的上限值。
使用ECP时,在对应于指定ECP编号的外部控制点上,工件沿着直线移动。此时,顶端关节的中心不沿着直线移动。
要在Move动作完成之前对机器人执行减速停止时,用户可使用Till修饰符指定该条件。此处指定的条件就是检查其中1个输入位,因此需要使用Sw命令。用户检查输入的状态是ON还是OFF,并根据指定的条件停止机械臂动作。该功能类似于输入条件成立时停止Move的中断。如果Move动作期间输入条件从未成立,机械臂则到达由目标坐标指定的位置。
Till修饰符可省略。有关Till修饰符的详细说明,请参阅Till命令。
注意
不能利用Move进行的操作
进行动作之前,不能确认动作范围。这样的话,即使目标坐标位置在容许动作范围之内,而如果到达此处的轨迹通过容许动作范围以外位置,则可能会导致机械臂突然停止,并造成伺服冲击,导致发生故障,这很危险。为了防止发生这种情况,高速执行Move之前,请先以低速确认动作范围。也就是说,即使目标坐标在机械臂动作范围之内,从物理角度来讲,如果通过Move动作到达此处的轨迹超出机械臂容许动作范围,机械臂则动不了。
与CP同时使用Move
如果使用CP参数,动作命令则会在开始减速的同时将控制移交给下一语句。这在用户连续发出几个动作命令,要以一定的速度进行连续动作时非常便利。为未指定CP的Move命令时,机械臂必须减速,以停在指定的目标位置上。
向Move发出适当的速度/加减速度指示
SpeedS和AccelS命令用于指定Move动作期间的机械手速度和加减速度,而SpeedS和AccelS则为针对直线和曲线动作的命令,敬请注意它们之间的区别。Speed和Accel命令适用于PTP动作。
易引起的错误
执行直线移动距离为0的动作时
如果要利用Move进行仅使4自由度机器人(水平多关节型(包括RS系列)等)的U坐标值或6自由度机器人(垂直6轴型(包括N系列))的U、V、W坐标值发生变化的动作,则会发生错误。此时请使用ROT参数。
超出关节限制速度的错误
进行指示的动作期间,即使1个关节超出容许速度,也会发生超速错误。发生电动机超速错误时,机械臂停止动作,电动机励磁被切断。
RS系列执行通过原点附近的动作时
如果RS系列利用Move执行通过原点附近的动作,则可能会发生超速错误。请针对通过原点附近的动作采取下述防范措施。
- 请降低SpeedS的设置速度。
- 请变更为不通过原点附近的通路。
- 请使用Go等PTP动作以替代Move。
参阅
AccelS, Arc, CP, Go, Jump, Jump3, Jump3CP, SpeedS, Sw, Till, SpeedR, SpeedRLimitation
Move使用示例
如下所示为在P0~P1之间执行机械臂PTP动作之后,直线返回到P0的简单示例。在程序的后半段,机械臂面向P2进行直线移动,直至输入位2变为ON状态。如果动作期间输入位2变为ON状态,机械臂则进行减速停止(即使没有到达P2),然后执行下一程序命令。
Function movetest
Home
Go P0
Go P1
Move P0
Move P2 Till Sw(2) = On
If Sw(2) = On Then
Print "Input #2 came on during the move and"
Print "the robot stopped prior to arriving on"
Print "point P2."
Else
Print "The move to P2 completed successfully."
Print "Input #2 never came on during the move."
EndIf
Fend
如下所示为与CP同时使用Move的示例。下图所示为从P100开始的圆弧轨迹。在P100~P101之间进行直线移动,圆弧从P101开始,通过P102向P103绘制圆弧。P103~P104之间为直线动作,在此期间进行减速停止。在P104停止之前,不会在中途的点上进行减速停止,这点敬请注意。利用下述函数对这种动作进行编程。
Function CornerArc
Go P100
Move P101 CP '不在P101停止
Arc P102, P103 CP '不在P103停止
Move P104 '减速停止到P104
Fend