ABB机器人如何建立 工具
- 格式:doc
- 大小:25.50 KB
- 文档页数:3
ABB机器人的程序数据建立方法ABB[a]-J-5ABB机器人的程序数据5.1任务目标➢掌握程序数据的建立方法。
➢掌握三个关键程序数据的设定。
➢了解机器人工具自动识别功能。
5.2任务描述◆以bool为例,建立程序数据,练习建立num、robtarget程序数据。
◆设定机器人的工具数据tooldata、工件坐标wobjdata、负荷数据loaddata。
使用LoadIdentify工具自动识别安装在六轴法兰盘上的工具(tooldata)和载荷(loaddata)的重量,以及重心。
5.3知识储备5.3.1程序数据程序数据是在程序模块或系统模块中设定的值和定义的一些环境数据。
创建的程序数据由同一个模块或其他模块中的指令进行引用。
图中是一条常用的机器人关节运动的指令MoveJ,调用了四个程序数据。
图中所使用的程序数据的说明见表:程序数据数据类型说明p10 robtarget 机器人运动目标位置数据v1000 speeddata 机器人运动速度数据z50 zonedata 机器人运动转弯数据tool0 tooldata 机器人工作数据TCP5.3.2程序数据的类型与分类1.程序数据的类型分类ABB机器人的程序数据共有76个,并且可以根据实际情况进行程序数据的创建,为ABB机器人的程序设计带来了无限可能性。
在示教器的“程序数据”窗口可查看和创建所需要的程序数据。
2.程序数据的存储类型(1)变量VAR变量型数据在程序执行的过程中和停止时,会保持当前的值。
但如果程序指针被移到主程序后,数值会丢失。
举例说明:VAR num length:=0;名称为length的数字数据VAR string name:=”John”;名称为name的字符数据VAR bool finish:=FALSE;名称为finish的布尔量数据在程序编辑窗口中的显示如图:在机器人执行的RAPID程序中也可以对变量存储类型程序数据进行赋值的操作,如图:*注意:VAR表示存储类型为变量num表示程序数据类型*提示:在定义数据时,可以定义变量数据的初始值。
用例行程序快速精确建立“ABB机器人”工具坐标的方法作者:王永国来源:《学校教育研究》2018年第12期AAB机器人使用手册中有关于工具坐标的建立方法,大多数操作者也是按照手册中的方法来建立工具坐标的,这种方法是可行的。
但本文介绍的方法比手册中的方法速度更快,数据更精确;经常更换工具时,效率更高,读者不妨一试。
1.打开ABB菜单,选择手动操纵;选择工具坐标; 点击新建;2.设定工具初始值;输入Mass:=2;x:=100;y:=50;z:=120(焊枪质量2KG;X,Y,Z偏移量100,50,120)点击确定;3.选中tool1;选择编辑;点击定义;方法:TCP和Z,X,使用6点法设定TCP4.新建“Routine1”例行程序,用于存储6个示教点;5.在“Routine1”例行程序中添加MoveAbsj指令,速度V100,转弯半径fine,新建一个位置变量jpos10;(MoveAbsJ jpos10\NoEOffs, v100, fine, tool0;)6.打开程序数据界面,单击Jionttarget;7.修改jpos10的值,rax_1,rax_2,rax_3,rax_4,rax_5,rax_6都为0;8.回到“Routine1”例行程序,执MoveAbsJ jpos10\NoEOffs, v100, fine, tool0;指令,机器人6个轴回绝对原点;9.用示教器手动操作机器人第5、6轴使焊枪垂直朝下,用movj指令记录当前示教点;Movej P10,v100,fine,tool0(注意:只能操作5、6轴,一旦操作错误,请执行回绝对原点)10.用示教器手动线性操作机器人TCP点靠近固定点,用Movl指令记录该点,转弯半径fine;Movel p20,v100,fine,tool0;选择点4,点击修改位置;11.用示教器手动线性操作机器人TCP从固定点向X的负方向移动,用Movl指令记录该点,转弯半径fine;Movel p30,v100,fine,tool0;(一旦出错,执行指令Movel p20,v100,fine,tool0;)选择延伸器点X,点击修改位置;12.执行指令Movel p20,v100,fine,tool0;用示教器手动线性操作机器人TCP从固定点向Z的负方向移动,用Movl指令记录该点,转弯半径fine;(Movel p40,v100,fine,tool0;)(一旦出错,执行指令Movel p20,v100,fine,tool0;)选择延伸器点Z,点击修改位置;13.用示教器手动操作机器人TCP以3种不同的姿态靠近固定点(姿态差别越大越好),用Movj指令记录,运行速度50,转弯半径10;Movej p50,v50,z10,tool0;Movej p60,v50,z10,tool0;Movej p70,v50,z10,tool0;修改点1、2、3的位置;14.当所有点都记录完,单击确认,确认,出现工具坐标计算结果,一般平均误差在0.5mm内,评均误差超过1mm,要执行“Routine1”例行程序重新示教位置;15.最后用示教器手动重定位运动验证新建工具坐标的方向和精度。
ABB工业机器人系统基本操作一、启动机器人系统:1.按下机器人后面的电源按钮,机器人控制器将开始启动。
2.控制器启动后,显示器上将显示控制器的初始屏幕,输入密码并按下确认键。
3.控制器连接上时,按下“启动/停止”按钮,激活机器人。
二、设置工具:1.在机器人控制器的菜单中,找到“工具”选项。
2.进入“工具”选项后,可以选择现有的工具或添加新的工具。
3.设置完工具后,保存设置。
三、设置工件:1.在机器人控制器的菜单中,找到“工件”选项。
2.进入“工件”选项后,可以选择现有的工件或添加新的工件。
3.设置完工件后,保存设置。
四、创建程序:1.在机器人控制器的菜单中,找到“程序”选项。
2.进入“程序”选项后,选择“新建程序”。
3.在程序中添加所需的任务和指令,并保存程序。
五、运行程序:1.在机器人控制器的菜单中,找到“运行”选项。
2.进入“运行”选项后,选择要运行的程序。
3.根据需要选择执行方式,可以选择单步、连续、循环等执行模式。
4.按下“开始”按钮,机器人将开始执行程序。
六、监控机器人运行:1.在机器人控制器的菜单中,找到“监控”选项。
2.进入“监控”选项后,可以查看机器人的运行状态和参数。
3.可以通过监控界面对机器人的运行进行控制和调整。
七、停止机器人:1.在机器人控制器的菜单中,找到“停止”选项。
2.进入“停止”选项后,选择停止所有程序或停止当前程序。
3.按下“停止”按钮,机器人将停止运行。
八、关机机器人系统:1.在机器人控制器的菜单中,找到“关机”选项。
2.进入“关机”选项后,选择关机方式。
3.按下“确认”按钮,机器人控制器将开始关机。
本文中提到的是ABB工业机器人系统的基本操作方法,操作的具体步骤可能会因机器人型号和系统版本的不同而略有差异。
建议初次操作时,参考机器人操作手册或向ABB工作人员寻求帮助。
同时,注意在操作机器人时要遵守相关的安全规定,确保操作的安全性。
工业机器人—ABB机器人建立工具坐标系(四)
ABB机器人建立工具坐标
首先我们还是调整为手动模式,然后点击ABB主菜单,选择程序数据
在程序数据中我们可以看到常用的数据,在视图全部数据里面有76的数据,包括数字,字符,布尔等数据,
我们在这选择tooldate(工具数据)
出厂默认缺省有个tool0,我们新建一个
命名后确定
点击编辑定义
在方法中有三点法、四点法、五点法和六点法,我们选择默认的四点法,示教好点位后确定
出现误差值,点位设置的误差越大,误差越小,也就是越精确
建好后,还要更改值,不然是不能用的
更改值我们需要改的是工具重量,如果知道工具重心也是可以更改,不给也是可以的
更改好后,我们基本就建立好了,然后我们需要来检验一下是否真的建好了。
选择重定位,工具坐标,工具坐标名称
点击点击上电按钮,点击操作杆,看是否能够绕着X、Y、Z旋转,若可以则就OK了,如不行回顾是否那个环节有问题,多尝试!
若有任何问题欢迎留言或私信!。
abb机器人工具坐标系建立的步骤一、什么是ABB机器人工具坐标系ABB机器人工具坐标系是机器人使用的一种坐标系,用于描述机器人末端执行器(工具)的位置和姿态。
它是相对于机器人末端工具而言的,通过建立工具坐标系,可以方便地对机器人进行编程和控制。
二、建立机器人工具坐标系的步骤1. 确定参考点:首先需要确定一个参考点作为建立工具坐标系的基准点。
这个参考点可以是机器人基座的某一点,也可以是工件上的某一点,根据实际情况选择合适的参考点。
2. 定义坐标轴:在确定参考点后,需要定义三个坐标轴,分别为X 轴、Y轴和Z轴。
X轴通常与工具的末端执行器方向一致,Y轴与X 轴垂直且在同一平面内,Z轴与X、Y轴构成右手坐标系。
3. 定义工具坐标系原点:在确定坐标轴后,需要确定工具坐标系的原点位置。
原点通常与参考点重合,标志着工具坐标系的原点。
4. 确定工具坐标系的姿态:除了位置信息外,工具坐标系还包括姿态信息,即工具的旋转状态。
可以通过定义一个参考面来确定姿态,该参考面通常与工具表面平行。
5. 建立工具坐标系:根据以上确定的位置和姿态信息,可以建立工具坐标系。
工具坐标系可以用一个三维坐标系表示,以原点和坐标轴为基准进行描述。
6. 校准和调整:建立工具坐标系后,需要对其进行校准和调整,以确保其准确性。
可以通过机器人的示教器或专门的校准工具进行调整,使得工具坐标系与实际工具位置一致。
7. 验证和测试:建立完工具坐标系后,需要进行验证和测试,以确保其正确性和可用性。
可以通过运行一些示例程序或特定任务来验证工具坐标系的准确性和稳定性。
8. 应用和调整:一旦工具坐标系建立成功并验证通过,就可以应用于机器人的编程和控制中。
在实际应用中,可能需要根据不同的任务和工件进行调整和优化,以达到更好的效果和精度。
三、总结ABB机器人工具坐标系的建立是机器人编程和控制的基础,通过确定参考点、定义坐标轴、定义原点和姿态等步骤,可以建立起一个准确的工具坐标系。
ABB机器人如何建立工具
首先需要进行的是工具校准。
工具校准通过确定工具的几何特性和位置来定义机器人的工作半径。
这通常包括使用传感器和测量仪器来检测工具末端执行器(TCP)的真实位置和姿态。
然后,根据测量结果,机器人的工作半径可以进行设置,以确保机器人在执行任务时不会碰撞到工作环境或其他设备。
接下来是坐标系校准。
坐标系校准是确定工具的坐标系与机器人基座坐标系之间的关系,以确保机器人能够在正确的坐标系下运动。
这通常涉及使用示教器或其他辅助工具来指定坐标系之间的偏移量和旋转角度。
一旦坐标系校准完成,机器人就可以根据指定的坐标系进行运动。
最后,需要定义工具参数。
工具参数包括偏移量、重量以及惯性矩阵等信息。
这些参数对于机器人的精确控制和动力学模拟非常重要。
一般来说,这些参数可以通过测量和实验进行确定,以确保机器人根据工具的实际特性进行工作。
需要注意的是,ABB机器人建立工具的过程可能会根据具体的机器人型号和任务要求有所不同。
在一些高级应用中,还可能涉及更复杂的工具校准和参数调整过程。
此外,一些ABB机器人模型可能具有先进的自动校准功能,可以简化和加快工具建立的过程。
总之,ABB机器人建立工具的过程关键在于工具校准、坐标系校准和工具参数的定义。
这些步骤确保机器人能够准确地执行任务并配合其他设备和工具进行工作。
通过合理的工具建立,ABB机器人可以在不同的工业应用中发挥出最佳性能。
搬运码垛工作站建模1、创建机器人系统2、创建动态输送链3、创建动态夹具4、工作站逻辑连接5、添加IO(设置好需重启)6、示教目标点(同步到RAPID)7、RAPID编程一、创建机器人系统1、创建空工作站2、导入IRB 260机器人模型3、从布局创建机器人系统,勾选Chinese和709-1网络二、创建动态输送链1、添加输送链并修改位置2、创建600*400*200的物料并修改位置3、添加一个smart组件4、添加source组件5、设置物料本地原点6、添加LINEMOVER和QUEUE组件7设置LINEMOVER属性8、添加面传感器组件9、设置输送链不能被传感器检测10、设置SC_输送链的属性连接11、设置信号连接12、添加信号处理组件,用于检测传感器下降沿13、传感器下降沿触发source进行copy14、传感器与SC输送链的输出联系15、添加仿真开始结束组件,用于激活传感器16、添加置位复位组件,对仿真开始结束信号进行保持17、18、进行仿真设定选择SC——输送链进行验证三、创建动态夹具1、先制作一个吸盘模型,然后设置成工具,并安装到机器人法拉盘2、添加SMART组件3、添加ATTACHER和DETACHER组件4、设置属性5、添加一个线传感器组件6、线传感器设置属性7、设置吸盘工具不能被传感器检测8、把线传感器安装到吸盘(不更新位置,保持当前位置)9、设置属性连接10、添加信号及连接11、添加信号处理取非和锁定组件12、继续信号连接13、添加一个示教物料14、应用手动线性验证SC_工具四、工作站逻辑连接五、参考代码MODULE MainMoudlePERS tooldatatGrip:=[TRUE,[[0,0,200],[1,0,0,0]],[25,[0,0.00109327,116.889],[1,0,0,0],0,0,0]];!吸盘工具数据PERS loaddata LoadEmpty:=[0.01,[0,0,1],[1,0,0,0],0,0,0];PERS loaddata LoadFull:=[40,[0,0,50],[1,0,0,0],0,0,0];!有效载荷数据PERS robtarget pHome:=[[1620.00,-0.00,1331.59],[1.27986E-06,-0.707107,-0.707107,1.27986E-06],[0,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];!基准点PERS robtarget pActualPos:=[[1620,-1.87531E-14,1331.59],[1.27986E-06,-0.707107,-0.707107,1.27986E-06],[0,0,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];!实际点PERS robtargetpPick1:=[[1488.007792464,376.826660408,476.964684195],[0,0.707106307,0.7071 07256,0],[0,0,1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];!1路拾取目标点PERS robtarget pPlace1:=[[-292.446,1263.27,55.4492],[0,0.707107,0.707106,0],[1,0,2,0],[9E+09,9E+09,9E+09, 9E+09,9E+09,9E+09]];!1路放置基准点PERS robtarget pBase1_0:=[[-292.446294945,1263.272085268,55.449220723],[0,0.707107387,0.707106176,0],[1, 0,2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];!1路放置0度姿态PERS robtarget pBase1_90:=[[-391.976797324,1362.469634994,55.449159414],[0,1,-0.000030621,0],[1,0,3,0],[9E9,9E9,9E9,9E9,9E9,9E9]];!1路放置90度姿态PERS robtarget pPick2:=[[1488.013130905,-358.406014736,476.965039287],[0,0.707106307,0.707107256,0],[-1,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];PERS robtarget pPlace2:=[[-317.378,-1857.99,55.449],[0,0.707108,0.707106,0],[-2,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];PERS robtarget pBase2_0:=[[-317.378137718,-1857.993871961,55.448967354],[0,0.707107745,0.707105817,0],[-2,0,-1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];PERS robtarget pBase2_90:=[[-407.525988074,-1755.902485322,55.449282402],[0,1,-0.000031217,0],[-2,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];PERS speeddata MinSpeed:=[1000,300,5000,1000];PERS speeddata MidSpeed:=[2500,400,5000,1000];PERS speeddata MaxSpeed:=[4000,500,5000,1000];!搬运速度定义PERS bool bPalletFull1:=FALSE;PERS bool bPalletFull2:=FALSE;!逻辑布尔量,拾取后为UE,放置后为FALSEPERS num nCount1:=1;PERS num nCount2:=1;!输送链计数PROC Main()rInitAll;WHILE TRUE DOIF diBoxInPos1=1 AND diPalletInPos1=1 AND bPalletFull1=FALSE THEN rPick1;rPlace1;ENDIFIF diBoxInPos2=1 AND diPalletInPos2=1 AND bPalletFull2=FALSE THEN rPick2;rPlace2;ENDIFWaitTime 0.1;ENDWHILEENDPROCPROC rInitAll()Reset doGrip;pActualPos:=CRobT(\tool:=tGrip);pActualPos.trans.z:=pHome.trans.z;MoveL pActualPos,MinSpeed,fine,tGrip\WObj:=wobj0;MoveJ pHome,MidSpeed,fine,tGrip\WObj:=wobj0;bPalletFull1:=FALSE;nCount1:=1;bPalletFull2:=FALSE;nCount2:=1;ENDPROCPROC rPick1()MoveJ Offs(pPick1,0,0,400),MaxSpeed,z50,tGrip\WObj:=wobj0; MoveL pPick1,MinSpeed,fine,tGrip\WObj:=wobj0;Set doGrip;WaitTime 0.3;GripLoad LoadFull;MoveL Offs(pPick1,0,0,400),MinSpeed,z50,tGrip\WObj:=wobj0; ENDPROCPROC rPick2()MoveJ Offs(pPick2,0,0,400),MaxSpeed,z50,tGrip\WObj:=wobj0; MoveL pPick2,MinSpeed,fine,tGrip\WObj:=wobj0;Set doGrip;WaitTime 0.3;GripLoad LoadFull;MoveL Offs(pPick2,0,0,400),MinSpeed,z50,tGrip\WObj:=wobj0; ENDPROCPROC rPlace1()rPosition1;MoveJ Offs(pPlace1,0,0,400),MidSpeed,z50,tGrip\WObj:=wobj0; MoveL pPlace1,MinSpeed,fine,tGrip\WObj:=wobj0;Reset doGrip;WaitTime 0.3;GripLoad LoadEmpty;MoveL Offs(pPlace1,0,0,400),MidSpeed,z50,tGrip\WObj:=wobj0; MoveJ Offs(pPick1,0,0,400),MaxSpeed,z50,tGrip\WObj:=wobj0; nCount1:=nCount1+1;IF nCount1>20 THENbPalletFull1:=TRUE;ENDIFENDPROCPROC rPlace2()rPosition2;MoveJ Offs(pPlace2,0,0,400),MaxSpeed,z50,tGrip\WObj:=wobj0; MoveL pPlace2,MinSpeed,fine,tGrip\WObj:=wobj0;Reset doGrip;WaitTime 0.3;GripLoad LoadEmpty;MoveL Offs(pPlace2,0,0,400),MidSpeed,z50,tGrip\WObj:=wobj0; MoveJ Offs(pPick2,0,0,400),MaxSpeed,z50,tGrip\WObj:=wobj0; nCount2:=nCount2+1;IF nCount2>20 THENbPalletFull2:=TRUE;ENDIFENDPROCPROC rPosition1()TEST nCount1CASE 1:pPlace1:=Offs(pBase1_0,0,0,0);CASE 2:pPlace1:=Offs(pBase1_0,600+10,0,0);pPlace1:=Offs(pBase1_90,0,400+10,0);CASE 4:pPlace1:=Offs(pBase1_90,400+10,400+10,0); CASE 5:pPlace1:=Offs(pBase1_90,800+20,400+10,0); CASE 6:pPlace1:=Offs(pBase1_0,0,600+10,200);CASE 7:pPlace1:=Offs(pBase1_0,600+10,600+10,200); CASE 8:pPlace1:=Offs(pBase1_90,0,0,200);CASE 9:pPlace1:=Offs(pBase1_90,400+10,0,200);CASE 10:pPlace1:=Offs(pBase1_90,800+20,0,200);CASE 11:pPlace1:=Offs(pBase1_0,0,0,400);CASE 12:pPlace1:=Offs(pBase1_0,600+10,0,400);CASE 13:pPlace1:=Offs(pBase1_90,0,400+10,400);CASE 14:pPlace1:=Offs(pBase1_90,400+10,400+10,400); CASE 15:pPlace1:=Offs(pBase1_90,800+20,400+10,400); CASE 16:pPlace1:=Offs(pBase1_0,0,600+10,600);CASE 17:pPlace1:=Offs(pBase1_0,600+10,600+10,600);pPlace1:=Offs(pBase1_90,0,0,600);CASE 19:pPlace1:=Offs(pBase1_90,400+10,0,600);CASE 20:pPlace1:=Offs(pBase1_90,800+20,0,600);DEFAULT:TPErase;TPWrite "the Counter of line 1 is error,please check it!"; Stop;ENDTESTENDPROCPROC rPosition2()TEST nCount2CASE 1:pPlace2:=Offs(pBase2_0,0,0,0);CASE 2:pPlace2:=Offs(pBase2_0,600+10,0,0);CASE 3:pPlace2:=Offs(pBase2_90,0,400+10,0);CASE 4:pPlace2:=Offs(pBase2_90,400+10,400+10,0);CASE 5:pPlace2:=Offs(pBase2_90,800+20,400+10,0);CASE 6:pPlace2:=Offs(pBase2_0,0,600+10,200);CASE 7:pPlace2:=Offs(pBase2_0,600+10,600+10,200);CASE 8:pPlace2:=Offs(pBase2_90,0,0,200);CASE 9:pPlace2:=Offs(pBase2_90,400+10,0,200);CASE 10:pPlace2:=Offs(pBase2_90,800+20,0,200);CASE 11:pPlace2:=Offs(pBase2_0,0,0,400);CASE 12:pPlace2:=Offs(pBase2_0,600+10,0,400);CASE 13:pPlace2:=Offs(pBase2_90,0,400+10,400);CASE 14:pPlace2:=Offs(pBase2_90,400+10,400+10,400);CASE 15:pPlace2:=Offs(pBase2_90,800+20,400+10,400);CASE 16:pPlace2:=Offs(pBase2_0,0,600+10,600);CASE 17:pPlace2:=Offs(pBase2_0,600+10,600+10,600);CASE 18:pPlace2:=Offs(pBase2_90,0,0,600);CASE 19:pPlace2:=Offs(pBase2_90,400+10,0,600);CASE 20:pPlace2:=Offs(pBase2_90,800+20,0,600);DEFAULT:TPErase;TPWrite "the Counter of line 1 is error,please check it!"; Stop;ENDTESTENDPROCPROC rModify()MoveJ pHome,MinSpeed,fine,tGrip\WObj:=wobj0;MoveJ pPick1,MinSpeed,fine,tGrip\WObj:=wobj0;MoveJ pBase1_0,MinSpeed,fine,tGrip\WObj:=wobj0; MoveJ pBase1_90,MinSpeed,fine,tGrip\WObj:=wobj0; MoveJ pPick2,MinSpeed,fine,tGrip\WObj:=wobj0;MoveJ pBase2_0,MinSpeed,fine,tGrip\WObj:=wobj0; MoveJ pBase2_90,MinSpeed,fine,tGrip\WObj:=wobj0; ENDPROCENDMODULE。
6.4 工具
创建工具
创建工具时会发生什么情况?
创建新工具时, tooldata 工具类型变量将随之创建。
该变量名称将成为工具的名称。
新工具具有质量、框架、方向等等初始默认值,这些值在工具使用前必须进行定义。
如何创建工具
默认工具 (tool0) 的工具中心点位于机器人安装凸缘的中心,与机器人基座方向一致。
创建新工具时,您可以定义其它工具中心点。
义工具框
准备工作
要定义工具框,首先需要在大地坐标系中建立一个参照点。
如果要建立工具中心点定向,还需要在工具上附加延伸器。
您还需要决定用于工具框定义的方法。
如何执行工具框定义
本步骤介绍如何在笛卡尔坐标系中定义工具中心点。
计算结果是否足够准确?
计算结果对话框显示了工具框定义的计算结果。
计算结果必须在您确认接受后才能在控制器中生效。
为了得到更好的结果,您也可以选择恢复框架定义。
平均误差结果指的是根据计算的 TCP (工具中心点)所得到的接近点的平均距离。
最大误差是所有接近点中的最大误差。
结果是否可以接受很难作出确切判断。
这取决于您使用的工具、机器人类型等。
一般来说,平均误差达到十分之几毫米时,则计算准确。
如果定位合理精确,计算结果也会准确。
由于机器人被用作为测量机器,因此结果还取决于机器人工作区域内的定位位置。
工作区域不同部件中的定义之间,实际 TCP 的差异可达到几毫米(对于大型机器人)。
如果以后的 TCP 校准接近于之前的校准,则可重复性将提高。
注意,所得结果是机器人在该工作区域的最佳 TCP,并考虑了机器人在当前配置中的任何差异。
提示检查工具框是否正确定义的常用方法是定义就绪后执行重新定向测试。
选择重新定向动作模式和工具坐标系,然后移动机器人。
验证机器人移动时工具顶点是否非常接近所选参照点。
编辑工具数据
工具数据
使用值设置功能来设置工具的中心点位置和物理属性,如重量和重心。
该操作也可使用服务例行程序 LoadIdentify 自动完成。
测量工具中心点
定义工具中心点 TCP 的最简单方式通常是使用预定义方法,如果您使用此方法,则无需写入任何 tframe 数值,因为此方法已提供
这些数值。
如果您已具有工具的测量值,或出于某些原因想手动测量数值,则这些数值可以输入至工具数据中。
编辑工具声明
工具声明
请使用声明来更改工具变量在程序模块中的使用方式。
删除工具
设置
固定工具
在包含大型机械(例如切割工具、压具和冲压切具)的应用中,会使用固定工具。
当机器人上的工具使用不便或操作困难时,您可以使用固定工具来执行操作。
有了固定工具,机器人就可握住工件。
建立工具坐标系
根据与机器人上安装的工具的相同测量方法,测量固定工具数据以建立固定工具坐标系。
在本例中,大地坐标参照顶点必须与机器人连接。
创建接近点时,请使用参照顶点的测量值来定义和使用工具。
如需设置框架定向,您还需要在固定工具上附加延伸器。
计算建立固定工具的坐标系时,为了尽量减少错误,您应该手动输入参照顶点的工具定义。
您可以手动输入固定工具的定义。
6.5 工件
创建工件
创建工件时会发生什么情况?程序将建立一个wobjdata 类型的变量。
变量的名称就是工件的名称。
义工件坐标系
概述
定义工件意味着机器人将用于指出其所在位置。
共需定义三个位置,两个位于 x 轴上,一个位于 y 轴上。
您定义工件时可以使用用户框架或工件框架,或者两者同时使用。
用户选择框架与工件框架通常是重合的。
如果不一致,工件框架将偏移于用户框架。
编辑工件数据
概述
使用工件数据定义来设定位置及用户框架与工件框架的旋转度。
编辑工件声明
概述
使用声明来改变工件变量在程序模块中的使用方法。
删除工件。