-
-
zpjames1127 | 当前状态:在线
总积分:489 2024年可用积分:297
注册时间: 2006-08-15
最后登录时间: 2024-11-13
-
工业机器人编程之MOVEJ指令
zpjames1127 发表于 2023/9/1 8:04:44 864 查看 3 回复 [上一主题] [下一主题]
手机阅读
对于大多数的机器人而言,编程指令使用最多的非MOVE指令莫属了,而这篇文章,则带你熟悉并掌握常用的move指令。
Movel(线性运动)
定义:机器人TCP以线性方式运动至目标点,机器人运动状态可控,运动路径保持唯一。
简单来说,就是机器人将当前TCP沿着直线运动,根据指令要求运动至目标点。
在了解了线性运动的定义后,再来看看MOVEL指令又该如何去使用?
先来看下MOVEL指令的组成:
MoveL<ARG>,v1000,z50,tool0\WObj:=wobj0;
在MOVEL指令中,MOVEL是指令码,<ARG>则表示线性运动的目标点,v1000则是线性运动的速度,z50则是定位类型,tool0\WObj:=wobj0,分别表示工具和工件坐标系。
在了解了MOVEL指令的组成后,再来看看MOVEL具体的使用:
MoveLp10,v1000,z50,tool0\WObj:=wobj0;
其中,P10是线性运动的目标点,其数据类型是robtarget,V1000是速度,其数据类型是speeddata,Z50是定位类型,其中Z50代表转弯半径,另一种常用的定位类型则是fine,那么,这两种定位类型有何区别吗?
Z50:当指令中使用了Z50的定位类型,则表示在距离下一个目标点前50mm的时候,以目标点为圆心、50mm为半径做圆弧运动,换句话说,当使用了Z50后,TCP是到达不了下一个目标点的固定位置。
FINE:当指令中使用了fine的定位类型,则表示机器人的TCP会移动到目标点的位置,而不会像Z50那样提前以50mm为半径的距离离开目标点。
好,在了解了MOVEL指令后,再看看如何在程序中使用:
PROCrMove()
MoveLp10,v1000,z50,tool0\WObj:=wobj0;
MoveLp20,v1000,z50,tool0\WObj:=wobj0;
MoveLp30,v1000,z50,tool0\WObj:=wobj0;
MoveLp40,v1000,z50,tool0\WObj:=wobj0;
ENDPROC
在上述的程序中,共使用了4条MOVEL指令,则在写好指令后,下一步就是要给每个目标位置示教点位,这个动作,需要在示教器上进行进行。
通过点位的示教后,可以得到每个点位的具体数据:
PERSrobtargetp10:=[[357.76,-152.34,542.35],[0.5,-2.10097E-7,0.866025,-1.2905E-7],[-1,1,-2,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
PERSrobtargetp20:=[[657.76,-152.34,542.35],[0.5,-2.19218E-8,0.866025,1.92836E-8],[-1,1,-2,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
PERSrobtargetp30:=[[657.76,147.66,542.35],[0.5,5.35698E-8,0.866026,-7.07729E-8],[0,2,-3,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
PERSrobtargetp40:=[[357.76,147.66,542.35],[0.5,3.41602E-7,0.866026,1.33267E-7],[0,2,-3,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];
在有了具体的点位之后,就可以进行动作验证了。
好,这就是关于MOVEL指令的简单用法,后续会继续介绍其他MOVE指令的运用~~~