您的位置:控制工程论坛网论坛 » 工业机器人 » 工业机器人编程之MOVEJ指令

zpjames1127

zpjames1127   |   当前状态:在线

总积分:489  2024年可用积分:297

注册时间: 2006-08-15

最后登录时间: 2024-11-13

空间 发短消息加为好友

工业机器人编程之MOVEJ指令

zpjames1127  发表于 2023/9/1 8:04:44      867 查看 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指令的运用~~~


1楼 0 0 回复
总共 , 当前 /