by张建辉,韩鹏排版ABB机器人RAPID常用指令详解-中文1.88.MoveAbsJ—把机器人移动到绝对轴位置用途:MoveAbsJ(绝对关节移动)用来把机器人或者外部轴移动到一个绝对位置,该位置在轴定位中定义。使用实例:l终点是一个单一点l对于IR6400C中的不明确的位置,例如携带超过机器人范围的工具运动。MoveAbsJ指令中机器人的最终位置,既不受工具或者工作对象的影响,也不受激活程序更换的影响。但是机器人要用到这些数据来计算负载、TCP速度和转角点。相同的工具可以被用在相邻的运动指令中。机器人和外部轴沿着一个非直线的路径移动到目标位置。所有轴在同一时间运动到目标位置。该指令只能被用在主任务T_ROB1中,或者在多运动系统中的运动任务中。基本范例:该指令的基本范例说明如下。也可参看第207页更多范例。例1MoveAbsJp50,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之前一段时间后续指令就开始执行了。by张建辉,韩鹏排版该项目不能用在多运动系统的坐标同步运动中。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]:Zoneby张建辉,韩鹏排版数据类型:num该项目用来在指令中直接指定机器人TCP的位置精度。转角路径的长度用毫米给出,替代zone数据中指定的相应数据。[\Inpos]:到位数据类型:stoppointdata(停止点数据)改项目用来指定机器人TCP在停止点位置的收敛性判别标准。该停止点数据代替在zone参数中指定的zone。Tool:数据类型:tooldata运动过程中所携带的工具。TCP的位置和工具的负载在工具数据中定义。TCP位置用来计算运动的速度和转角路径。[\Wobj]:工作对象数据类型:wobjdata在运动过程中使用的工作对象。如果机器人抓着工具的时候,该项目可以忽略。但是,如果机器人抓着工作对象,也就是说工具是静止的,或者带有外部轴,那么该项目必须指定。在有并列工具或者有并列外部轴的情况下,系统使用该数据计算运动的速度和转角路径,该数据在工作对象中定义。程序执行:MoveAbsJ运动不会受激活的程序转移的影响,并且如果使用了可选项目\NoEOffs,将没有外部轴的偏移。如果不使用\NoEOffs,外部轴的目标位置将会受到激活的外部轴偏移的影响。工具按照轴角度插补移动到绝对轴目标位置。这就是说每一个轴都按照固定的速度运动,并且所有轴都在同一时间到达目标位置,这样就形成一个非线性的路径。总的来说,TCP大约按照编程的速度运动。在TCP运动的同时,工具重新定向,并且外部轴也在运动。如果重新定向的或者外部轴的程序要求的速度不能达到,TCP的速度将被减小。当转换到路径的下一段的时候通常会产生转角路径。如果停止点在Zone数据中指定,只有在机器人和外部轴到达合适的轴位置的时候程序才能继续执行。更多范例:关于如何使用该指令,更多范例说明如下:by张建辉,韩鹏排版例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;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’:=’num类型的表达式(IN)]‘,’[‘\’Z‘:=”]num类型的表达式(IN)[‘\’Inpos’:=’stoppointdata类型的表达式(IN)]‘,’[Tool‘:=’]tooldata类型的恒量(PERS)[‘\’Wobj’:=’wobjdata类型的恒量(PRS)]‘;’相关信息:by张建辉,韩鹏排版相关信息参看其它定位指令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:=5,fine,grip3;Grip3的TCP沿圆周运动到存储在指令中的fine点(第二个*标记)。中间点也存储在指令中(第一个*标记)。整个运动需要5秒钟。例3MoveLp1,v500,fine,tool1;MoveCp2,p3,v500,z20,tool1;MoveCp4,p1,v500,fine,tool1;下图说明了怎么用两个MoveC指令画一个完整的圆。by张建辉,韩鹏排版项目:MoveC[\Conc]CirPointToPoint[\ID]Speed[\V]|[\T]Zone[\z][\Inpos]Tool[\Wobj][\Corr][\Conc]:并发事件数据类型:switch当机器人运动的同时,后续的指令开始执行。该项目通常不使用,但是当使用飞点(flybypoints)时,可以用来避免由CPU过载引起的不想要的停止。当使用高速度并且编程点相距较近时这是很有用的。例如,当和外部设备通讯并且外部设备和机器人通讯不要求同步的时候,这个项目也很有用。使用项目\Conc的时候,连续的运动指令的数量限制为5个。在包括StorePath—RestorePath的程序段中不允许使用带有\Conc项目的运动指令。如果不使用该项目,并且ToPoint不是停止点,在机器人到达程序zone之前一段时间后续指令就开始执行了。在多运动系统中的坐标同步运动中不能使用该项目。CirPoint:数据类型:robtarget机器人的圆轴上的中间点。这是圆轴上处于起点和终点之间的点。为了获得最好的精度,最好选择起点和终点的中间位置附近的点。如果太接近起点或者终点,机器人将会报警。中间点定义为一个命名的位置或者直接存储在指令中(在指令中用*标记)。不使用外部轴的位置。ToPoint:数据类型:robtarget机器人和外部轴的目标点。定义为一个命名的位置或者直接存储在指令中(在指令中用*标记)。[\ID]:同步ID数据类型:identnoP1P2P3P4by张建辉,韩鹏排版该项目必须使用在多运动系统中,如果并列了同步运动,则不允许在其他任何情况下使用。指定的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]:by张建辉,韩鹏排版工作对象数据类型:wobjdata机器人在指令中定位的相关到的工作对