ABB 机器人 RAPID 常用指令详解中文1Word格式.docx
《ABB 机器人 RAPID 常用指令详解中文1Word格式.docx》由会员分享,可在线阅读,更多相关《ABB 机器人 RAPID 常用指令详解中文1Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
ToJointPos:
到达的关节位置。
数据类型:
jointtarget
机器人和外部轴的绝对目标轴位置。
它被定义为一个命名的位置或者直接存储在指令中(在指令中用*标示)。
[\ID]:
同步ID数据类型:
identno该项目必须使用在多运动系统中,如果并列了同步运动,则不允许在其他任何情况下使用。
指定的ID号在所有协同的程序任务中必须相同。
该ID号保证在routine中运动不会混乱。
[\NoEOffs]:
没有外部偏移量数据类型:
如果项目\NoEOffs设为1,MoveAbsJ运动将不受外部轴的激活偏移量的影响。
Speed:
speeddata
运动所用的速度数据。
速度数据定义了TCP、工具再定位和外部轴的速度。
[\V]:
速度数据类型:
num
该项目用来在指令中直接指定TCP的速度,单位mm/s,它替代在速度数据中指定的相应的速度。
[\T]:
时间数据类型:
该项目用来指定机器人运动的总时间,单位秒。
它替代相应的速度数据。
Zone:
zonedata
运动的zone数据。
Zone数据描述了产生的转角路径的大小。
[\z]:
Zone
该项目用来在指令中直接指定机器人TCP的位置精度。
转角路径的长度用毫米给出,替代zone数据中指定的相应数据。
[\Inpos]:
到位数据类型:
stoppointdata(停止点数据)
改项目用来指定机器人TCP在停止点位置的收敛性判别标准。
该停止点数据代替在zone参数中指定的
zone。
Tool:
tooldata运动过程中所携带的工具。
TCP的位置和工具的负载在工具数据中定义。
TCP位置用来计算运动的速度和转角路径。
[\Wobj]:
工作对象数据类型:
wobjdata
在运动过程中使用的工作对象。
如果机器人抓着工具的时候,该项目可以忽略。
但是,如果机器人抓着工作对象,也就是说工具是静止的,或者带有外部轴,那么该项目必须指定。
在有并列工具或者有并列外部轴的情况下,系统使用该数据计算运动的速度和转角路径,该数据在工作对象中定义。
程序执行:
MoveAbsJ运动不会受激活的程序转移的影响,并且如果使用了可选项目\NoEOffs,将没有外部轴的偏移。
如果不使用\NoEOffs,外部轴的目标位置将会受到激活的外部轴偏移的影响。
工具按照轴角度插补移动到绝对轴目标位置。
这就是说每一个轴都按照固定的速度运动,并且所有轴都在同一时间到达目标位置,这样就形成一个非线性的路径。
总的来说,TCP大约按照编程的速度运动。
在TCP运动的同时,工具重新定向,并且外部轴也在运动。
如
果重新定向的或者外部轴的程序要求的速度不能达到,TCP的速度将被减小。
当转换到路径的下一段的时候通常会产生转角路径。
如果停止点在Zone数据中指定,只有在机器人和外部轴到达合适的轴位置的时候程序才能继续执行。
更多范例:
关于如何使用该指令,更多范例说明如下:
例1MoveAbsJ*,v2000\V:
=2200,z40\Z:
=45,grip3;
Grip3沿着一个非线性路径运动到一个存储在指令中的一个绝对轴位置。
执行的运动数据为v2000和z40。
TCP的速度大小是2200mm/s,zone的大小是45mm。
例2MoveAbsJp5,v2000,fine\Inpos:
=inpos50,grip3;
Grip3沿着一个非线性路径运动到绝对轴位置p5。
当停止点fine的50%的位置条件和50%的速度条件满足的时候,机器人认为它已经到达位置。
它等待条件满足最多等2秒。
参看stoppointdata类型的预定义数据inpos50。
例3MoveAbsJ\Conc,*,v2000,z40,grip3;
当机器人运动的时候,也执行了并发的逻辑指令。
例4MoveAbsJ\Conc,*\NoEOffs,v2000,z40,grip3;
和以上的指令相同的运动,但是它不受外部轴的激活的偏移量的影响。
例5GripLoadobj_mass;
MoveAbsJstart,v2000,z40,grip3\Wobj:
=obj;
机器人把和固定工具grip3相关的工作对象obj沿着一个非线性路径移动到绝对轴位置start。
限制:
为了能够后台运行中包括指令MoveAbsJ,并且避免单一点和模糊区的问题,并发指令满足以下的要求是很
必要的(参看下图)
下图显示了后台运行MoveAbsJ指令的一些限制。
语法:
MoveAbsJ[‘\’Conc‘,’][ToJointPos’:
=’]<
关节目标表达式(IN)>
[‘\’ID‘:
=’<
identno类型的表达式(IN)>
][‘\’NoEOffs]‘,’
[Speed‘:
speeddata类型的表达式(IN)>
[‘\’V‘:
num类型的表达式(IN)>
]
|[‘\’T’:
]‘,’
[‘\’Z‘:
=”]<
[‘\’Inpos’:
stoppointdata类型的表达式(IN)>
]‘,’
[Tool‘:
=’]<
tooldata类型的恒量(PERS)>
[‘\’Wobj’:
=’wobjdata类型的恒量(PRS)>
]‘;
’
相关信息:
相关信息
参看
其它定位指令
RAPID参考手册—RAPID概述,RAPID摘要—运动部分
关节目标的定义
第959页Jointtarget—关节位置数据
速度的定义
第1010页speeddata—速度数据
Zone数据的定义
第1047页zonedata—zone数据
停止点数据的定义
第1014页stoppointdata—停止点数据
工具的定义
第1031页tooldata—工具数据
工作对象的定义
第1039页wobjdata—工作对象数据
运动综述
RAPID参考手册—RAPID概述,运动和I/O原理部分
并发的程序执行
RAPID参考手册—RAPID概述,运动和I/O原理—用逻辑指令同步部分
1.89.MoveC—让机器人做圆周运动
该指令用来让机器人TCP沿圆周运动到一个给定的目标点。
在运动过程中,相对圆的方向通常保持不变。
该指令只能在主任务T_ROB1中使用,在多运动系统中的运动任务中使用。
该指令的基本范例说明如下:
也可参看第212页更多范例。
例1Movep1,p2,v500,z30,tool2;
Tool2的TCP圆周运动到p2,速度数据位v500,zone数据为z30.圆由开始点、中间点p1和目标点p2确定。
例2MoveC*,*,v500\T:
Grip3的TCP沿圆周运动到存储在指令中的fine点(第二个*标记)。
中间点也存储在指令中(第一个*标记)。
例3MoveLp1,v500,fine,tool1;
MoveCp2,p3,v500,z20,tool1;
MoveCp4,p1,v500,fine,tool1;
下图说明了怎么用两个MoveC指令画一个完整的圆。
P1
P4P2
P3
MoveC[\Conc]CirPointToPoint[\ID]Speed[\V]|[\T]Zone[\z][\Inpos]Tool[\Wobj][\Corr][\Conc]:
当机器人运动的同时,后续的指令开始执行。
该项目通常不使用,但是当使用飞点(flybypoints)时,可以用来避免由CPU过载引起的不想要的停止。
当使用高速度并且编程点相距较近时这是很有用的。
例如,当和外部设备通讯并且外部设备和机器人通讯不要求同步的时候,这个项目也很有用。
使用项目\Conc的时候,连续的运动指令的数量限制为5个。
在包括StorePath—RestorePath的程序段中不
允许使用带有\Conc项目的运动指令。
如果不使用该项目,并且ToPoint不是停止点,在机器人到达程序zone之前一段时间后续指令就开始执行了。
在多运动系统中的坐标同步运动中不能使用该项目。
CirPoint:
robtarget机器人的圆轴上的中间点。
这是圆轴上处于起点和终点之间的点。
为了获得最好的精度,最好选择起点和
终点的中间位置附近的点。
如果太接近起点或者终点,机器人将会报警。
中间点定义为一个命名的位置或者直接存储在指令中(在指令中用*标记)。
不使用外部轴的位置。
ToPoint:
robtarget机器人和外部轴的目标点。
定义为一个命名的位置或者直接存储在指令中(在指令中用*标记)。
[\ID]:
同步ID
identno
该项目必须使用在多运动系统中,如果并列了同步运动,则不允许在其他任何情况下使用。
指定的ID号在所有协同的程序任务中必须相同。
如果并列了同步运动,不允许在其他任何情况下使用。
应用到运动中的速度数据。
速度数据定义TCP、工具再定位和外部轴的速度。
[\V]:
该项目用来在指令中直接指定TCP的速度,单位mm/s。
它代替速度数据中指定的相应的速度。
该项目用来指定机器人和外部轴运动的总时间,单位秒。
它代替相应的速度数据。
它描述产生的转角路径的大小。
[\Z]:
Zone数据类型:
转角路径的长度以毫米为单位给出,它代替zone
数据中指定的zone。
tooldata
运动过程中所使用的工具。
TCP是运动到指定目标的点。
工作对象
wobjdata机器人在指令中定位的相关到的工作对象。
该项目可以忽略,如果忽略了,定位相关到世界坐标系。
在另一方面,如果使用了静态TCP或者并列外部
轴,为了执行相关到工作对象的圆周,该项目必须被指定。
[\Corr]:
改正数据类型:
如果使用该项目的话,通过CorrWrite指令写到改正入口的改正数据将被添加到路径和目标位置。
机器人和外部单元以下说明移动到目标位置:
工具的TCP按照程序中的定常速度作圆周运动。
工具按照定常速度重新定向,从开始位置的方向到目标点的方向。
重新定向相对于圆周路径执行。
因此如果开始点和目标点的方向相对于路径是相同的,在移动过程中相对方向保持不变(参看下图)。
下图说明了圆周运动过程中的工具方向。
圆周点的方向没有到达,它只是用来区别重新定向中两个可能的方向。
沿着路径重新定向的精度只取决于
开始点和目标点的方向。
圆周运动过程中的工具方向的不同模式在指令CirPathMode中有描述。
非并列的外部轴以定常速度执行,目的是和机器人轴同时到达目标点。
圆周点中的位置没有用到。
如果重新定向或者外部轴不能达到程序中的速度,TCP得速度将被减小。
当运动转换到路径中的下一段的时候通常会产生转角路径。
如果停止点在zone数据中指定,在机器人和外
部轴到达合适位置的时候,程序才能继续执行。
如何使用该指令得更多范例说明如下:
例1MoveC*,*,v500\V:
=550,z40\Z:
Grip3的TCP圆周运动到存储在指令中的位置。
运动中把数据设定到v500和z40执行;
TCP的速度是
550mm/s,zone的大小是45mm。
例2MoveCp5,p6,v2000,fine\Inpos:
=inpos50,grip3;
Grip3的TCP圆周运动到停止点p6。
当停止点fine的50%的位置条件和50%的速度条件满足的时候,机器
人认为它到达该点。
它等待条件满足最多等两秒。
参看stoppointdata数据类型的预定义数据inpos50。
例3MoveC\Conc,*,*,v500,z40,grip3;
Grip3的TCP圆周运动到指令中存储的位置。
圆周点也存储在指令中。
当机器人移动的时候,执行后续逻辑指令。
例4MoveCcir1,p15,v500,z40,grip3\Wobj:
=fixture;
Grip3的TCP经过圆周点cir1圆周运动到位置p15。
这些位置在fixture的对象并列系统中指定。
对于cirPoint和Topoint如何放置有一些限制,如下图描述:
起点和ToPoint之间的最小距离是0.1毫米。
起点和CirPoint之间的最小距离是0.1毫米。
从起点到CirPoint和ToPoint之间的最小角度是1度。
在接近这些限制的时候,精度将会很差,即如果圆的起点和ToPoint相距较近,圆倾斜引起的缺陷可能远大
于编程点所使用的精度。
确保机器人在程序执行过程中可以到达CirclePoint(圆周点),必要的话把圆再分段。
当机器人停止在圆周路径上,执行模式从向前到向后得改变,或者相反,是不允许的,并且将导致错误信息。
警告!
当TCP在圆周点和终点之间的时候,MoveC指令(或者任何其它包括圆周运动的指令)不允许从开头执行。
否则机器人将不能执行编程的路径(从和编程路径方向不同的方向绕圆周路径定位)。
MoveC[‘\’Conc‘,’][CirPoint’:
robtarget类型的表达式(IN)>
‘,’
[ToPoint’:
robtarget类型的表达式(IN)>
[‘\’ID‘:
]’,’
[‘\’V‘:
]
[‘\’T‘:
]‘,’[zone‘:
=’]<
zonedata类型的表达式(IN)>
[‘\’Z‘:
[‘\’Inpos’:
[‘\’Wobj‘:
wobjdata类型的恒量(PERS)>
[‘\’Corr]‘;
其他位置指令
RAPID参考手册-RAPID概述,RAPID摘要-运动部分
写到改正入口
第67页CorrWrite-写到改正入口
在圆周运动中工具重新定向
第32页CirPathMode-在圆周路径中工具重新定向
并列系统
RAPID参考手册-RAPID概述,运动和I/O原理-并列系统部分
1.90.MoveCDO-圆周移动机器人并且在转角处设置数字输出
MoveCDO(圆周移动数字输出)用来把TCP圆周移动到一个给定的目标点。
指定的数字输出在目标点的转角路径的中间被置位/复位。
在运动过程中,相对于圆周的方向通常保持不变。
该指令只能用在主任务T_ROB1,或者多运动系统的运动任务中。
例1MoveCDOp1,p2,v500,z30,tool2,do1,1;
Tool2的TCP圆周移动到位置p2,速度数据v500和zone数据z30。
圆周由开始点、圆周点p1和目标点p2
确定。
在转角路径p2的中间位置设置输出do1。
MoveCDOCirPointToPoint[\ID]Speed[\T]ZoneTool[\Wobj]SignalValue
robtarget机器人的圆周点。
圆周点是圆周上开始点和目标点之间的一个位置。
为了获得最好的精度,它最好处于开
始点和目标点一半的位置。
如果它太靠近开始点或者目标点,机器人将给出一个警告。
圆周点定义为一个命名
的位置或者直接存储在指令中(在指令中用*标记)。
identno该项目必须用在并列了同步运动的多运动系统中,不允许在其它任何条件下使用。
在所有协作的程序任务中,指定的ID号码必须相同。
ID号保证了在routine中运动不会混淆。
速度数据定义TCP、工具重新定向和外部轴的速度。
它用来替换相应的速度数据。
Zone数据描述产生的转角路径的大小。
tooldata当机器人运动时时用的工具。
工具中心点就是运动到目标点的那个点。
[\Wobj]:
工作对象(对象坐标系统),就是在指令中机器人相关到的对象。
该项目可以忽略,如果忽略的话,位置相关到世界坐标系。
另一方面,如果使用了静止TCP或者并列的外
部轴,为了执行相关到工作对象的圆周,该项目必须指定。
Signal:
signaldo
要改变的数字输出信号的名称。
Value:
dionum期望的信号的数值(0或者1)。
关于圆周运动得更多信息参看指令MoveC。
在飞点的转角路径的中间位置,数字输出信号置位/复位,如下图所示。
下图说明在转角路径MoveC指令的数字输出信号的置位/复位。
对于停止点,我们推荐使用“正常”的编程顺序,即MoveC+SetDO。
但是当在指令MoveCDO中使用停止点、当机器人到达停止点的时候,数字输出信号置位/复位。
在执行模式继续逐步向前而不是逐步向后时,指定的I/O信号被置位/复位。
按照指令MoveC的常规限制。
MoveCDO[CirPoint‘:
=’]<
‘,’[‘\’ID‘:
=’<
]’,’[Speed‘:
num类型的表达式(IN)>
]‘,’[Zone‘:
‘,’[Tool‘:
[‘\’Wobj’:
]’,’[Signal‘:
signaldo类型的变量(VAR)>
]