ABB机器人RAPID常用指令详解-中文
1.88.MoveAbsJ—把机器人移动到绝对轴位置
用途:
MoveAbsJ(绝对关节移动)用来把机器人或者外部轴移动到一个绝对位置,该位置在轴定位中定义。
使用实例:
l终点是一个单一点
l对于IR6400C中的不明确的位置,例如携带超过机器人范围的工具运动。
MoveAbsJ指令中机器人的最终位置,既不受工具或者工作对象的影响,也不受激活程序更换的影响。但是机器人要用到这些数据来计算负载、TCP速度和转角点。相同的工具可以被用在相邻的运动指令中。
机器人和外部轴沿着一个非直线的路径移动到目标位置。所有轴在同一时间运动到目标位置。
该指令只能被用在主任务T_ROB1中,或者在多运动系统中的运动任务中。
基本范例:
该指令的基本范例说明如下。
也可参看第207页更多范例。
例1MoveAbsJ p50, v1000, z50, tool2;
机器人将携带工具tool2沿着一个非线性路径到绝对轴位置p50,以速度数据v1000和zone数据z50。
例2MoveAbsJ *, v1000\T:=5, fine, grip3;
机器人将携带工具grip3沿着一个非线性路径到一个停止点,该停止点在指令中作为一个绝对轴位置存储(用*标示)。整个运动需要5秒钟。
项目:
MoveAbsJ [\Conc] ToJointPos [\ID] [\NoEOffs] Speed [\V] | [\T] Zone [\Z] [\Inpos] Tool [\Wobj]
[\Conc]:
并发事件
数据类型:switch
当机器人正在移动的时候执行的后续指令。该项目通常不使用,但是当和外部设备通讯、不需要同步的时候可以用来缩短循环周期。
当使用项目\Conc的时候,连续运动指令的数量限制为5。在包含StorePath-RestoPath的程序段中不允许包含项目\Conc的运动指令。
如果该项目忽略并且ToJointPos不是一个停止点,在机器人到达程序zone之前一段时间后续指令就开始执行了。
该项目不能用在多运动系统的坐标同步运动中。
ToJointPos:
到达的关节位置。
数据类型:jointtarget
机器人和外部轴的绝对目标轴位置。它被定义为一个命名的位置或者直接存储在指令中(在指令中用*标示)。
[\ID]:
同步ID
数据类型:identno
该项目必须使用在多运动系统中,如果并列了同步运动,则不允许在其他任何情况下使用。
指定的ID号在所有协同的程序任务中必须相同。该ID号保证在routine中运动不会混乱。
[\NoEOffs]:
没有外部偏移量
数据类型:switch
如果项目\NoEOffs设为1,MoveAbsJ运动将不受外部轴的激活偏移量的影响。
Speed:
数据类型:speeddata
运动所用的速度数据。速度数据定义了TCP、工具再定位和外部轴的速度。
[\V]:
速度
数据类型:num
该项目用来在指令中直接指定TCP的速度,单位mm/s,它替代在速度数据中指定的相应的速度。
[\T]:
时间
数据类型:num
该项目用来指定机器人运动的总时间,单位秒。它替代相应的速度数据。
Zone:
数据类型:zonedata
运动的zone数据。Zone数据描述了产生的转角路径的大小。
[\z ]:
Zone
数据类型:num
该项目用来在指令中直接指定机器人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。
例2MoveAbsJ p5, v2000, fine \Inpos :=inpos50, grip3;
Grip3沿着一个非线性路径运动到绝对轴位置p5。当停止点fine的50%的位置条件和50%的速度条件满足的时候,机器人认为它已经到达位置。它等待条件满足最多等2秒。参看stoppointdata类型的预定义数据inpos50。
例3MoveAbsJ \Conc, *, v2000, z40, grip3;
Grip3沿着一个非线性路径运动到一个存储在指令中的一个绝对轴位置。当机器人运动的时候,也执行了并发的逻辑指令。
例4MoveAbsJ \Conc, * \NoEOffs, v2000, z40, grip3;
和以上的指令相同的运动,但是它不受外部轴的激活的偏移量的影响。
例5GripLoad obj_mass;
MoveAbsJ start, v2000, z40, grip3 \Wobj:=obj;
机器人把和固定工具grip3相关的工作对象obj沿着一个非线性路径移动到绝对轴位置start。
限制:
为了能够后台运行中包括指令MoveAbsJ,并且避免单一点和模糊区的问题,并发指令满足以下的要求是很必要的(参看下图)
下图显示了后台运行MoveAbsJ指令的一些限制。
语法:
MoveAbsJ [‘\’ Conc ‘,’ ] [ ToJointPos’ :=’ ] <关节目标表达式(IN)>
[ ‘\’ ID ‘:=’
[ Speed ‘:=’ ]
[ ‘\’ V ‘:=’
| [ ‘\’ T’ :=’
[‘\’ Z ‘:=” ]
[ ‘\’ Inpos’ :=’
[Tool ‘:=’ ]
[‘\’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页更多范例。
例1 Move p1, p2, v500, z30, tool2;
Tool2的TCP圆周运动到p2,速度数据位v500, zone数据为z30.圆由开始点、中间点p1和目标点p2确定。例2 MoveC *, *, v500 \T:=5, fine, grip3;
Grip3的TCP沿圆周运动到存储在指令中的fine点(第二个*标记)。中间点也存储在指令中(第一个*标记)。
整个运动需要5秒钟。
例3 MoveL p1, v500, fine, tool1;
MoveC p2, p3, v500, z20, tool1;
MoveC p4, p1, v500, fine, tool1;
下图说明了怎么用两个MoveC指令画一个完整的圆。
项目:
MoveC [\Conc] CirPoint ToPoint [\ID] Speed [\V] | [\T] Zone [\z] [\Inpos] Tool [\Wobj] [\Corr]
[ \Conc]: 并发事件
数据类型:switch
当机器人运动的同时,后续的指令开始执行。该项目通常不使用,但是当使用飞点(flyby points )时,可以用来避免由CPU 过载引起的不想要的停止。当使用高速度并且编程点相距较近时这是很有用的。例如,当和外部设备通讯并且外部设备和机器人通讯不要求同步的时候,这个项目也很有用。
使用项目\Conc 的时候,连续的运动指令的数量限制为5个。在包括StorePath —RestorePath 的程序段中不
允许使用带有\Conc 项目的运动指令。
如果不使用该项目,并且ToPoint 不是停止点,在机器人到达程序zone 之前一段时间后续指令就开始执行
了。在多运动系统中的坐标同步运动中不能使用该项目。 CirPoint : 数据类型:robtarget
机器人的圆轴上的中间点。这是圆轴上处于起点和终点之间的点。为了获得最好的精度,最好选择起点和
终点的中间位置附近的点。如果太接近起点或者终点,机器人将会报警。中间点定义为一个命名的位置或者直接存储在指令中(在指令中用*标记)。不使用外部轴的位置。 ToPoint : 数据类型:robtarget
机器人和外部轴的目标点。定义为一个命名的位置或者直接存储在指令中(在指令中用*标记)。
[ \ID ]: 同步ID
数据类型:identno
该项目必须使用在多运动系统中,如果并列了同步运动,则不允许在其他任何情况下使用。
指定的ID号在所有协同的程序任务中必须相同。该ID号保证在routine中运动不会混乱。
如果并列了同步运动,不允许在其他任何情况下使用。
Speed:
数据类型:speeddata
应用到运动中的速度数据。速度数据定义TCP、工具再定位和外部轴的速度。
[ \V]:
速度
数据类型:num
该项目用来在指令中直接指定TCP的速度,单位mm/s。它代替速度数据中指定的相应的速度。
[\T]:
时间
数据类型:num
该项目用来指定机器人和外部轴运动的总时间,单位秒。它代替相应的速度数据。
Zone:
数据类型:zonedata
运动的zone数据。它描述产生的转角路径的大小。
[ \Z]:
Zone
数据类型:num
该项目用来在指令中直接指定机器人TCP的位置精度。转角路径的长度以毫米为单位给出,它代替zone 数据中指定的zone。
[\Inpos ]:
到位
数据类型:stoppointdata(停止点数据)
改项目用来指定机器人TCP在停止点位置的收敛性判别标准。该停止点数据代替在zone参数中指定的zone。
Tool:
数据类型:tooldata
运动过程中所使用的工具。TCP是运动到指定目标的点。
[\Wobj ]:
工作对象
数据类型:wobjdata
机器人在指令中定位的相关到的工作对象。
该项目可以忽略,如果忽略了,定位相关到世界坐标系。在另一方面,如果使用了静态TCP或者并列外部轴,为了执行相关到工作对象的圆周,该项目必须被指定。
[ \Corr ]:
改正
数据类型:switch
如果使用该项目的话,通过CorrWrite指令写到改正入口的改正数据将被添加到路径和目标位置。
程序执行:
机器人和外部单元以下说明移动到目标位置:
l工具的TCP按照程序中的定常速度作圆周运动。
l工具按照定常速度重新定向,从开始位置的方向到目标点的方向。
l重新定向相对于圆周路径执行。因此如果开始点和目标点的方向相对于路径是相同的,在移动过程中相对方向保持不变(参看下图)。
下图说明了圆周运动过程中的工具方向。
圆周点的方向没有到达,它只是用来区别重新定向中两个可能的方向。沿着路径重新定向的精度只取决于开始点和目标点的方向。
圆周运动过程中的工具方向的不同模式在指令CirPathMode中有描述。
非并列的外部轴以定常速度执行,目的是和机器人轴同时到达目标点。圆周点中的位置没有用到。
如果重新定向或者外部轴不能达到程序中的速度,TCP得速度将被减小。
当运动转换到路径中的下一段的时候通常会产生转角路径。如果停止点在zone数据中指定,在机器人和外部轴到达合适位置的时候,程序才能继续执行。
更多范例:
如何使用该指令得更多范例说明如下:
例1MoveC *, *, v500 \V:=550, z40 \Z:=45, grip3;
Grip3的TCP圆周运动到存储在指令中的位置。运动中把数据设定到v500和z40执行;TCP的速度是550mm/s,zone的大小是45mm。
例2MoveC p5, p6, v2000, fine \Inpos := inpos50, grip3;
Grip3的TCP圆周运动到停止点p6。当停止点fine的50%的位置条件和50%的速度条件满足的时候,机器
人认为它到达该点。它等待条件满足最多等两秒。参看stoppointdata数据类型的预定义数据inpos50。
例3MoveC \Conc, *, *, v500, z40, grip3;
Grip3的TCP圆周运动到指令中存储的位置。圆周点也存储在指令中。当机器人移动的时候,执行后续逻辑指令。
例4MoveC cir1, p15, v500, z40, grip3 \Wobj :=fixture;
Grip3的TCP经过圆周点cir1圆周运动到位置p15。这些位置在fixture的对象并列系统中指定。
限制:
对于cirPoint和Topoint如何放置有一些限制,如下图描述:
l起点和ToPoint之间的最小距离是0.1毫米。
l起点和CirPoint之间的最小距离是0.1毫米。
l从起点到CirPoint和ToPoint之间的最小角度是1度。
在接近这些限制的时候,精度将会很差,即如果圆的起点和ToPoint相距较近,圆倾斜引起的缺陷可能远大于编程点所使用的精度。
确保机器人在程序执行过程中可以到达Circle Point(圆周点),必要的话把圆再分段。
当机器人停止在圆周路径上,执行模式从向前到向后得改变,或者相反,是不允许的,并且将导致错误信息。
警告!
当TCP在圆周点和终点之间的时候,MoveC指令(或者任何其它包括圆周运动的指令)不允许从开头执行。否则机器人将不能执行编程的路径(从和编程路径方向不同的方向绕圆周路径定位)。
语法:
MoveC [ ‘\’ Conc ‘,’ ] [CirPoint’ :=’ ]
[ToPoint’ :=’ ] < robtarget类型的表达式(IN)> ‘,’
[ ‘\’ID ‘:=’
[ Speed ‘:=’ ]
[‘\’ V ‘:=’
[‘\’ T ‘:=’
[zone ‘ :=’]
[‘\’ Z ‘:=’
[‘\’Inpos’ :=’
[Tool ‘:=’ ]
[‘\’Wobj ‘:=’
[ ‘\’ Corr ] ‘;’
相关信息:
相关信息参看
其他位置指令RAPID参考手册-RAPID概述,RAPID摘要-运动部分
速度的定义第1010页speeddata—速度数据
Zone数据的定义第1047页zonedata—zone数据
停止点数据的定义第1014页stoppointdata—停止点数据
工具的定义第1031页tooldata—工具数据
工作对象的定义第1039页wobjdata—工作对象数据
写到改正入口第67页CorrWrite-写到改正入口
在圆周运动中工具重新定向第32页CirPathMode-在圆周路径中工具重新定向
运动综述RAPID参考手册—RAPID概述,运动和I/O原理部分
并列系统RAPID参考手册-RAPID概述,运动和I/O原理-并列系统部分
并发的程序执行RAPID参考手册—RAPID概述,运动和I/O原理—用逻辑指令同步部分
1.90.MoveCDO-圆周移动机器人并且在转角处设置数字输出
用途:
MoveCDO(圆周移动数字输出)用来把TCP圆周移动到一个给定的目标点。指定的数字输出在目标点的转角路径的中间被置位/复位。在运动过程中,相对于圆周的方向通常保持不变。
该指令只能用在主任务T_ROB1,或者多运动系统的运动任务中。
基本范例:
该指令的基本范例说明如下。
例1MoveCDO p1, p2, v500, z30, tool2, do1, 1;
Tool2的TCP圆周移动到位置p2,速度数据v500和zone数据z30。圆周由开始点、圆周点p1和目标点p2确定。在转角路径p2的中间位置设置输出do1。
项目:
MoveCDO CirPoint ToPoint [\ID] Speed [\T] Zone Tool [\Wobj] Signal V alue
CirPoint:
数据类型:robtarget
机器人的圆周点。圆周点是圆周上开始点和目标点之间的一个位置。为了获得最好的精度,它最好处于开
始点和目标点一半的位置。如果它太靠近开始点或者目标点,机器人将给出一个警告。圆周点定义为一个命名的位置或者直接存储在指令中(在指令中用*标记)。不使用外部轴的位置。
ToPoint:
数据类型:robtarget
机器人和外部轴的目标点。定义为一个命名的位置或者直接存储在指令中(在指令中用*标记)。
[\ID]:
同步ID
数据类型:identno
该项目必须用在并列了同步运动的多运动系统中,不允许在其它任何条件下使用。
在所有协作的程序任务中,指定的ID号码必须相同。ID号保证了在routine中运动不会混淆。
Speed:
数据类型:speeddata
应用到运动中的速度数据。速度数据定义TCP、工具重新定向和外部轴的速度。
[\T]:
时间
数据类型:num
该项目用来指定机器人和外部轴运动的总时间,单位秒。它用来替换相应的速度数据。
Zone:
数据类型:zonedata
运动的zone数据。Zone数据描述产生的转角路径的大小。
Tool:
数据类型:tooldata
当机器人运动时时用的工具。工具中心点就是运动到目标点的那个点。
[\Wobj]:
工作对象
数据类型:wobjdata
工作对象(对象坐标系统),就是在指令中机器人相关到的对象。
该项目可以忽略,如果忽略的话,位置相关到世界坐标系。另一方面,如果使用了静止TCP或者并列的外部轴,为了执行相关到工作对象的圆周,该项目必须指定。
Signal:
数据类型:signaldo
要改变的数字输出信号的名称。
V alue:
数据类型:dionum
期望的信号的数值(0或者1)。
程序执行:
关于圆周运动得更多信息参看指令MoveC。
在飞点的转角路径的中间位置,数字输出信号置位/复位,如下图所示。
下图说明在转角路径MoveC指令的数字输出信号的置位/复位。
对于停止点,我们推荐使用“正常”的编程顺序,即MoveC+SetDO。但是当在指令MoveCDO中使用停止点、当机器人到达停止点的时候,数字输出信号置位/复位。
在执行模式继续逐步向前而不是逐步向后时,指定的I/O信号被置位/复位。
限制:
按照指令MoveC的常规限制。
语法:
MoveCDO [ CirPoint ‘:=’ ]
[ToPoint’ :=’]
[ ‘\’ ID ‘:=’
[Speed ‘:=’ ]
[‘\’ T ‘:=’ < num类型的表达式(IN)>] ‘,’
[Zone ‘:=’ ]
[Tool ‘:=’ ]
[‘\’ Wobj’ :=’
[Signal ‘:=’ ]
[V alue ‘:=’ ]
相关信息:
相关信息参看
其他位置指令RAPID参考手册-RAPID概述,RAPID摘要-运动部
分
圆周运动机器人第209页MoveC-圆周移动机器人
速度的定义第1010页speeddata—速度数据
Zone数据的定义第1047页zonedata—zone数据
工具的定义第1031页tooldata—工具数据
工作对象的定义第1039页wobjdata—工作对象数据
运动综述RAPID参考手册—RAPID概述,运动和I/O原理部分坐标系RAPID参考手册-RAPID概述,运动和I/O原理-坐
标系部分
带I/O设定的运动RAPID参考手册—RAPID概述,运动和I/O原理—用
逻辑指令同步部分
1.91.MoveCSync-圆周移动机器人,并且执行一个RAPID程序
用途:
MoveCSync(同步圆周移动)用来圆周移动TCP到一个给定的目标位置。在目标点的转角路径的中间位置,指定的RAPID程序开始运行。在运动过程中,相对于圆周的方向通常保持不变。
该指令只能用在主任务T_ROB1,或者多运动系统的运动任务中。
基本范例:
该指令的基本范例说明如下。
例2MoveCSync p1, p2, v500, z30, tool2, “proc1”;
Tool2的TCP圆周移动到位置p2,速度数据v500和zone数据z30。圆周由开始点、圆周点p1和目标点p2确定。在转角路径p2的中间位置程序proc1开始执行。
项目:
MoveCSync CirPoint ToPoint [\ID] Speed [\T] Zone Tool [\Wobj] ProcName
CirPoint:
数据类型:robtarget
机器人的圆周点。圆周点是圆周上开始点和目标点之间的一个位置。为了获得最好的精度,它最好处于开始点和目标点一半的位置。如果它太靠近开始点或者目标点,机器人将给出一个警告。圆周点定义为一个命名的位置或者直接存储在指令中(在指令中用*标记)。不使用外部轴的位置。
ToPoint:
数据类型:robtarget
机器人和外部轴的目标点。定义为一个命名的位置或者直接存储在指令中(在指令中用*标记)。
[\ID]:
同步ID
数据类型:identno
该项目必须用在并列了同步运动的多运动系统中,不允许在其它任何条件下使用。
在所有协作的程序任务中,指定的ID号码必须相同。ID号保证了在routine中运动不会混淆。
Speed:
数据类型:speeddata
应用到运动中的速度数据。速度数据定义TCP、工具重新定向和外部轴的速度。
[\T]:
时间
数据类型:num
该项目用来指定机器人和外部轴运动的总时间,单位秒。它用来替换相应的速度数据。
Zone:
数据类型:zonedata
运动的zone数据。Zone数据描述产生的转角路径的大小。
Tool:
数据类型:tooldata
当机器人运动时时用的工具。工具中心点就是运动到目标点的那个点。
[\Wobj]:
工作对象
数据类型:wobjdata
工作对象(对象坐标系统),就是在指令中机器人相关到的对象。
该项目可以忽略,如果忽略的话,位置相关到世界坐标系。另一方面,如果使用了静止TCP或者并列的外部轴,为了执行相关到工作对象的圆周,该项目必须指定。
ProcName:
程序名称
数据类型:string
在目标点的转角路径的中间位置要执行的RAPID程序的名称。
程序执行:
关于圆周运动得更多信息参看指令MoveC。
当TCP到达MoveCSync指令的目标点的转角路径的中间位置时,指定的RAPID程序开始执行,如下图所示。
下图说明在转角路径的中间位置用户定义的RAPID程序的执行。
对于停止点,我们推荐使用“正常”的编程顺序,即MoveC+其他RAPID程序。
下表描述了在不同执行模式下指定的RAPID程序的执行:
执行模式RAPID程序的执行
继续或者循环按照该描述
逐步向前在停止点
逐步向后一点也不执行
限制:
按照指令MoveC的常规限制。
当程序停止后,从连续执行或循环执行切换到逐步向前或者向后将导致错误。该错误告诉用户模式切换将导致路径上的执行队列的RAPID程序的执行错误。
指令MoveCSync不能用在TRAP层次上。指定的RAPID程序不能用逐步执行测试。
语法:
MoveCSync [ CirPoint ‘:=’ ]
[ToPoint’ :=’]
[ ‘\’ ID ‘:=’
[Speed ‘:=’ ]
[‘\’ T ‘:=’ < num类型的表达式(IN)>] ‘,’
[Zone ‘:=’ ]
[Tool ‘:=’ ]
[‘\’ Wobj’ :=’
[ProcName ‘:=’ ]
相关信息:
相关信息参看
其他位置指令RAPID参考手册-RAPID概述,RAPID摘要-运动部
分
圆周运动机器人第209页MoveC-圆周移动机器人
速度的定义第1010页speeddata—速度数据
Zone数据的定义第1047页zonedata—zone数据
工具的定义第1031页tooldata—工具数据
工作对象的定义第1039页wobjdata—工作对象数据
运动综述RAPID参考手册—RAPID概述,运动和I/O原理部分
坐标系RAPID参考手册-RAPID概述,运动和I/O原理-坐
标系部分
带I/O设定的运动RAPID参考手册—RAPID概述,运动和I/O原理—用
逻辑指令同步部分
1.92.MoveExtJ-移动一个或者多个没有TCP的机械单元
用途:
MoveExtJ(移动外部关节)只用来移动线性或者旋转外部轴。该外部轴可以属于一个或者多个没有TCP的外部单元。
该指令只能用来:
l和定义为运动任务的实际程序任务一起使用,并且
l如果任务控制一个或者多个没有TCP的机械单元。
基本范例:
该指令的基本范例说明如下:
也参看第225页的更多范例。
例1MoveExtJ jpos10, vrot10, z50;
移动旋转外部轴到关节位置jpos10,速度10°/秒,zone数据z50。
例2MoveExtJ \Conc, jpos20, vrot10 \T:=5, fine \InPos:=inpos20;
5秒钟把外部轴移动到关节位置jpos20。程序立即向前执行,但是外部轴停止在位置jpos20,直到inpos20的收敛性标准满足。
项目:
MoveExtJ [\Conc] To JointPos [\ID] Speed [\T] Zone [\Inpos]
[ \Conc]:
并发事件
数据类型:switch
当外部轴运动的同时,后续的指令开始执行。该项目通常不使用,但是当使用飞点(flyby points)时,可以用来避免由CPU过载引起的不想要的停止。当使用高速度并且编程点相距较近时这是很有用的。例如,当不要求与外部设备通讯和外部设备和机器人通讯同步的时候,这个项目也很有用。
使用项目\Conc的时候,连续的运动指令的数量限制为5个。在包括StorePath—RestorePath的程序段中不允许使用带有\Conc项目的运动指令。
如果不使用该项目,并且ToPoint不是停止点,在机器人到达程序zone之前一段时间后续指令就开始执行
了。
在多运动系统中的坐标同步运动中不能使用该项目。
ToJointPos:
到达关节位置
数据类型:jointtarget
外部轴的绝对目标轴位置。定义为一个命名的位置或者直接存储在指令中(在指令中用*标记)。
[ \ID ]:
同步ID
数据类型:identno
该项目必须使用在多运动系统中,如果并列了同步运动,则不允许在其他任何情况下使用。
指定的ID号在所有协同的程序任务中必须相同。该ID号保证在routine中运动不会混乱。
如果并列了同步运动,不允许在其他任何情况下使用。
Speed:
数据类型:speeddata
应用到运动中的速度数据。速度数据定义旋转或者线性外部轴的速度。
[\T]:
时间
数据类型:num
该项目用来指定外部轴运动的总时间,单位秒。它代替相应的速度数据。
Zone:
数据类型:zonedata
运动的zone数据。它定义停止点或者飞点。如果是飞点它描述线性或者旋转外部轴的减速度或者加速度。[\Inpos ]:
到位
数据类型:stoppointdata(停止点数据)
该项目用来指定机器人TCP在停止点位置的收敛性判别标准。该停止点数据代替在zone参数中指定的zone。
程序执行:
线性或者旋转外部轴按照编程的速度移动到编程的点。
更多范例:
CONST jointtarget j1 :=[[9E9,9E9.9E9.9E9.9E9.9E9],[0,9E9,9E9,9E9,9E9,9E9]];
CONST jointtarget j2 :=[[9E9,9E9.9E9.9E9.9E9.9E9],[30,9E9,9E9,9E9,9E9,9E9]];
CONST jointtarget j3 :=[[9E9,9E9.9E9.9E9.9E9.9E9],[60,9E9,9E9,9E9,9E9,9E9]];
CONST jointtarget j4 :=[[9E9,9E9.9E9.9E9.9E9.9E9],[90,9E9,9E9,9E9,9E9,9E9]];
CONST speeddata rot_ax_speed :=[0,0,0,45];
MoveeExtJ j1, rot_ax_speed, fine;
MoveeExtJ j2, rot_ax_speed, z20;
MoveeExtJ j3, rot_ax_speed, z20;
MoveeExtJ j4, rot_ax_speed, fine
在该例子中,旋转独立轴移动到轴位置0, 30, 60和90度,移动速度为45度/秒。
语法:
MoveExtJ [‘\’ Conc ‘,’]
[ ToJointPos’ :=’ ]
[‘\’ ID ‘:=’
[Speed ‘:=’ ]
[‘\’T ‘:=’
[Zone ‘:=’ ]
[‘\’ Inpos ‘:=’
相关信息:
相关信息参看
其他位置指令RAPID参考手册-RAPID概述,RAPID摘要-运动部
分
关节目标(jointtarget)的定义第959页jointtarget-关节位置数据
速度的定义第1010页speeddata—速度数据
Zone数据的定义第1047页zonedata—zone数据
运动综述RAPID参考手册—RAPID概述,运动和I/O原理部分当前程序执行RAPID参考手册-RAPID概述,运动和I/O原理部分
1.93.MoveJ-通过关节移动移动机器人
用途:
当运动不必是直线的时候,MoveJ用来快速将机器人从一个点运动到另一个点。
机器人和外部轴沿着一个非直线的路径移动到目标点,所有轴同时到达目标点。
该指令只能用在主任务T_ROB1中,或者在多运动系统中的运动任务中。
基本范例:
该指令的基本范例说明如下:
也可参看第228页更多指令。
例1MoveJ p1, vmax, z30, tool2;
工具tool2的TCP沿着一个非线性路径到位置p1,速度数据是vmax,zone数据是z30。
例2 MoveJ *, vmax \T:=5, fine, grip3;
工具grip3的TCP沿着一个非线性路径运动到存储在指令中的停止点(用*标记)。整个运动需要5秒钟。项目:
MoveJ [\Conc] ToPoint [\ID] Speed [\V] | [\T] Zone [\Z] [\Inpos] Tool [\WObj]
[ \Conc ]:
并发事件
数据类型:switch
当机器人运动的同时,后续的指令开始执行。该项目通常不使用,但是当使用飞点(flyby points)时,可以用来避免由CPU过载引起的不想要的停止。当使用高速度并且编程点相距较近时这是很有用的。例如,当不要求与外部设备通讯或外部设备和机器人通讯同步的时候,这个项目也很有用。
使用项目\Conc的时候,连续的运动指令的数量限制为5个。在包括StorePath—RestorePath的程序段中不允许使用带有\Conc项目的运动指令。
如果不使用该项目,并且ToPoint不是停止点,在机器人到达程序zone之前一段时间后续指令就开始执行了。
在多运动系统中的坐标同步运动中不能使用该项目。
ToPoint:
数据类型:robtarget
机器人和外部轴的目标位置。定义为一个命名的位置或者直接存储在指令中(在指令中用*标记)。
[ \ID ]:
同步ID
数据类型:identno
该项目必须使用在多运动系统中,如果并列了同步运动,则不允许在其他任何情况下使用。
指定的ID号在所有协同的程序任务中必须相同。该ID号保证在routine中运动不会混乱。
如果并列了同步运动,不允许在其他任何情况下使用。
Speed:
数据类型:speeddata
应用到运动中的速度数据。速度数据定义TCP、工具重新定向或者外部轴的速度。
[\V]:
速度
数据类型:num
该项目用来在指令中直接指定TCP的速度,单位mm/s。它用来代替速度数据中相应的速度。
[\T]:
时间
数据类型:num
该项目用来指定外部轴运动的总时间,单位秒。它代替相应的速度数据。
Zone:
数据类型:zonedata
运动的zone数据。它描述产生的转角路径的大小。
[\Z]:
Zone
数据类型:num
该项目用来在指令中直接指定机器人TCP的位置精度。转角路径的长度单位是mm,它代替zone数据中相应的zone。
[\Inpos ]:
到位
数据类型:stoppointdata(停止点数据)
该项目用来指定机器人TCP在停止点位置的收敛性判别标准。该停止点数据代替在zone参数中指定的zone。
Tool:
数据类型:tooldata
当机器人运动的时候使用的工具。TCP是移动到指定的目标点的那个点。
[\Wobj]:
工作对象
数据类型:wobjdata
指令中机器人位置相关到的工作对象(坐标系)。该项目可以忽略,如果忽略的话,位置相关到世界坐标系。
ABB[a]/-J-3ABB机器人的手动操作 3、1任务目标 ?掌握手动操作机器人运动的三种模式。 ?使用“增量”模式来控制机器人的运动。 ?熟练使用手动操纵的快捷方式。 ?掌握ABB机器人转数计数器更新操作。 3、2任务描述 手动操纵机器人运动一共有三种模式:单轴运动、线性运动与重定位运动。如何使用这三种模式手动操作机器人运动就是项目的主要内容。 建立一个工作站,ABB型号为IRB120,Y轴上建模长方体,长200mm,宽200mm,高400mm,在长方体的内角上进行重定位运动,之后恢复到机械远点。(手动操作练习需要教师指导,同时需要上机练习) 3、3知识储备 3、3、1手动操作三种模式 1、单轴运动 一般地,ABB机器人就是由六个伺服电动机分别驱动机器人的六个关节轴,那么每次手动操纵一个关节轴的运动,就称之为单轴运动。 图2 IRB 120机器人的关节轴 2、线性运动 机器人的线性运动就是指安装在机器人第六轴法兰盘上工具的TCP在空间中作线性运动。
3、重定位运动 机器人的重定位运动就是指机器人第六轴法兰盘上的工具TCP点在空间中绕着坐标轴旋转的运动,也可 以理解为机器人绕着工具TCP点作姿态调整的运动。 3、3、2RobotStudio中的建模功能 当使用RobotStudio进行机器人的仿真验证时,如节拍、到达能力等,如果对周边模型要求不就是非常细 致的表述时,可以用简单的等同实际大小的基本模型进行代替,从而节约仿真验证的时间。 如果需要精细的3D模型,可以通过第三方的建模软件进行建模,并通过*、sat格式导入到RobotStudio中 来完成建模布局的工作。 1、使用RobotStudio建模功能进行3D模型的创建 1.单击“新建”菜单命令组,创建一 个新的空工作站。 2.在“建模”功能选项卡中,单击 “创建”组中的“固体”菜单,选择 “矩形体”。
ABB[a]-J-6ABB 机器人的程序编程 6.1 任务目标 ?掌握常用的 PAPID 程序指令。 ?掌握基本 RAPID 程序编写、调试、自动运行和保存模块。 6.2 任务描述 ?建立程序模块test12.24,模块test12.24 下建立例行程序main 和Routine1,在main 程序下进行运动指令的基本操作练习。 ?掌握常用的RAPID 指令的使用方法。 ?建立一个可运行的基本 RAPID 程序,内容包括程序编写、调试、自动运行和保存模块。 6.3 知识储备 6.3.1 程序模块与例行程序 RAPID 程序中包含了一连串控制机器人的指令,执行这些指令可以实现对机器人的控制操作。应用程序是使用称为RAPID 编程语言的特定词汇和语法编写而成的。RAPID 是一种英文编程语言,所包 含的指令可以移动机器人、设置输出、读取输入,还能实现决策、重复其他指令、构造程序、与系统操作
员交流等功能。RAPID 程序的基本架构如图所示: RAPID 程序的架构说明: 1)RAPID 程序是由程序模块与系统模块组成。一般地,只通过新建程序模块来构建机器人的程序,而系统模块多用于系统方面的控制。2)可以根据不同的用途创建多个程序模块,如专门用于主控制的程序模块,用于位置计算的程序模块,用于存放数据的程序模块,这样便于归类管理不同用途的例行程序与数据。 3)每一个程序模块包含了程序数据、例行程序、中断程序和功能四种对象, 但不一定在一个模块中都 有这四种对象,程序模块之间的数据、例行程序、中断程序和功能是可以互相调用的。
4)在RAPID 程序中,只有一个主程序main,并且存在于任意一个程序模块中,并且是作为整个RAPID 程序执行的起点。操作步骤:1. 单击“程序编辑器”,查看 RAPID 程序。文 6.3.2 在示教器上进行指令编程的基本操作 ABB 机器人的RAPID 编程提供了丰富的指令来完成各种简单与复 杂的应用。下面就从最常用的指令开始
S4C IRB 基本操作 培训教材 目录 1、培训教材介绍 2、机器人系统安全及环境保护 3、机器人综述 4、机器人启动 5、用窗口进行工作 6、手动操作机器人 7、机器人自动生产 8、编程与测试 9、输入与输出 10、系统备份与冷启动 11、机器人保养检查表 附录1、机器人安全控制链 附录2、定义工具中心点 附录3、文件管理 1、培训教材介绍 本教材解释ABB机器人的基本操作、运行。 你为了理解其内容不需要任何先前的机器人经验。 本教材被分为十一章,各章分别描述一个特别的工作任务和实现的方法。各章互相间有一定联系。因此应该按他们在书中的顺序阅读。 借助此教材学习操作操作机器人是我们的目的,但是仅仅阅读此教材也应该能帮助你理解机器人的基本的操作。 此教材依照标准的安装而写,具体根据系统的配置会有差异。
机器人的控制柜有两种型号。一种小,一种大。本教材选用小型号的控制柜表示。大的控制柜的柜橱有和大的一个同样的操作面板,但是位于另一个位置。 请注意这教材仅仅描述实现通常的工作作业的某一种方法,如果你是经验丰富的用户,可以有其他的方法。 其他的方法和更详细的信息看下列手册。 《使用指南》提供全部自动操纵功能的描述并详细描述程序设计语言。此手册是操作员和程序编制员的参照手册。 《产品手册》提供安装、机器人故障定位等方面的信息。 如果你仅希望能运行程序,手动操作机器人、由软盘调入程序等,不必要读8-11章。 2、机器人系统安全及环境保护 机器人系统复杂而且危险性大,在训练期间里,或者任何别的操作过程都必须注意安全。无论任何时间进入机器人周围的保护的空间都可能导致严重的伤害。只有经过培训认证的人员才可以进入该区域。请严格注意。 以下的安全守则必须遵守。 ?万一发生火灾,请使用二氧化碳灭火器。 ?急停开关(E-Stop)不允许被短接。 ?机器人处于自动模式时,不允许进入其运动所及的区域。 ?在任何情况下,不要使用原始盘,用复制盘。 ?搬运时,机器停止,机器人不应置物,应空机。 ?意外或不正常情况下,均可使用E-Stop键,停止运行。在编程,测试及维修时必须注意既使在低速时,机器人仍然是非常有力的,其动量很大,必须将机器人置于手动模式。 ?气路系统中的压力可达0.6MP,任何相关检修都要断开气源。 ?在不用移动机器人及运行程序时,须及时释放使能器(Enable Device)。?调试人员进入机器人工作区时,须随身携带示教器,以防他人无意误操作。?在得到停电通知时,要预先关断机器人的主电源及气源。 ?突然停电后,要赶在来电之前预先关闭机器人的主电源开关,并及时取下夹具上的工件。 ?维修人员必须保管好机器人钥匙,严禁非授权人员在手动模式下进入机器人软件系统,随意翻阅或修改程序及参数。 安全事项在《用户指南》安全一章中有详细说明。 如何处理现场作业产生的废弃物 现场服务产生的危险固体废弃物有:废工业电池、废电路板、废润滑油和废油脂、粘油回丝或抹布、废油桶。
A b b机器人调试步骤
精品资料 Q/RT ABB机器人调试规范 武汉人天包装技术有限公司发布
前言 为了培养和加强设计人员、现场安调人员对ABB机器人知识的了解和熟悉,规范安调人员对ABB机器人的调整,特编写《ABB机器人调试规范》。 本标准起草单位:人天公司电气所。 本标准主要起草人: 朱学建。
目录 序言 (3) 一、安装机器人 (3) 1-1 ABB机器人控制柜 (3) 1-1-1控制柜的安装 (3) 1-1-2控制柜的构造 (4) 1-2机器人本体 (5) 1-3机器人本体与控制柜的连接 (7) 二、认识机器人 (13) 三、序列号恢复的运用 (16) 四、ABB机器人的基础操作 (25) 4-1语言设置 (25) 4-2备份与恢复 (27) 4-2-1备份 (28) 4-2-2恢复 (31) 4-3手动机器人 (32) 4-4校准 (36) 五、系统I/O配置及接线 (40) 六、检查信号 (50) 七、导入程序 (53) 八、工件坐标系设定 (56) 九、校基准点 (59) 十、调整参数 (61) 10-1 微调纸箱的长宽高 (61) 10-2修改已经码放的纸箱数量 (63)
10-3微调抓取位置 (64) 10-4微调码垛摆放位置 (66) 十一、手动调试 (69) 十二、自动运行 (70) 十三、注意事项 (73) 序言 本手册主要针对ABB关节机器人在码垛生产线运用的调试。可以指导电气安装调试人员在已有机器人程序模板的情况下如何正确、快速的调试机器人。内容包括机器人介绍、开关机、校准转数计数器、手动移动、自动启动、配置和查看I/O信号、码垛参数调整、备份与恢复等。 一、安装机器人 安装前首先检查是否缺件,用眼观察机器人完好无损伤。。 1-1 ABB机器人控制柜 1-1-1控制柜的安装
一、SmarTac 程序实例 在实际的应用中,smartac有两种方法对焊缝进行纠偏,第一种是用search1D指令检测单个焊缝的偏移,比如寻找起弧点和收弧点,寻找的方向可以使1维的也可以是2维和3维的。这种方法适用于每一条焊缝的变化都是相对对立的并且焊缝相对于检测方向不能有太大的角度变化,比如开关柜。这种方法是直接找到偏移量然后用P-disp frame(P-DispSet指令)直接在工件坐标系里面偏移相应的坐标值。例如: 找点程序 PDispOff; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1D Cs2401, *, scp2_4_x, v100, tSensor\WObj:=Wobj_StnA\SchSpeed:=3; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1D Cs2401,*,scp2_4_z,v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=Cs2401\SchSpeed:=3; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1DCs2401,*,scp2_4_y,v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=Cs2401\SchSpeed:=3; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1D s2400,*, sp2400_x, v100, tSensor\WObj:=Wobj_StnA\SchSpeed:=3; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1D s2400, *, sp2400_y, v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=s2400\SchSpeed:=3; PDispSet Cs2401 MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; ArcLStart p2401, v1000, seam1,wd01_16\Weave:=Weave1,fine, tWeldGun\Wobj:=Wobj_StnA; PDispoff; PDispSet Cs2400; ArcLEnd p2400, v1000, seam1, wd01_16\Weave:=weave1, fine, tWeldGun\WObj:=Wobj_StnA; PDispOff;
MODULE MainModule CONST robtarget pHome:=[[1525.42,272.18,1873.69],[4.42963E-05,0.699969,-0.7141 73,-2.80277E-05],[0,-1,- 1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9 E+09]]; CONST robtarget pPrePickMould:=[[1653.99,272.19,1779.41],[5.83312E-05,0.69997, -0.714172,-3.47922E-05],[0,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9 E+09,9E+09]]; CONST robtarget pPrePickClapboard:=[[2036.17,- 741.24,1235.05],[0.678651,0.73435 ,-0.0119011,0.00467586],[-1,-2,2,0],[9E+09,9E+09,9E+09,9E+09,9 E+09,9E+09]]; CONST robtarget pPickMould:=[[1943.13,173.08,630.89],[4.66987E-05,0.699977,-0.7 14166,-3.24109E-05],[0,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+0 9,9E+09]]; CONST robtarget pPickClapboard:=[[1943.19,173.08,620.72],[1.61422E-05,0.699977, -0.714165,-7.62858E-06],[0,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9 E+09,9E+09]]; robtarget pPrePlace:=[[785.90,- CONST 957.40,1722.38],[0.00231652,0.0492402,-0.99 8779,-0.00310842],[-1,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09, 9E+09]]; CONST robtarget pPrePlace10:=[[-277.40,-
ABB机器人操作员使用手册 关于本手册 本手册供首次启动系统时使用。它包含机器人系统出厂附带文档中的摘录信息。 手册用法 本手册包含在完成物理安装后首次启动IRC5 机器人控制器时的指示说明。 本手册的阅读对象 本手册面向: ?调试人员 操作前提 读者应该熟悉的内容: ?机器人硬件的机械安装。 ?受过机器人操作方面的培训。
本手册内容假定所有硬件(操纵器、控制器等)均已正确安 装并互相连接妥当。 本手册由以下各章组成: 1操作步骤设置和启动IRC5 机器人系统的步骤。 2概述介绍IRC5 机器人系统中的部件。 一:安全 1.1 安全术语 安全信号简介:本节将明确说明执行此手册中描述的工作时,可能 会出现的所有危险。每种危险包括: ?标题,指明危险等级(危险、警告或小心)和危险类型。 ?简要描述,描述操作/维修人员未排除险情时会出现什么情况。 ?有关如何消除危险以简化工作执行的说明。 危险等级 标志名称含义 危险警告,如果不依照说明操作,就会发生事故,并导致严重或 致命的人员伤害和/或严重的产品损坏。该标志适用于以下险 情:碰触高压电气装置、爆炸或火灾、有毒气体、压轧、撞击 和从高处跌落等。 警告警告如果不依照说明操作,可能会发生事故,造成重的伤害 (可能致命)和/或重大的产品损坏。该标志适用于以下险情: 触碰高压电气单元、爆炸、火灾、吸入有毒气体、挤压、撞 击、高空坠落等。
电击针对可能会导致严重的人身伤害或死亡的电气危险的警告 小心 警告如果不依照说明操作,可能会发生能造成伤害和/ 或产品损坏的事故。该标志适用于以下险情:灼伤、眼部伤害、皮肤伤害、听力 损伤、挤压或滑倒、跌倒、撞击、高空坠落等。此外,它还适用于某些涉及功能 要求的警告消息,即在装配和移除设备过程中出现有可能损坏产品或引起产品故 障的情况时,就会采用这一标志。 针对可能会导致严重产品损坏的电气危险的警告 静电放电 (ESD) 注意描述重要的事实和条件 提示描述从何处查找附加信息或如何以 更简单的方式进行操作。 1.2操纵器标签上的安全符号
ABB机器人(ROBOT studio 6.01)程序实例MODULE MainModule PERS tooldata tGripper:=[TRUE,[[0.533078,1.51617,583.739],[1,0,0,0]],[30,[0,0,50],[1,0,0,0],0,0,0] ]; TASK PERS wobjdata VisionWobj:=[FALSE,TRUE,"",[[0,0,0],[1,0,0,0]],[[-934.534,1807.34,-76.7707],[0.4 00996,0.0128267,-0.0292473,-0.915523]]]; TASK PERS wobjdata WobjCompressor1:=[FALSE,TRUE,"",[[518.656,-1088.9,164.25],[0,0,0,1]],[[686.65 1,296.298,-588.529],[0.917114,1.69419E-06,-7.35001E-05,-0.398626]]]; TASK PERS wobjdata WobjCompressor2:=[FALSE,TRUE,"",[[518.656,-1088.9,164.25],[0,0,0,1]],[[-944.87 1,-657.402,-323.406],[0.918098,-1.98999E-05,-6.49686E-06,0.396353]]]; PERS wobjdata WobjCompressor; VAR robtarget pActualPos; VAR socketdev server_socket; VAR socketdev client_socket; VAR string client_ip; VAR string stReceived; VAR num NumCharacters:=9; VAR bool bOK; PERS num nXOffs; PERS num nYOffs; PERS num nAngleOffs; VAR string XData:=""; VAR string YData:=""; VAR string AngleData:=""; VAR num nPresenceOrAbsence; PERS num nPickH:=-400; PERS num nCountX; PERS num nCountY; PERS num nCountZ; PERS num nCount; VAR num nPlaceNo; PERS bool bSMPreOrAbs; PERS bool bInpos; VAR robtarget PVision; VAR robtarget Vision; VAR robtarget ppPick; VAR robtarget pPick;
ABB[a]-J-8ABB机器人高级编程 8.1任务目标 ?掌握ABB机器人RAPID高级编程方法。 ?掌握常用的RAPID程序指令。 8.2任务实施 8.2.1事件程序EventRoutine Event Routine是使用RAPID指令编写的例行程序去响应系统事件的功能。 比如在系统启动时,检查IO输入信号的状态,就可通过Event Routine来完成。 要注意的是,在Event Routine中不能有移动指令,也不能有太复杂的逻辑判断,防止程序死循环,影响系统的正常运行。 下面我们就以响应系统事件POWER_ON为例子,进行此功能的说明。 任务描述:编写rEvent例行程序,打印“Start OK”字样,如果在开启后屏幕上显示,则说明这个例行程序与POWER_ON系统事件关联。 MultiTasking就是在有一个在前台运行用于控制机器人逻辑运算和运动的RAPID程序的同时,后台还有与前台并行运行的RAPID程序,也就是我们所说的多任务程序了。 *系统需要623-1 MultiTasking选项。 多任务程序最多可以有20个不带机器人运动指令的后台并行的RAPID程序。多任务程序可用于机器人与PC之间不间断的通讯处理,或作为一个简单的PLC进行逻辑运算。后台的多任务程序在系统启动的同时就开始连续的运行,不受机器人控制状态的影响。 多任务程序——任务间数据通讯的方法: ◆任务间是可以通过程序数据进行数据的交换。 ◆在需要数据交换的任务中建立存储类型为可变量而且名字相同的程序数据。 ◆在一个任务中修改了这个数据的数值,在另一个任务中名字相同的数据也会随之更新。
ABB[a]/-J-3 ABB 机器人的手动操作 3.1 任务目标 掌握手动操作机器人运动的三种模式。 使用“增量”模式来控制机器人的运动。 熟练使用手动操纵的快捷方式。 掌握ABB 机器人转数计数器更新操作。 3.2 任务描述 手动操纵机器人运动一共有三种模式:单轴运动、线性运动和重定位运动。如何使用这三种模式手动操作机器人运动是项目的主要内容。 建立一个工作站,ABB 型号为IRB120,Y 轴上建模长方体,长200mm,宽200mm,高400mm,在长方体的内角上进行重定位运动,之后恢复到机械远点。(手动操作练习需要教师指导,同时需要上机练习)3.3 知识储备 3.3.1 手动操作三种模式 1.单轴运动 一般地,ABB 机器人是由六个伺服电动机分别驱动机器人的六个关节轴,那么每次手动操纵一个关节轴的运动,就称之为单轴运动。 2.线性运动 图2 IRB 120 机器人的关节轴
机器人的线性运动是指安装在机器人第六轴法兰盘上工具的TCP 在空间中作线性运动。 3.重定位运动 机器人的重定位运动是指机器人第六轴法兰盘上的工具TCP 点在空间中绕着坐标轴旋转的运动,也可以理解为机器人绕着工具TCP 点作姿态调整的运动。 3.3.2RobotStudio 中的建模功能 当使用RobotStudio 进行机器人的仿真验证时,如节拍、到达能力等,如果对周边模型要求不是非常细致的表述时,可以用简单的等同实际大小的基本模型进行代替,从而节约仿真验证的时间。 如果需要精细的3D 模型,可以通过第三方的建模软件进行建模,并通过*.sat 格式导入到RobotStudio 中来完成建模布局的工作。 1.使用RobotStudio 建模功能进行3D 模型的创建
6.8高级编程 6.8.1.映射程序、模块或例行程序 映射 映射可在特定的映射面上创建程序、模块或例行程序的副本。映射功能可以应用于任何程序、模块或例行程序。映射可以通过两种不同的方法完成: ?基础框架坐标系上的默认值。映射过程将在基础框架坐标系的xz平面上进行。特定程序、模块或者例行程序的指令使用过的所有位置和工件框架都将 被映射。定位定向轴x和y将被映射。 ?趋近于一个特定的映射框架。将在一个特定的工件框架的xy平面内进行映射操作,影射框架。映射特定程序、模块和例行程序中的所有位置。如果指令中的工件变元并非映射对话中的特定变元,影射操作中将会使用指令中的工件。也可能会确定定位定向系中那两条轴(x和z或者y和z)将被映射。
6.8.2.修改和调节位置 概述 位置是robtarget或jointtarget数据类型实例。只要您在软键盘上输入偏移值就可以通过HotEdit调节位置。偏移值与位置初始值一起使用。您也可以利程序编辑器或运行时窗口中的修改位置功能进行位置修改,将机器人步进或微调至新位置。位置的修改值将覆盖初始值。 注意 更改预设位置可能会显著改变机器人移动模式。请始终确保任何更改考虑到设备和人员的安全。数组中的位置当位置被列为数组时,根据数组在移动指令中的索引方式,修改或调节的步骤可能稍有不同。 注意:jointtargets只能使用程序编辑器以及运行时窗口中的修改位置方法进行修改,而不能使用HotEdit修改。 附注 您的系统可能在位置修改方式上受限。您可以使用系统参数(主题Controller,类 型ModPos Settings)对距离进行限制,并限制哪些位置可使用UAS修改。 6.8.3.在程序编辑器或运行时窗口 概述
1 介绍 本手册解释ABB机器人的基本操作、运行。 你为了理解其内容不需要任何先前的机器人经验。 手册被分为章,各章分别描述一个特别的工作任务和实现的方法。 各章互相间有一定联系。因此应该按他们在书中的顺序阅读。 借助此手册学习操作操作机器人是我们的目的,但是仅仅阅读此手册也应该能帮助你理解机器人的基本的操作。 此手册依照标准的安装而写,具体根据系统的配置会有差异。 控制柜有两种型号。一种小,一种大。本手册选用小型号的控制柜表示。大的控制柜的柜橱有和大的一个同样的操作面板,但是位于另一个位置。 请注意这手册仅仅描述实现通常的工作作业的某一种方法,如果你是经验丰富的用户,可以有其他的方法。 其他的方法和更详细的信息看下列手册。 《使用指南》提供全部自动操纵功能的描述并详细描述程序设计语言。此手册是操作员和程序编制员的参照手册。 《产品手册》提供安装、机器人故障定位等方面的信息。 如果你仅希望能运行程序,手动操作机器人、由软盘调入程序等,不必要读8-11章。 2 系统安全及环境保护 机器人系统复杂而且危险性大,在训练期间里,或者任何别的操作过程都必须注意安全。无论任何时间进入机器人周围的保护的空间都可能导致严重的伤害。只有经过培训认证的人员才可以进入该区域。请严格注意。 以下的安全守则必须遵守。 ?万一发生火灾,请使用二氧化炭灭火器。 ?急停开关(E-Stop)不允许被短接。 ?机器人处于自动模式时,不允许进入其运动所及的区域。 ?在任何情况下,不要使用原始盘,用复制盘。 ?搬运时,机器停止,机器人不应置物,应空机。
?意外或不正常情况下,均可使用E-Stop键,停止运行。 在编程,测试及维修时必须注意既使在低速时,机器人仍然是非常有力的,其动量很大,必须将机器人置于手动模式。 ?气路系统中的压力可达0.6MP,任何相关检修都要断气源。 ?在不用移动机器人及运行程序时,须及时释放使能器(Enable Device)。 ?调试人员进入机器人工作区时,须随身携带示教器,以防他人无意误操作。 ?在得到停电通知时,要预先关断机器人的主电源及气源。 ?突然停电后,要赶在来电之前预先关闭机器人的主电源开关,并及时取下夹具上的工件。 ?维修人员必须保管好机器人钥匙,严禁非授权人员在手动模式下进入机器人软件系统,随意翻阅或修改程序及参数。 安全事项在《用户指南》安全一章中有详细说明。 如何处理现场作业产生的废弃物 现场服务产生的危险固体废弃物有:废工业电池、废电路板、废润滑油和废油脂、粘油回丝或抹布、废油桶。 普通固体废弃物有:损坏零件和包装材料。 ?现场服务产生的损坏零件由我公司现场服务人员或客户修复后再使用;废包装材料,我方现场服务人员建议客户交回收公司回收再利用。 ?现场服务产生的废工业电池和废电路板,由我公司现场服务人员带回后交还供应商;或由客户保管,在购买新电池时作为交换物。废润滑油及废油脂、废油桶、粘油废棉丝和抹布,由我方现场服务人员建议客户分类收集后交给专业公司处理。 3 综述 3.1 S4C系统介绍: 常规型号: IRB 1400,IRB 2400,IRB 4400,IRB 6400 IRB 指 ABB 机 器 人, 第一位数(1,2,4,6)指机器人大小 第二位数( 4 )指机器人属于S4或S4C系统。 无论何型号,机器人控制部分基本相同。
如对您有帮助,请购买打赏,谢谢您!MODULE MainModule CONST robtarget pHome:=[[1525.42,272.18,1873.69],[4.42963E-05,0.699969,-0.7141 73,-2.80277E-05],[0,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9 E+09]]; CONST robtarget pPrePickMould:=[[1653.99,272.19,1779.41],[5.83312E-05,0.69997, -0.714172,-3.47922E-05],[0,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9 E+09,9E+09]]; CONST robtarget pPrePickClapboard:=[[2036.17,-741.24,1235.05],[0.678651,0.73435 ,-0.0119011,0.00467586],[-1,-2,2,0],[9E+09,9E+09,9E+09,9E+09,9 E+09,9E+09]]; CONST robtarget pPickMould:=[[1943.13,173.08,630.89],[4.66987E-05,0.699977,-0.7 14166,-3.24109E-05],[0,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+0 9,9E+09]]; CONST robtarget pPickClapboard:=[[1943.19,173.08,620.72],[1.61422E-05,0.699977, -0.714165,-7.62858E-06],[0,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9 E+09,9E+09]]; CONST robtarget
ABB机器人简单操作指南 1 机器人主要由以下两部分组成 控制柜机械手控制柜和机械手之间由两条电缆连接 可以用示教器或位于控制柜上的操作盘来控制机械手,见下图 2 机械手 下图显示了机械手上不同的轴的可移动的方向
3 控制柜 下图显示了控制柜的主要部分 示教器 操作盘主开关 驱动磁盘 4 操作盘 下图描述了操作盘的功能 电机开按钮及指示灯操作模式选择开关 急停,如果按下请拉出来工作时间计数器,显示机械手 的工作时间电机开 在电机开状态,机器人的电机被激活,Motors On按钮保持常亮. 常亮准备执行程序 快速闪烁(4Hz) 机器人没有校准或选择计数器没有更新.电机已经打开. 慢速闪烁(1Hz)一个保护停机被激活,电机关闭.
工作模式自动(生产模式) 在这个模式下,当运行准备就绪后,不能用控制杆手动移动机器人 工作模式手动减速运行(程序模式) 在机器人工作区域里面对其编程时候.也用于在电机关状态设置机器人. 工作模式手动全速(选择,测试模式) 用来在全速情况下运行程序 急停 当按下按钮时,无论机器人处于什么状态都立即停止.要重新启动需将按钮恢复工作时间计数器 显示机械手工作的时间 5 示教器 见下图 控制运行 使能设备 显示屏 控制杆 急停按钮手动慢速运行:打开手动慢速运行窗口 编程: 打开编程及测试窗口
输入/输出:打开输入输出窗口,用来手动操作输入输出信号 其它:打开其它窗口如系统参数,维护,生产及文件管理窗口. 停止: 停止程序执行 对比度: 调节显示屏的对比度 菜单键: 按下后显示包含各种命令的菜单 功能键: 按下后直接选择各种命令 动作单元: 按下后手动慢速运行机器人或其它机械元件 动作形式: 按下后选择怎样手动慢速运行机器人,再定位或直线 动作形式: 轴-轴移动. 1=轴1-3, 2=轴4-6 增加: 增加手动慢速运行开/关 列表: 按下后将指针从一个窗口移到另一个窗口(通常由双画线分开) 返回/翻页: 按下翻页或返回上级菜单 删除: 删除选中的参数 确认: 按下输入数据
ABB[a]-J-6ABB机器人的程序编程 6.1任务目标 ?掌握常用的PAPID程序指令。 ?掌握基本RAPID程序编写、调试、自动运行和保存模块。 6.2任务描述 ◆建立程序模块test12.24,模块test12.24下建立例行程序main和Routine1,在main程序下进行运 动指令的基本操作练习。 ◆掌握常用的RAPID指令的使用方法。 ◆建立一个可运行的基本RAPID程序,内容包括程序编写、调试、自动运行和保存模块。 6.3知识储备 6.3.1程序模块与例行程序 RAPID程序中包含了一连串控制机器人的指令,执行这些指令可以实现对机器人的控制操作。 应用程序是使用称为RAPID编程语言的特定词汇和语法编写而成的。RAPID是一种英文编程语言,所包含的指令可以移动机器人、设置输出、读取输入,还能实现决策、重复其他指令、构造程序、与系统操作员交流等功能。RAPID程序的基本架构如图所示:
RAPID程序的架构说明: 1)RAPID程序是由程序模块与系统模块组成。一般地,只通过新建程序模块来构建机器人的程序,而系统模块多用于系统方面的控制。 2)可以根据不同的用途创建多个程序模块,如专门用于主控制的程序模块,用于位置计算的程序模块,用于存放数据的程序模块,这样便于归类管理不同用途的例行程序与数据。 3)每一个程序模块包含了程序数据、例行程序、中断程序和功能四种对象,但不一定在一个模块中都有这四种对象,程序模块之间的数据、例行程序、中断程序和功能是可以互相调用的。 4)在RAPID程序中,只有一个主程序main,并且存在于任意一个程序模块中,并且是作为整个RAPID 程序执行的起点。 操作步骤:
A B B机器人的手动操作 标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]
ABB[a]/-J-3ABB机器人的手动操作 任务目标 掌握手动操作机器人运动的三种模式。 使用“增量”模式来控制机器人的运动。 熟练使用手动操纵的快捷方式。 掌握ABB机器人转数计数器更新操作。 任务描述 手动操纵机器人运动一共有三种模式:单轴运动、线性运动和重定位运动。如何使用这三种模式手动操作机器人运动是项目的主要内容。 建立一个工作站,ABB型号为IRB120,Y轴上建模长方体,长200mm,宽200mm,高400mm,在长方体的内角上进行重定位运动,之后恢复到机械远点。(手动操作练习需要教师指导,同时需要上机练习) 知识储备 手动操作三种模式 1.单轴运动 一般地,ABB机器人是由六个伺服电动机分别驱动机器人的六个关节轴,那么每次手动操纵一个关节轴的运动,就称之为单轴运动。
图2 IRB 120机器人的关节轴 2.线性运动 机器人的线性运动是指安装在机器人第六轴法兰盘上工具的TCP在空间中作线性运动。 3.重定位运动 机器人的重定位运动是指机器人第六轴法兰盘上的工具TCP点在空间中绕着坐标轴旋转的运动,也可以理解为机器人绕着工具TCP点作姿态调整的运动。 中的建模功能 当使用RobotStudio进行机器人的仿真验证时,如节拍、到达能力等,如果对周边模型要求不是非常细致的表述时,可以用简单的等同实际大小的基本模型进行代替,从而节约仿真验证的时间。 如果需要精细的3D模型,可以通过第三方的建模软件进行建模,并通过*.sat格式导入到RobotStudio中来完成建模布局的工作。 1.使用RobotStudio建模功能进行3D模型的创建
1.ABB机器人Pdisp轨迹偏移使用 1)如果有下图两个产品,已经完成了右边产品轨迹,左边产品估计一样,如何快速生成左边轨迹(左边产品可能有平移和旋转) 2)完成右边轨迹示教Path_30,如上图。起点为Target_20。 3)完成左边起点的示教,为Target_ref_start,如下图。 注:如果左边产品轨迹有旋转,示教的Target_ref_start相对于左边产品的姿态要和Target_20相对于右边产品的姿态一致(此处左边产品旋转了30°,示教的角度z方向也旋转了30°) 4)插入指令如下 MoveJ pHome,v1000,z100,tWeldGun\WObj:=wobj0;//移动到Home位置 Path_30;//运行右边产品轨迹 MoveJpHome,v1000,z100,tWeldGun\WObj:=wobj0;//回到Home MoveJTarget_ref_start,v1000,fine,tWeldGun\WObj:=wobj0;//走到左边产品起点
ConfJ\Off;//因为使用偏移,关闭轴配置监控,否则有可能使用原配置参数导致位置走不到而报 错ConfL\Off;//因为使用偏移,关闭轴配置监控,否则有可能使用原配置参数导致位置走不到而报错PDispOn\Rot,Target_20,tWeldGun;//设定当前位置和Target_20的偏差关系(包括平移和旋转),因为此时机器人停在Target_ref_start起点,即设定左边轨迹和右边轨迹的整体偏移关系。使用\rot表示平移和旋转均计算。如果不使用\rot,则只使用平移,旋转不计算 Path_30;//运行原有轨迹,此时轨迹参考坐标移动关系,机器人实际走左边产品轨迹 PDispOff;//轨迹完成,关闭平移关系 MoveJ pHome,v1000,z100,tWeldGun\WObj:=wobj0; 2.单工位多次预约程序 1)机器人有程序如下。 2) 3)工艺过程如下: 机器人在home等待。有人按过di信号,机器人开始执行。人工可以一次性多次预约,即如果人工一次性按过3次,机器人执行三次 4)我们通过中断来实现。 5)中断的意义为,机器人后台在不断扫描(类似PLC),和机器人前台运动不冲突。后台实时扫描到信号就会去执行设定的中断程序,中断程序里没有运动指令,前台机器人不停,不影响运动 6)新建一个例行程序,取名tr_1,注意:类型选中断(trap)
目录 1 培训手册介绍--------------------------------------------2 2 系统安全与环境保护--------------------------------------------3 3 机器人综述---------------------------------------------5 4 机器人示教--------------------------------------------12 5 机器人启动--------------------------------------------25 6 自动生产--------------------------------------------27 7 编程与测试--------------------------------------------32 8 输入输出信号--------------------------------------------50 9 系统备份与冷启动--------------------------------------------52 10 文件管理--------------------------------------------54 在没有声明的情况下,文件中的信息会发生变化。上海ABB工程有限公司不对此承担责任。 对文件中可能出现的错误,上海ABB工程有限公司不对此承担责任。 对于使用此文件或者此文件提及的软硬件所导致的部分或者严重性错误, 上海ABB 工程有限公司无论如何不对此承担责任。 没有上海ABB工程有限公司书面允许,此文件的任何部分不得拷印或复制,并且其中内容也不能转于第三方和用作非法目的。否则将追究其法律责任。 文件中如有不详尽处,参阅<< User Guide >>、<< Product Manual >>、<< RAPID Reference Manual >>。 上海ABB工程有限公司 ABB (Shanghai) Engineering Co. Ltd.
SmarTac 程序实例在实际的应用中,smartac有两种方法对焊缝 进行纠偏,第一种是用searchlD指令检测单个焊缝的偏移,比如寻找起弧点和收弧点,寻找的方向可以使 1 维的也可以是2维和3维的。这种方法适用于每一条焊缝的变化都是相对对立的并且 焊缝相对于检测方向不能有太大的角度变化,比如开关柜。这种 方法是直 接找到偏移量然后用P-disp frame(P-DispSet指令)直接在工 件坐标系里面偏移相应的坐标值。例如: 找点程序 PDispOff; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1D Cs2401, *, scp2_4_x, v100, tSensor\WObj:=Wobj_StnA\SchSpeed:=3; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1D Cs2401,*,scp2_4_z,v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=Cs2401\SchSpeed:=3; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1DCs2401,*,scp2_4_y,v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=Cs2401\SchSpeed:=3; MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1D s2400,*, sp2400_x, v100, tSensor\WObj:=Wobj_StnA\SchSpeed:=3; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; Search_1D s2400, *, sp2400_y, v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=s2400\SchSpeed:=3; PDispSet Cs2401 MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA; ArcLStart p2401, v1000, seam1,wd01_16\Weave:=Weave1,fine, tWeldGun\Wobj:=Wobj_StnA; PDispoff; PDispSet Cs2400; ArcLEnd p2400, v1000, seam1, wd01_16\Weave:=weave1, fine, tWeldGun\WObj:=Wobj_StnA; PDispOff; 方法2:通过计算工件坐标(oframe)的变化来进行焊缝纠正,原理是当工件坐标系发生变化后,通过寻找在新的工件坐标系中相同坐标点的位置来纠正位置的变化。这个变化指的是焊缝在新坐标系里面的位置和原来的坐标系并没有发生变化而是随着坐标系整体进行了偏移。例如工件整体发生了平移(比如由夹具的定位引起的平移)如果焊缝相对于坐标系的位置发生了变化就不适用了。注:这个程序是通过计算相对坐标系的变化来对焊缝就行纠正的,并不适合所有的焊缝偏移形势。 %%% VERSION:1