ABB机器人如何建立 工具

合集下载

ABB机器人的程序数据建立方法

ABB机器人的程序数据建立方法

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机器人”工具坐标的方法

用例行程序快速精确建立“ABB机器人”工具坐标的方法

用例行程序快速精确建立“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工业机器人系统基本操作

ABB工业机器人系统基本操作

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创建工具PPT课件

工业机器人离线编程ABB创建工具PPT课件
UserTool,框架选择选择:框架1,单击添加按钮,然后单击“应用”,如 图5-130~5-133所示。
2019/9/22
18
二、实践操作
4、安装验证工具 • 导入机器人模型,在“基本”功能选项卡中,单击“ABB模型库”,选择
IRB1200机器人模型,单击“确定”完成导入,如图5-134~5-135所示。
2019/9/22
8
二、实践操作
1、设定工具的本地原点 • 第二、三个点及其坐标设置,如图5-107、5-108所示,单击“应用”完成
放置,如图5-109所示。
2019/9/22
9
二、实践操作
1、设定工具的本地原点 • UserTool绕Y轴旋转180°,右键单击UserTool选择“位置”→“旋转”,
5-5 创建工具
一、工作任务
1、设定工具的本地原点 2、创建工具坐标系框架 3、创建工具 4、安装验证工具
2019/9/22
2
二、实践操作
创建工业机器人工作站时,工业机器人法兰盘末端经常会安装用户自定 义的工具。我们希望用户自定义的工具能够像RobotStudio模型库中的工具 一样,安装时能够自动安装到机器人法兰盘末端并保证坐标方向一致,并且 能够在工具的末端自动生成工具坐标系,从而避免工具方面的误差。如图597、5-98所示。本节将以导入的3D模型来创建具有机器人工作站特性的工具。
2019/9/22
21
2019/9/22
22
2019/9/22
6
二、实践操作
1、设定工具的本地原点 • 导入模型UserTool的“工具末端”和“工具法兰盘末端”,如图5-103、
5-104所示。
2019/9/22

工业机器人—ABB机器人建立工具坐标系(四)

工业机器人—ABB机器人建立工具坐标系(四)

工业机器人—ABB机器人建立工具坐标系(四)
ABB机器人建立工具坐标
首先我们还是调整为手动模式,然后点击ABB主菜单,选择程序数据
在程序数据中我们可以看到常用的数据,在视图全部数据里面有76的数据,包括数字,字符,布尔等数据,
我们在这选择tooldate(工具数据)
出厂默认缺省有个tool0,我们新建一个
命名后确定
点击编辑定义
在方法中有三点法、四点法、五点法和六点法,我们选择默认的四点法,示教好点位后确定
出现误差值,点位设置的误差越大,误差越小,也就是越精确
建好后,还要更改值,不然是不能用的
更改值我们需要改的是工具重量,如果知道工具重心也是可以更改,不给也是可以的
更改好后,我们基本就建立好了,然后我们需要来检验一下是否真的建好了。

选择重定位,工具坐标,工具坐标名称
点击点击上电按钮,点击操作杆,看是否能够绕着X、Y、Z旋转,若可以则就OK了,如不行回顾是否那个环节有问题,多尝试!
若有任何问题欢迎留言或私信!。

abb机器人工具坐标系建立的步骤

abb机器人工具坐标系建立的步骤

abb机器人工具坐标系建立的步骤一、什么是ABB机器人工具坐标系ABB机器人工具坐标系是机器人使用的一种坐标系,用于描述机器人末端执行器(工具)的位置和姿态。

它是相对于机器人末端工具而言的,通过建立工具坐标系,可以方便地对机器人进行编程和控制。

二、建立机器人工具坐标系的步骤1. 确定参考点:首先需要确定一个参考点作为建立工具坐标系的基准点。

这个参考点可以是机器人基座的某一点,也可以是工件上的某一点,根据实际情况选择合适的参考点。

2. 定义坐标轴:在确定参考点后,需要定义三个坐标轴,分别为X 轴、Y轴和Z轴。

X轴通常与工具的末端执行器方向一致,Y轴与X 轴垂直且在同一平面内,Z轴与X、Y轴构成右手坐标系。

3. 定义工具坐标系原点:在确定坐标轴后,需要确定工具坐标系的原点位置。

原点通常与参考点重合,标志着工具坐标系的原点。

4. 确定工具坐标系的姿态:除了位置信息外,工具坐标系还包括姿态信息,即工具的旋转状态。

可以通过定义一个参考面来确定姿态,该参考面通常与工具表面平行。

5. 建立工具坐标系:根据以上确定的位置和姿态信息,可以建立工具坐标系。

工具坐标系可以用一个三维坐标系表示,以原点和坐标轴为基准进行描述。

6. 校准和调整:建立工具坐标系后,需要对其进行校准和调整,以确保其准确性。

可以通过机器人的示教器或专门的校准工具进行调整,使得工具坐标系与实际工具位置一致。

7. 验证和测试:建立完工具坐标系后,需要进行验证和测试,以确保其正确性和可用性。

可以通过运行一些示例程序或特定任务来验证工具坐标系的准确性和稳定性。

8. 应用和调整:一旦工具坐标系建立成功并验证通过,就可以应用于机器人的编程和控制中。

在实际应用中,可能需要根据不同的任务和工件进行调整和优化,以达到更好的效果和精度。

三、总结ABB机器人工具坐标系的建立是机器人编程和控制的基础,通过确定参考点、定义坐标轴、定义原点和姿态等步骤,可以建立起一个准确的工具坐标系。

ABB机器人学习课件--RobotStudio


2.点选“手动线性”图标
3.单击焊枪 弹出六方向的移动坐标
4.单击“捕捉末端”图标
5.左键按住箭头方向,将 其拉到相应的点位上
6.点击“示教指令”图像命令
7.生成相应的点位指令
8.以相同的方法, 示教其他点位指令
9.轨迹点位示教 好后,需对机器 人运行特性做一 些修改,选择需 要修改的点,单 击右键,选择修
2.选择相应的工具 坐标,默认准备为 tool0,在六轴的
法兰盘上
3.按住相应的箭头 方向,拖动鼠标, 实现TCP在笛卡尔 坐标系中的重定位
手动操作
1.单击“手动重定 位”图形菜单
2.6 创建工件坐标
➢ 什么是工件坐标?
工件坐标系( Workpiece Coordinate System )固定于工件上的笛 卡尔坐标系,是相对于机器人基准坐标建立的一个新的坐标系,一 般把这个坐标系零点定义在工件的基准点上,来表示工件相对于机 器人的位置。
5.单击“参照面” 下的空白处
6.单击“选择表面” 7.单击圆柱表面
参照面下空白将有此面信息
8.单击“创建”生成轨迹
9.找到自动 生成的轨迹 点目录,对 准第一个点,
单击右键
10.在弹出的 对话框中选 择“参看目 标处工具”
11.可以在此 处查看此时 焊枪在路径
中的姿态
11.选择第一个点
13.单击“旋转”
1.点击HKEY_LOCAL_MACHINE 2.点击Software
3.点击SLP Services
4.打开NOlockData
➢ 修改NoLockData键的值
1.下拉滚动条,找到0870
2.找到D3 08这个值 修改为F2 08
确定,退出注册表,重启电脑

ABB机器人基本设置步骤


11.更新完成后会提示一个更新完成 字样
二.原点定义 1,定义原点前先查看机器人是否配 置了608-1World Zones卡,否则一些 关于原点定义的指令将不能用。
2.定义一个回原点模块,如图: GoHomeModule
3.在 GoHomeModule中建立两个例行 程序,一个用来建立原点区域,一 个用来驱动回原点。
10,手动模拟一下看看有没有干涉。
11,转换运行模式,把运行模式转 到手动全速100%,试教器速度也改 为100%。
12,测试完成,得出测试结果。
五.建立多任务 1,使用多任务前,机器人要有6231multitasking选项。
2,建立多任务,控制面板,配置。
3,主题,controller。
4,进入task,新建一个。
6,重启,程序编辑器进入T2 task。
7,如何在多任务间传输数据,以下 也任务间bool量flag1为例(即任何一 个修改flag1了flag1 值,另外一个 flag量,类型一样,名 字一样,比如
9,在T2里 代码如下。
10,前台代码如下。
11,如何运行。
12,测试没有问题,进入配置界面, 把T2改为semi static,重启,这个时 候T2不能选了,已经开机自动运行 了。
5. 配置输入输出字节数,与PLC端设 置一样。
6. 配置界面下,进入industry Network PROOFINET。
7. 设置station名字,这个名字要和 PLC端对机器人的station设置一样。
8.添加signal,device选择 profinetinternal device 。
控制面板\配置\主题\IO # INDUSTRIAL_NETWORK:

ABB机器人如何建立工具

ABB机器人如何建立工具
首先需要进行的是工具校准。

工具校准通过确定工具的几何特性和位置来定义机器人的工作半径。

这通常包括使用传感器和测量仪器来检测工具末端执行器(TCP)的真实位置和姿态。

然后,根据测量结果,机器人的工作半径可以进行设置,以确保机器人在执行任务时不会碰撞到工作环境或其他设备。

接下来是坐标系校准。

坐标系校准是确定工具的坐标系与机器人基座坐标系之间的关系,以确保机器人能够在正确的坐标系下运动。

这通常涉及使用示教器或其他辅助工具来指定坐标系之间的偏移量和旋转角度。

一旦坐标系校准完成,机器人就可以根据指定的坐标系进行运动。

最后,需要定义工具参数。

工具参数包括偏移量、重量以及惯性矩阵等信息。

这些参数对于机器人的精确控制和动力学模拟非常重要。

一般来说,这些参数可以通过测量和实验进行确定,以确保机器人根据工具的实际特性进行工作。

需要注意的是,ABB机器人建立工具的过程可能会根据具体的机器人型号和任务要求有所不同。

在一些高级应用中,还可能涉及更复杂的工具校准和参数调整过程。

此外,一些ABB机器人模型可能具有先进的自动校准功能,可以简化和加快工具建立的过程。

总之,ABB机器人建立工具的过程关键在于工具校准、坐标系校准和工具参数的定义。

这些步骤确保机器人能够准确地执行任务并配合其他设备和工具进行工作。

通过合理的工具建立,ABB机器人可以在不同的工业应用中发挥出最佳性能。

ABB-robotstudio使用详细步骤

搬运码垛工作站建模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。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6.4 工具
创建工具
创建工具时会发生什么情况?
创建新工具时, tooldata 工具类型变量将随之创建。

该变量名称将成为工具的名称。

新工具具有质量、框架、方向等等初始默认值,这些值在工具使用前必须进行定义。

如何创建工具
默认工具 (tool0) 的工具中心点位于机器人安装凸缘的中心,与机器人基座方向一致。

创建新工具时,您可以定义其它工具中心点。

义工具框
准备工作
要定义工具框,首先需要在大地坐标系中建立一个参照点。

如果要建立工具中心点定向,还需要在工具上附加延伸器。

您还需要决定用于工具框定义的方法。

如何执行工具框定义
本步骤介绍如何在笛卡尔坐标系中定义工具中心点。

计算结果是否足够准确?
计算结果对话框显示了工具框定义的计算结果。

计算结果必须在您确认接受后才能在控制器中生效。

为了得到更好的结果,您也可以选择恢复框架定义。

平均误差结果指的是根据计算的 TCP (工具中心点)所得到的接近点的平均距离。

最大误差是所有接近点中的最大误差。

结果是否可以接受很难作出确切判断。

这取决于您使用的工具、机器人类型等。

一般来说,平均误差达到十分之几毫米时,则计算准确。

如果定位合理精确,计算结果也会准确。

由于机器人被用作为测量机器,因此结果还取决于机器人工作区域内的定位位置。

工作区域不同部件中的定义之间,实际 TCP 的差异可达到几毫米(对于大型机器人)。

如果以后的 TCP 校准接近于之前的校准,则可重复性将提高。

注意,所得结果是机器人在该工作区域的最佳 TCP,并考虑了机器人在当前配置中的任何差异。

提示检查工具框是否正确定义的常用方法是定义就绪后执行重新定向测试。

选择重新定向动作模式和工具坐标系,然后移动机器人。

验证机器人移动时工具顶点是否非常接近所选参照点。

编辑工具数据
工具数据
使用值设置功能来设置工具的中心点位置和物理属性,如重量和重心。

该操作也可使用服务例行程序 LoadIdentify 自动完成。

测量工具中心点
定义工具中心点 TCP 的最简单方式通常是使用预定义方法,如果您使用此方法,则无需写入任何 tframe 数值,因为此方法已提供
这些数值。

如果您已具有工具的测量值,或出于某些原因想手动测量数值,则这些数值可以输入至工具数据中。

编辑工具声明
工具声明
请使用声明来更改工具变量在程序模块中的使用方式。

删除工具
设置
固定工具
在包含大型机械(例如切割工具、压具和冲压切具)的应用中,会使用固定工具。

当机器人上的工具使用不便或操作困难时,您可以使用固定工具来执行操作。

有了固定工具,机器人就可握住工件。

建立工具坐标系
根据与机器人上安装的工具的相同测量方法,测量固定工具数据以建立固定工具坐标系。

在本例中,大地坐标参照顶点必须与机器人连接。

创建接近点时,请使用参照顶点的测量值来定义和使用工具。

如需设置框架定向,您还需要在固定工具上附加延伸器。

计算建立固定工具的坐标系时,为了尽量减少错误,您应该手动输入参照顶点的工具定义。

您可以手动输入固定工具的定义。

6.5 工件
创建工件
创建工件时会发生什么情况?程序将建立一个wobjdata 类型的变量。

变量的名称就是工件的名称。

义工件坐标系
概述
定义工件意味着机器人将用于指出其所在位置。

共需定义三个位置,两个位于 x 轴上,一个位于 y 轴上。

您定义工件时可以使用用户框架或工件框架,或者两者同时使用。

用户选择框架与工件框架通常是重合的。

如果不一致,工件框架将偏移于用户框架。

编辑工件数据
概述
使用工件数据定义来设定位置及用户框架与工件框架的旋转度。

编辑工件声明
概述
使用声明来改变工件变量在程序模块中的使用方法。

删除工件。

相关文档
最新文档