
ABB工业机器人典型工程应用-码垛相关指令.pptx
17页单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,工业机器人搬运工作站,码垛相关指令,1,写入,FlexPendant,示教器的通信指令,TPWrite,为方便操作人员掌握机器人执行任务情况,我们可调用示教器通信指令,TPWrite,,在,FlexPendant,示教器人机交互界面上显示相关信息除了显示字符串类型外,在字符串后也可以添加变量名用以显示特定数据的值,其功能与,c,语言中的,printf,函数类似,在,Rapid,中的程序编写,如下:,例,2-1,使用,TPWrite,指令显示字符串及,num,型变量的结果CONST pos pos1:=15,43,24;,PROC main(),TPWrite Hello world;,!,在示教器上写入,Hello world,reg1:=12*20;,TPWrite The result is:Num:=reg1;,!,在示教器上写入字符串并显示运算结果,num,型变量,reg1,的值,TPWrite The position is:Pos:=pos1;,!,在示教器上写入字符串并显示运算结果,pos,型变量,pos1,的坐标值,ENDPROC,程序编辑器,添加指令,Communicate,TPWrite,可选变量,Num,2,用于从,FlexPendant,示教器读取编号指令,TPRead,与,TPWrite,指令功能相反的,TPRead,指令,用于将数据写入,FlexPendant,示教器显示器。
与,TPWrite,相同,显示的字符串最长,80,个字节,屏幕每行可显示,40,字节TPRead,的功能与,c,语言中的,scanf,函数类似由于,TPRead,指令的操作是基于示教器来实现,本节将直接结合示教器的操作进行讲解在“添加指令”中选择“,Communicate,”即可找到三个相关指令,其中,TPReadNum,与,TPReadDnum,功能完全相同,只存在最终储存输入编号变量数据类型的差异TPReadNum,指令最终储存输入编号的变量的类型为,num,型,而,TPReadNum,为,dnum,型使用,TPReadNum,指令输入数值并将其存储,nNum1,中,VAR num nNum1:=0;,PROC main(),TPReadNum nNum1,please enter a number.;,!,在示教器上写入,please enter a number.,,并将输入存储在变量,nNum1,中,WaitTime 1;,TPWrite,The input value is Num:=nNum1;,!,为了能跟直观观察到,nNum,值的变化,我们用,TPWrite,指令一秒后将值写入到示教器上。
ENDPROC,我们将程序运行两遍,先后输入不同的值,3,和,9,,可以看到变量,nNum1,随着我们输入值的变化而同步变化3,计时指令,机器人在执行生产任务时需要记录运行时间以便控制生产节奏,在机器人控制指令中设有以,CLK,开头的计时专用指令,ClkStart,、,ClkStop,、,ClkRead,等在使用计时功能之前必须创建一个时钟数据类型的变量,用于存储计时时间,在计时结束后需要使,ClkRead,指令读取计时数据并存入,num,变量,具体步骤包括:,创建时钟类型变量;,复位后开始计时;,开始运行需要计时的程序;,停止计时后读取计时数据示教器中计时指令的调用方法:,在,计数功能相关指令“,System&Time,”中可对相关计时功能进行调用4,SpeedData,的设定,SpeedData,用于规定机械臂和外轴开始移动时的速率SpeedData,中各参数的说明如下表所示,实际上在没有外轴的情况下,控制机器人的运行速度只需对,v_tcp,进行设定即可,名称,说明,单位,v_tcp,工具中心点的速率,mm/s,v_ori,TCP,的重新定位速率,度,/,秒,v_leax,线性外轴的速率,mm/s,v_reax,旋转外轴的速率,度,/,秒,名称,TCP,速度,方向,线性外轴,旋转外轴,v5,5mm/s,500/s,5000mm/s,1000/s,v10,10mm/s,500/s,5000mm/s,1000/s,v20,20mm/s,500/s,5000mm/s,1000/s,v30,30mm/s,500/s,5000mm/s,1000/s,v40,40mm/s,500/s,5000mm/s,1000/s,v50,50mm/s,500/s,5000mm/s,1000/s,v60,60mm/s,500/s,5000mm/s,1000/s,v80,800mm/s,500/s,5000mm/s,1000/s,v100,100mm/s,500/s,5000mm/s,1000/s,5,有效载荷,LoadData,的设定,Loaddata,是用来描述安装到机器人法兰盘上的负载的数据,通常情况下会作为,tooldata,的一部分,对于搬运应用的机器人,必须在,tooldata,中正确设定工具的质量、重心,。
带焊枪的焊接机器人或者质量较小的物料搬运机器人,由于工具质量偏小,一般不需要特别设定此部分参数定义的荷载会被用来建立一个机器人的动力学模型,使机器人以最好的方式控制运动,不正确的负载数据会使机器人的机械结构超载并导致:,机器人不会使用它的最大载重量;,受影响的路径精度包括过冲的风险(伺服电机的惯量匹配不恰当所引起的伺服,电机,PID,闭环超调震荡),;,机械单元过载的风险名称,参数,单位,有效载荷质量,load.mass,Kg,有效载荷重心,load.cog.x,load.cog.y,load.cog.z,mm,力矩轴方向,load.aom.q1,load.aom.q2,load.aom.q3,load.aom.q4,有效载荷的转动惯量,ix,iy,iz,Kgm,2,6,工具坐标相关功能,RelTool,的使用,在机器人码垛过程中,根据物料码垛要求经常需要对物料沿着竖直方向进行旋转,在工具坐标与法兰盘坐标,z,方向一致时,可以使用单转第,6,轴的方式实现在工具,坐标方向与法兰盘坐标方向不一致时,,RelTool,功能可实现相对工具坐标系的位移和,/,或旋转与,Offs,功能相比较,,RelTool,功能除了能沿着任意工具坐标方向进行偏移外,还可以实现绕工具坐标一个或多个方向进行旋转。
而,Offs,指令只能实现以,wobj,工件坐标方向上的偏移例:,已知目标点,p1,,移动,p1,点至,Mytool,坐标,z,轴负方向,100mm(Mytool,坐标方向如图,3-16,所示,),,程序编写如下:,MoveL RelTool(p1,0,0,-100),v1000,z50,tool0;,示教器中,RelTool,指令的调用,7,数组的应用,例,3-8:,利用一维数组,存储点位,完成如图,3-19,中的方型轨迹CONST robtarget p1;,CONST robtarget p2;,CONST robtarget p3;,CONST robtarget p4;,CONST robtarget pArray5:=p1,p2,p3,p4,p1;,!,定义一个集合,5,个目标点类型的一维数组VAR num,nCounter:=0;,PROC main(),WHILE nCounter,中断符,intno1,被触发,-,跳转至中断子程序,testTRAP,并执行,-,完成后指针跳转回正常程序中断处继续往下执行在机器人正常的程序运行中,程序指针默认从上往下依次执行程序语句但在一些特殊的情况下,比如紧急停止,需要立即被执行。
调用中断指令可以实现运行指针立即跳转至相应的中断程序的功能,在执行完成后重新跳转回被中断的正常运行程序行,继续执行接下来程序创建中断指令主要涉及到三个步骤:,。












