




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、认识码垛工作站工程现场工业机器人现场编程3421课堂导入新知学习训练巩固评价总结知识目标1.了解码垛机器人行业布局2.掌握码垛机器人工作站工艺流程技能目标1.能绘制码垛机器人工作站思维导图;码垛机器人工作站厂家送货到客户指定场地现场设备清点、签收,拆包机器人底座、托盘底座及周边设备定位安装气路、电路定位安装机器人与码垛夹具、周边设备、总控制柜之间I/O连接机器人通电测试、码垛夹具安装总控制柜PLC编程与信号测试工作站所有信号联调测试机器人编程与信号测试码垛工作站联动运行测试示教产品码垛轨迹并保存码垛工作站码垛测试满足现场自动化生产要求,进行正式生产根据码垛工作站生产情况调整码垛参数及码垛程序优化1码垛工作站2码垛周边设备3码垛工艺认识4码垛工件坐标系5码垛机器人有效载荷6机器人与PLC通信7码垛程序常用指令8编辑功能程序说明2码垛周边设备1码垛工作站4计时指令应用3码垛工艺认识6数组的应用5轴配置指令应用8动作触发指令7中断程序应用9复杂程序数据赋值二、认识码垛机器人工作站组成工业机器人现场编程3421课堂导入新知学习训练巩固评价总结知识目标掌握工业机器人码垛工作站布局技能目标能熟知工业机器人码垛相关设备重点难点1.根据现场产品生产情况,能够对码垛工作站布局2.对码垛工艺的理解1.理解码垛程序结构与编程技巧,熟练示教码垛目标点如图所示,机器人码垛工作站,在码垛过程中,最为关注的是每一个运行周期的节拍。码垛节拍应该怎么调节优化?1.机器人在码垛过程中,码垛产品为什么分不同的个数进行抓取与摆放?2.此视频中的码垛工作站应该怎么样优化工作节拍及优化工作站布局?码垛应用码垛仿真工作站布局如下所示:典型码垛机器人硬件组成如下所示:ABB码垛机器人控制选项配置(可选项)如下所示:码垛机器人分类码垛垛型设计码垛垛型指的是:码垛时工件堆叠的方式方法。在考虑码垛垛型时,需要对生产中的大部分工件堆叠方法进行考虑。根据码垛时工件姿态是否发生变化而将码垛垛型分为两类:矩阵垛型(姿态不变)和全点垛型(姿态可变)。同时考虑到生产中会出现的一些常用的垛型,在矩阵和全点垛型的基础上,又补充了两种标准工件垛型:回行垛型和纵横垛型码垛类型:
矩阵垛型:矩阵垛型指的是:码垛工件在堆放时,姿态固定,工件之间的距离一定,且堆叠时的底面形状呈矩形的一种堆叠方式。
点垛型:点垛型是码垛垛型中较为基础的一种垛型,该垛型的特点是:在工件不干涉的前提下,垛中所有工件的位置、姿态是任意的,且每层工件的排放都可以不一致扩充工件垛型
标准垛型是在矩阵和全点垛型的基础上,综合考虑生产中常见的应用而设计的垛型。标准垛型中,工件的姿态并不完全相同,可以划分为2-4个部分,这些部分中,工件的姿态相同,且排列方式和矩阵垛型相同,因此每一部分中工件位置的计算和矩阵垛型相同。标准垛型又包含有两种垛型:回行垛型和纵横垛型。XXYYOOllww奇层排样偶层排样XXYYlwOO回行垛型纵横垛型码垛点位计算码垛应用
码垛点位位置计算是码垛控制软件的核心部分。码垛中,机器人实际位置计算是在工件序号的基础上进行的。在计算实际位置之前,需先读取当前码垛工件的序号,然后根据码垛垛型的不同,判断该工件在垛中所处的位置,计算出该工件相对于参考点的位置、姿态偏移,最后结合示教得到的关键点位的数据,计算出当前工件的位置坐标。在程序中,当前工件序号存储在码垛寄存器中,寄存器中存储有两个数据,第一位表示工件所属的层数,第二位表示工件在该层中的序号。书本中对不同码垛垛型中工件序号的定义及其工件实际位置的计算进行了一一阐述,请参考教材。码垛基本参数
码垛功能中,需要设计一些基本的尺寸参数,用以描述码垛中工件和码盘的尺寸和方位。其中主要包含以下三部分参数:工件尺寸参数、码盘参数以及机器人末端执行器参数。
工件尺寸参数用来描述码垛工件的尺寸。在本文设计的码垛功能中,为使使用方便,将所有规则或不规则的工件都定义为长方体。通过虚拟一个合适的长方体将工件包围,并将此长方体的长、宽、高作为工件的尺寸参数。因此工件的尺寸参数即为工件的长度、宽度和高度。
码盘参数指的是用来描述码盘位置的参数。码盘参数分为两部分:码盘尺寸参数和码盘姿态参数。码盘尺寸参数主要是为了描述码盘平面的大小,分为长度参数和宽度参数。码盘姿态参数则使用机器人控制系统中的工件坐标系来描述。通过标定码盘工件坐标系,可以得出码盘在机器人坐标系中位置和方位。
末端执行器坐标系
机器人末端执行器坐标系类似于码盘工件坐标系,主要是用来描述机器人末端执行器在机器人坐标中的位姿。使用机器人控制系统中的工具坐标系来描述末端执行机构相对于机器人末端法兰的方位。在码垛之前,需要先进行末端执行机构的标定,然后与工具坐标系编号进行对应。项次参数名参数功能工件尺寸参数长度×宽度×高度描述工件的大小码盘参数长度×宽度描述码盘大小工件坐标系描述码盘位姿末端执行器坐标系参数工具坐标系描述末端执行器的位1.2码垛周边设备
倒袋机,是将输送机送来的料袋按预定的编组程序对料袋进行输送、倒袋和转位,流转到下道工序。
整形机,包装袋经过输送线后,须经过辊子的压紧、整形,将包装袋内可能存在的积聚物均匀散开后才可以送至待码辊道输送机上。1.2码垛周边设备
待码输送机,与机械手爪配套,方便抓取。
辊子传动,应用其特殊的结构,可让抓手穿过包装袋底部、主要用于机械手取袋。
自动托盘库有托盘输送机、码垛位输送机及垛盘输送机构成。本系统广泛用于各种包装线成品码垛,配合码垛机械手可以大幅提高自动化程度及减轻工人劳动强度。1.3码垛夹具码垛应用气动吸盘:用于整箱或规则盒装包装物品的码放,可用于各种行业。可以一次码一箱
网格川字形卡板卡板规格:1200mm×1000mm×85mm
传送带,便于物料输送过程中的转弯,以及与下一工序的对接。
托盘缠绕机是将包装物放到托盘上,通过膜架机构,将缠绕薄膜按照预先设定好的阻拉伸或预拉伸后裹绕到托盘货物之上。1.4码垛工艺认识码垛应用
所谓码垛就是按照集成单元化的思想,将一件件的物料按照一定的模式堆码成垛,以便使单元化的物垛实现物料的存储、搬运、装卸运输等物流活动。作为物流自动化领域的一门新兴技术,近年来,码垛技术获得了飞速的发展。码垛有人工码垛和自动码垛之分,人工码垛应用在物料轻便、尺寸和形状变化大、吞吐量小的场合,当码垛吞吐量在10件/min以上,采用人工码垛方案需要较多工人时,采用自动码垛方案会带来一系列的效果,不仅可以加快物流速度,保护工人的健康和安全,而且可以获得整齐一致的物垛,减少物料的损伤,提高叉车的搬运效率,增强处理的柔性。人工码垛
人工码垛:在物料轻便、尺寸和形状变化大、吞吐量小的场合,采用人工码垛方案,常常是经济可取的,特别是在人力资源丰富的我国,这些应用场合基本上都是采用人工码垛的。然而,在吞吐量恒定的情况下,长时间地进行人工码垛作业常常会造成弯腰疲劳和重复劳动疲劳,从人机工程学的角度考虑,需要增加一些符合人机工程学方面的设施,例如托盘操纵机、剪式升降台、工业操作机械手等。在线式码垛机
在线式码垛机在工作时,通过排层输送机成排。一般地,每层由两排组成,推板先将第一排推到中部缓冲区,然后推板回到起点等待,当第二排形成后,推动第二排前进,当第二排碰到第一排后,第一排受推,直到整层送到滑板门或升降车上。之后,通过一定的装置将成层物料叠放在托盘上或其他层料上。根据进料位置的高低,可将在线式码垛机分为高位式和低位式两种。机器人码垛机
近年来,机器人码垛技术发展甚为迅猛,这种发展趋势是和当今制造领域出现的多品种少批量的发展趋势相适应的,机器人码垛机以其柔性工作能力和小占地面积,能够同时处理多种物料和码垛多个料垛,愈来愈受到广大用户的青睐并迅速占据码垛市场。根据机械结构的不同,机器人码垛机包括如下三种形式:笛卡耳式、旋转关节式和龙门起重架式。三、码垛机器人工作站实训任务书工业机器人现场编程3421课堂导入新知学习训练巩固评价总结知识目标1.理解码垛机器人工作站实训任务书技能目标1.能完成码垛机器人工作站任务奇数层放置方式
偶数层放置方式产品箱长度600mm、宽度400mm、高度200mm;产品箱之间的摆放间隔10mm,产品要求奇数层、偶数层交替放置;码垛样式及产品规格如图实训目的(1)掌握码垛机器人的操作方法,能够独立完成基本操作。(2)能够运用编程语言进行简单的编程与调试,实现码垛机器人的基本功能。(3)了解码垛机器人的常见故障及排除方法,具备一定的故障诊断能力。(4)掌握码垛机器人的日常维护和保养技能,保障设备的正常运行。实训要求(1)核查工程清单,了解箱体尺寸、箱体重量、工具重量等参数(2)分析任务,绘制机器人码垛程序流程图:(3)创建机器人工具数据,应用在机器人码垛程席的恰当位置(4)配置相应的信号,列出信号清单(5)设计机器人码垛程序,并对其进行调试:(6)机器人码垛过程能够自动完成,无需人为干预。注意事项(1)严格遵守实验室的安全规定,注意自身及他人安全。(2)避免对设备造成不必要的损坏。(3)在进行故障排除时,应在教师的指导下进行,注意正确的操作方法。(4)设备清理和保养。码垛机器人工作站序号考核内容评分要求分值得分1机器人手动操作机器人发生碰撞,扣10分。102工具、工件数据设定少设置一个扣5分,本项分值扣完为止。103运动控制指令应用在原点位置没有使用MoveAbsj指令,扣5分。在大范围空间中,没有使用Movej指令,扣5分;错误使用指令,1处扣2分:本项分值扣完为止。10码垛机器人工作站序号考核内容评分要求分值得分4I/0指令应用在使用IO指令取放物体时,若不能正确取放,1次扣1分,本项分值扣完为止。在使用IO指令取放物体时,若不能轻取轻放原则,扣5分。55流程控制指令应用没使用while或if循环指令实现码垛功能,扣5分。没使用for或test循环指令实现码垛功能,扣5分。5序号考核内容评分要求分值得分6功能应用没使用数组功能的实现码垛工作站点位,扣2分。没使用中断指令实现码垛工作站中切换垛盘,扣2分。在程序恰当的位置使用offs功能,满分,扣1分;1次功能都没使用,扣5分。57机器人程序设计与调试没有绘制程序流程图,扣5分。程序流程图绘制不规范,扣2分:机器人点位示教精度差,超过士3mm,1个点位扣1分。机器人运行姿态不规范(难看),1段轨迹扣1分:机器人程序没有按照结构化进行设计,扣5分。程序中的点位数量超过20个,每超过1个扣1分,本项分值扣完为止。30序号考核内容评分要求分值得分8机器人程序自动执行程序不能自动运行,扣10分。程序开始未经过慢速调速,直接100%速度运行,扣10分。自动运行时,手动干预一次扣5分,本项分值扣完为止。109工作素养工作台不整洁,扣1分。踩踏导线,1次扣1分。示教器数据线在考核结束后,杂乱无章,扣1分。考核结束后,机器人没有回到原点位置(1、2、3、4、6轴位于0°,5轴位于90°),扣1分。着装不整洁(穿拖鞋),扣1分。5配置码垛机器人工作环境(一)工业机器人现场编程3421课堂导入新知学习训练巩固评价总结知识目标掌握工具坐标系的设定和变换掌握工件坐标系的设定和变换掌握有效载荷的设定方法了解码垛工作站配置掌握配置码垛机器人工程数据的方法掌握配置码垛程序结构表的方法理解码垛工艺流程技能目标能熟练使用示教器操纵机器人,完成工具坐标系设定能熟练使用示教器操纵机器人,完成工件坐标系设定能设定有效载荷能配置码垛机器人工程数据能配置码垛程序结构表重点难点1.自动测定机械臂上的载荷2.配置码垛点位数据表;3.分析码垛程序结构;1.掌握配置码垛机器人工程数据的方法;2.掌握配置码垛程序结构表的方法;工具坐标系将工具中心点设为零点,它会由此定义工具的位置和方向。工具坐标系经常缩写为TCPF(toolcenterpointframe),而工具坐标中心缩写为TCP(toolcenterpoint)执行程序时,就是将TCP移至编程位置,这就意味者,如果要更改工具(或工具坐标系),机器人的移动将随之变更,以便新的TCP达到目标所有的机器人在手腕处都有一个预定义的坐标系tool0。这就可以将一个或者多个工具的坐标系定义为tool0的位移值。工具坐标系位置示意图默认工具(tool0)的工具中心点A是原始的TCP1、创建码垛工作站工具坐标系工具坐标系设定工具数据tooldata用于描述安装在机器人第六轴上的工具的TCP、质量、重心等参数数据。
一般不同的机器人应用配置不同的工具,以如说弧焊的机器人就使用弧焊枪作为工具,而用于搬运板材的机器就会使用吸盘式的夹具作为工具,如图所示。工具坐标系中的参数释义注:工具坐标的以上全部程序数据在示教器中的程序数据中实时显示,可随时查看,无需自行计算。工具坐标系的变换工具坐标系的设定TCP的设定原理如下:(1)在定义工业机器人工作范围内找一个非常精确的固定点作为参考(2)在工具上确定一个参考点(最好是工具的中心点)(3)前面介绍的手动操纵工业机器人的方法移动工具上的参考点,将四种不同的工业机器人姿态尽可能与固定点刚好碰上(4)工业机器人通过这四个位置点的位置数据计算求得TCP数据,然后TCP数据保存在tooldata程序数据中被程序调用固定点定义工具坐标系定义工具坐标系时可使用三种不同的方法,所有这三种方法都需要您定义工具中心点的笛卡尔坐标,不同的方法对应不同的方向定义方式。方法定义方向TCP(默认方向)将方向设置为与机器人安装平台相同的方向TCP&Z设立Z轴方向TCP&Z,X设立X轴和Z轴方向TCP取点数量的区别:
4点法,不改变tool0的坐标方向。
5点法,改变tool0的Z方向。
6点法,改变tool0的X和Z方向(在焊接应用最为常用)
前三个点的姿态相差尽量大些,这样有利于TCP精度的提高。(1)四点法01四点法:TCP(默认方向)移动工具上的参考点,以四种不同的姿态(P1-P4)尽可能的与固定点刚好碰上1.四点法只转换坐标系位置,不改变坐标系方向2.接近参考点时,降低速度以防碰撞1243(2)五点法该标定方法用于,对工具的工作方向在定位和操作有要求。例如:MIG/MAG焊接,激光或者水切割等。1.第四点与固定参考点的轴线在一条直线上2.Z方向为从延伸点指向原点五点法:TCP&Z0112延伸点Z原点43+Z(3)六点法该方法用于,如果在定位和操作时,对坐标的3个轴的方向有要求,例如:焊接枪和夹具等。
实际X、Z方向为从延伸点指向原点六点法:TCP&Z、X0112延伸点Z延伸点X原点43+Z+X自动测定机械臂上载荷LoadIdentify是ABB机器人开发的用于自动识别安装于机器人之上的载荷数据,如重量,以及重心的例行程序。(前面介绍到,设置tooldata和loaddata是手动输入数据,这样会有一定的不准确性)负载数据定义不正确可能会导致机械臂机械结构过载。1:使用手动操纵功能,把机器人回到机械原点位置。2:进入“手动操纵”界面,进入“工具坐标”界面,选取需要测量的工具数据(如果有载荷,选择测量的载荷)。3:进入“程序编辑器”画面,单击【调试】,选择“调用例行程序”,选择“LoadIdentity”(此程序为标准程序)-单击【转到】。4:按下使能键,点击示教器右下侧的播放键运行程序,在弹出的对话框中点击【OK】。5:点击【OK】。6:根据提示选择“Tool”(即选择要测量的是工具还是工具加负载)。7:确认六轴是否在合适位置(不必为机械原点)。8:确认工具数据名称。9:选择工具质量是否已知。10:调整旋转角度(如果工具不能进行90度旋转,要进行设置)。11:点击【MOVE】,进行慢速测试12:等待机器人完成测试步骤,观察机器人动作是否有被干涉,一直按住使能键(使能键如果断开,需要重新开始测试过程)。13:切换到自动状态,点击播放键,重新进入识别程序画面,点击“MOVE”。14:完成后跳到画面,切换为手动,显示测量结果(包括重量、重心、准确度等),确认无误后,点击“Yes”将结果写入工具数据。焊接机器人码垛机器人还有哪些地方用到工具坐标?如果在工件坐标B中对A对象进行了轨迹编程,若要在工件坐标D中的C位置加工一个相同的A对象,在不需要重新编程的情况下如何实现该功能呢?转换坐标系,将工件坐标B”变“为工件坐标D(新建坐标D)工件坐标系的建立方法?工件坐标系参数含义、工件坐标使用环境什么是工件坐标系?2、创建码垛工作站工件坐标系1.机器人在码垛时,为什么能找到准确的位置?除了需要建立工具坐标系外,还需要哪些必要的编程环境?(1)工件坐标系工件坐标系对应工件,它定义工件相对于大地坐标系(或其他坐标系)的位置。工件坐标系可以定义两个框架:用户框架(与大地基座相关)和工件框架(与用户框架相关)。工业机器人可以拥有若干个工件坐标系,或表示不同工件,或表示同一工件在不同位置的若干副本。对工业机器人进行编程时,就是在工件坐标系中创建目标和路径。这具有很多优点:(1)重新定义工作站中的工件时,只需要更改工件坐标系的位置,所有路径即刻随之更新;(2)允许操作以外轴或传送导轨移动的工件,因为整个工件可以连同路径一起移动。A.大地坐标B.工件坐标系1C.工件坐标系2大地坐标与工件坐标间的关系(2)工件坐标系设定在进行所有示教工作之前,必须先建立对应的工件坐标。工件坐对应工件,它定义工件相对于大地坐标(或其它坐标)的位置。机器人可以拥有若干工件坐标系,或者表示不同工件,或者表示同一工件在不同位置的若干副本。
对机器人进行编程时就是在工件坐标中创建目标和路径。这带来很多优点:
1)重新定位工作站中的工件时,只需要更改工件坐标的位置,所有路径将即刻随之更新。
2)允许操作以外轴或传送导轨移动的工件,因为整个工件可连同其路径一起移动。如图1所示,A是机器人的大地坐标,为了方便编程,给第一个工件建立了一个工件坐标B,并在这个工件坐标B中进行轨迹编程。如果台子上还有一个一样的工件需要走一样的轨迹,那只需建立一个工件坐标C,将工件坐标B中的轨迹复制一份,然后将工件坐标从B更新为C,则无需对一样的轨迹再编程。图1如果在工件坐标B中对A对象进行了轨迹编程,当工件坐标的位置变化成工件坐标D后,只需在机器人系统重新定义工件坐标D,则机器人的轨迹就自动更新到C了。不需要再次轨迹编程了。因A相对于B、C相对于D的关系是一样,并没有因为整体偏移而发生变化。
在对象的平面上,只需要定义三个点,就可以建立一个工件坐标。
▼X1点确定工件坐标的原点。
▼X1、2点确定工件坐标X正方向。
▼Y1确定工件坐标Y正方向。
工件坐标等符合右手定则。+Z+X+Y(3)工件坐标系中的参数释义(4)工件坐标系的变换1:在“手动操纵”界面,点击【工件坐标】2:在“工件”界面,根据实际需要和已设置的工件坐标系选择工件坐标系,比如“wobj1”,单击【确定】。3:工件坐标系变换完毕。1:在“手动操纵”界面,点击【工件坐标】2:在工件页面,单击【新建】。3:对工件坐标数据属性进行设定后,单击“确定”。4:打开编辑菜单,单击【定义】。5:将用户方法设定为“3点”。6:手动操作机器人的工具参考点靠近定义工件坐标的X1点。单击“修改位置”,将X1记录下来。
用户坐标系的设定方法7:手动操作机器人的工具参考点靠近定义工件坐标的X2点。单击“修改位置”,将X2点记录下来。8:手动操作机器人的工具参考点靠近定义工件坐标的Y1点。单击“修改位置”,将Y1点记录下来。单击“确定”。9:对自动生成的工件坐标数据进行确认后,单击“确定”。10:工件坐标wobj1创建完毕,单击【确定】。3、编辑码垛机器人有效载荷对于搬运应用的机器人,应该正确设定夹具的质量、重心tooldata以及搬运对象的质量和重心数据loaddata。负载数据定义不正确可能会导致机械臂机械结构过载。搬运机器人有效载荷质量(kg)有效载荷的转动惯量(载荷尺寸比较大时才需要定义)有效载荷重心力矩轴方向loaddata
loadName:=[mass
,
cogof[x,y,z],
aomof
[q1、q2、q3、q4],
ix,iy,iz
]注:负载的以上全部程序数据可通过调用例行程序,利用机器人自行运作运算得到,在RAPID编程中,需要对有效载荷的情况进行实时的调整。载荷的参数释义1:在“手动操纵”界面,点击【有效载荷】。2:在“有效荷载”界面,点击【新建...】。3:对有效载荷数据属性进行设定单,击【初始值】。4:对有效载荷的数据根据实际的情况进行设定,各参数代表的含义请参考下面的有效载荷参数表。单击“确定”。有效载荷设定方法ACDB配置机器人与PLC通信码垛工作站配置码垛点位数据表码垛程序结构表码垛工艺流程4、配置码垛机器人工程数据码垛工作站配置序号名称型号及配置数量单位备注机器人系统1码垛机器人本体IRB76001个
2控制柜
1个
3示教器
1个
4连接电缆总成
1套
码垛设备装置1气动吸盘600mm*400mm1个
2自动托盘库2m1个
3传送带5m1个
4网格川字形卡板1200mm*1000mm*85mm5个
产品规格1码垛产品600mm*400mm*200mm25箱
2码垛产品重量25kg
码垛点位数据表程序数据说明序号名称存储类型数据类型内容说明1Wobj1_PalletPERSwobjdata工件座标:以垛盘的一个直角来创建工件座标(当垛盘重新定位后,只需重定义工件座标,不用重新示教目标点)2Tool1_GripPERStooldata工具座标:以吸盘夹具的中心点位置来创建的吸盘夹具工具数据码垛点位数据表3LoadFullPERSloaddata载荷:当机器人吸盘吸取物料时要加载物料的重量,当机器人放置完成物料时加载原有数据load0(load0的物料重量是0)4pHomeCONSTrobtarget目标点:机器人原位点(这个目标点相对周边设备来说比较安全,不会干涉5pPlace1{5}PERSrobtarget目标点:奇数层数组6pPlace2{5}PERSrobtarget目标点:偶数层数组码垛点位数据表7pPick_BasePERSrobtarget目标点:具体抓取点根据基准点进行计算偏移8pPlace_BasePERSrobtarget目标点:具体放置点根据基准点进行计算偏移9nCycleTimePERSnum数字:产品生产时间10nCountPERSnum数字:垛盘码垛计数码垛点位数据表11nPickHPERSnum数字:拾取点Z值偏移高度12nPlaceHPERSnum数字:码垛放置点Z值偏移高度13nBoxLPERSnum数字:方块物料长度14nBoxWPERSnum数字:方块物料宽度15nBoxHPERSnum数字:方块物料高度16Clock1PERSclock时钟:计时时钟码垛点位数据表17bReadyOKPERSbool布尔量:机器人准备好状态18bPalletFullokPERSbool布尔量:码垛盘状态,码垛盘满垛时为TRUE,反之为FALSE19iPalletVARintnum中断:码垛盘切换20vMinEmptyPERSspeeddata机器工具上空载运行的最低速度21vMidEmptyPERSspeeddata机器工具上空载运行的中等速度码垛点位数据表22vMaxEmptyPERSspeeddata机器工具上空载运行的最高速度23vMinLoadPERSspeeddata机器工具上带载荷运行的最低速度24vMidLoadPERSspeeddata机器工具上带载荷运行的中等速度25vMaxLoadPERSspeeddata机器工具上带载荷运行的最高速度码垛程序结构表序号程序名称类型内容备注1mainPROC例行程序:主程序
2rInitallPROC例行程序:初始化程序
3rPickPROC例行程序:物料抓取程序
4rPlacePROC例行程序:物料放置程序
5rCycleTimePROC例行程序:计算生产节拍程序
码垛程序结构表6rCycleCheckPROC例行程序:循环检查机器人准备状态
7rCalculatePosPROC例行程序:计算产品码垛位置程序
8rCheckHomePosPROC例行程序:检测原点位置例行程序
9tPalletTRAP中断程序
10CurrentposFUNC功能程序:检测原点位置被调用功能程序
码垛工艺流程码垛工作站工艺流程步骤作业名称作业内容备注第1步作业准备系统启动①工作前的准备(首次启动前,人工将运行条件准备好)人工作业第2步输送线开始动作①输送线开始向末端输送产品②该输送线的产品到位后发出到位信号给机器人设备作业第3步机器人开始拾取物料①机器人回原位(通过检测是否需要回原位),然后计算码垛位置②机器人根据对应到位信号开始到对应输送线末端拾取产品③机器人拾取产品后运动到安全高度设备作业
码垛工艺流程码垛工作站工艺流程第4步机器人开始物料码垛①机器人从拾取安全点运动到码垛放置安全点②机器人开始到对应垛盘码垛③机器人码垛完成回码垛安全点设备作业第5步循环工作①机器人判断垛盘情况,对应处理②机器人重复步骤1-50102030405分析工具TCP点的目标位置(参考方向移植到TCP点)创建工具数据校准点示教、观察平均误差是否达到要求重定位验证定义工具数据STEP1分析工具TCP的位置
首先要在机器人工作范围找一个非常精确的固定点做参考点在工具上找一个参考点(最好在工具中心)码垛机器人工作站STEP3定义工具数据码垛机器人工作站STEP4校对目标点、观察平均误差码垛机器人工作站STEP5重定位验证
操纵摇杆改变机器人姿态,测试工具的重定位精度码垛机器人工作站如果使用搬运的夹具,一般工具数据的设定方法如下:以图中搬运薄板的真空吸盘夹具为例,质量是25kg,重心在默认tool0的Z正方向偏移250mm,TCP点设定在吸盘的接触面上,从默认tool0上的Z正方向偏移了300mm。码垛机器人工作站Z=3001:在“手动操纵”界面,点击【工具坐标】2:单击“新建…”。3:在“新建”页面,单机“初始值”。4:TCP点设定在吸盘的接触面上,从默认tool0上的Z正方向偏移了300mm,在此画面中设定对应的数值。5:此工具质量是25kg,重心在默认tool0的Z正方向偏移250mm,在画面中设定对应的数值,然后单击“确定”,设定完成。序号考核内容考核分数备注1应用TCP默认方向法,标定末端操作器顶点定义TCP,平均误差少于0.5mm,并通过重定位运动检验TCP标定的正确性30分需将工具坐标的定义结果拍照2应用TCP&Z,X法,标定末端操作器顶点定义TCP,创建的工具坐标方向如图1所示,平均误差少于0.5mm,并通过重定位运动检验TCP中心点标定的正确性25分3将坐标系变换至工具坐标下,检验工具坐标方向的正确性25分4提交实践报告:1)报告中附定义的工具坐标定义完后的计算结果2)实践总结和心得20分总计100分码垛机器人工作站配置码垛机器人工作环境(二)工业机器人现场编程3421课堂导入新知学习训练巩固评价总结知识目标掌握配置机器人与PLC通信方法熟悉ABB机器人系统信号关联方法技能目标能将数字输入信号与系统的控制信号关联起来能通过ProfiBus与PLC数据通讯。能将数字输入信号与系统的控制信号关联起来重点难点1.配置机器人与PLC通信方法2.将数字输入信号与系统的控制信号关联起来3.将数字输入输出信号与系统的控制信号关联起来1.能通过ProfiBus与PLC数据通讯2.能应用外部信号驱动机器人电机上电ACDB配置机器人与PLC通信网络拓扑及硬件说明连接电缆PROFINET网络配置PROFINET信号配置1、配置机器人与PLC通讯工业机器人现场通信配置ABBIRB1410与西门子S7-1200PLCPN网络拓扑图码垛机器人工作站控制系统是由IRB7600本体和IRC5控制柜组成,其中完成通讯数据交互功能的硬件是IRC5控制柜。其中,机器人的系统选项配置如下: ①Chinese②709-1DeviceNetMaster/Slave③888-2PROFINETController/DeviceS7-1200PLC的CPU为6ES7212-1AE40-0XB075KB工作存储器;24VDC电源,板载DI8x24VDC漏型/源型,DQ6x24VDC和AI2;板载4个高速计数器;4路脉冲输出;信号板扩展板载I/O;多达3个用于串行通信的通信模块;多达2个用于I/O扩展的信号模块;0.04ms/1000条指令;PROFINET接口,用于编程、HMI和PLC间数据通信。机器人PROFINET配置过程如下:1:在“控制面板-配置-主题”选择Communication;2:
选择“IP
Setting”显示全部;3:设置IP地址和子网,此处的IP地址和子网一定要和TIA软件组态一致IP:192.168.0.2;Subnet:255.255.255.0确定后不重启;4:
在Communication界面下选择“StaticVLAN”;5:在StaticVLAN界面设置X5为“LAN”确定后不重启6:切换至“控制面板-配置-I/O”界面7:切换至“控制面板-配置-I/O-IndustrialNetwork-PROFINET”界面8:编辑“PROFINETStationName”为irc5_pnio_device次站名一定要和TIA软件组态PROFINET设备名称一致单击确定不重启9:切换至“控制面板-配置-I/O”界面选择“PROFINETInternalDevice”创建PLC对应虚拟IO板10:确认InputSize和Output的数据宽度和TIA组态一致输入输出数据宽度相同
机器人PROFINET信号配置机器人输入ABB机器人PLC备注di00_VacuumOkQ0.0真空夹具反馈信号di01_BoxInPosQ0.1工件到位信号di02_PalletInPosQ0.2码盘到位信号di03_RepairStartQ0.3维修开始按钮di04_RepairokQ0.4维修OK按钮Di05_ReadyokQ0.5机器人准备OK按钮di06_StartQ0.6外接“开始”di07_StopQ0.7外接“停止”di08_MotorOnQ1.0外接“马达上电”di09_StartAtMainQ1.1外接“从主程序开始”di10_EstopResetQ1.2外接“急停复位”机器人PROFINET信号配置机器人输出ABB机器人PLC备注do00_VacuumOpenI0.0打开真空夹具do01_PalletFullI0.1码盘满载发送给PLCdo02_CycleOnI0.2外接“循环开始”do03_ErrorI0.3外接“执行错误”do04_AutoOnI0.4外接“自动运行”do05_EstopI0.5外接“紧急停止”在ProfiNet网络中定义机器人部分的信号操作步骤如下1:切换至“控制面板-配置-I/O”界面选择Signal2:编辑信号名称和选择信号类型(机器人的输出型号对应PLC的输入信号)选择信号从属于的IO板3:选择“DeviceMapping”配置地址为04:单击“确认”重启生效2、编辑调试码垛机器人信号系统ABB工业机器人系统信号是ABB工业机器人预制的功能信号。输入I/O信号时可指定具体的系统输入项,比如Start或MotorsOn。该输入项会在不使用示教器或其他硬件装置的情况下触发一项交由系统处理的系统行动,或者一项具体的系统行动指定输出I/O信号。当出现相应的系统行动时,系统便会在无用户输入项的情况下自动设置这些I/O信号。这些系统输出的I/O信号即可以是数字信号,也可以是模拟信号。当然,这些信号应用的前提是和用户配置的I/O信号相关联。ABB机器人中,可将数字输入信号与系统的控制信号关联起来,对系统进行控制(例如电动机的开启、程序启动等)。系统的状态信号也可以与数字输出信号关联起来,将系统的状态输出给外围设备,以作控制之用。系统输入信号系统输入信号系统输出信号系统输出信号码垛工作站系统信号列表系统输入输出关联配置表系统信号种类信号名称SignalName功能/状态Action/StatusArgumentSystemInputdi06_StartStartContinuousSystemInputdi07_StopStopSystemInputdi08_MotorOnMotorsOnSystemInputdi09_StartAtMainStartatMainContinuous码垛工作站系统信号列表系统输入输出关联配置表系统信号种类信号名称SignalName功能/状态Action/StatusArgumentSystemInputdi10_EstopResetResetEmergencyStop
SystemOutputdo02_CycleOnCycleOn
SystemOutputdo03_ErrorErrorT_ROB1SystemOutputdo04_AutoOnAutoOn
SystemOutputdo05_EstopEmStop介绍建立系统输入/输出与I/O信号关联的操作步骤:建立系统输入“电动机开启”与数字输入信号DI_MotorOn的关联:1:在“控制面板-配置-IO”界面下选择SystemInput选项,单击显示全部2:单击“添加”3:单击“添加”4:单击“SignalName”选择DI_MotorOn5:单击“Action”选择MotorsOn,然后单击确定6:单击“确定”重启后完成MotorOn系统信号的关联。编辑调试码垛程序工业机器人现场编程3421课堂导入新知学习训练巩固评价总结知识目标掌握码垛工作站程序常用指令掌握码垛工作站程序常用功能程序了解工业机器人的运动控制指令理解高级运动控制指令的含义及指令结构了解工程素养知识技能目标能熟练掌握指令的用法能够排除工业机器人程序的语法错误能熟练使用功能程序能够正确分析指令结构能够熟练掌握指令应用的环境培养良好的工程素养习惯重点难点1.掌握码垛工作站程序常用指令;2.了解工业机器人的运动控制指令3.理解高级运动控制指令的含义及指令结构1.能够排除工业机器人程序的语法错误;2.理解高级运动控制指令的含义及指令结构WHILE-只要...便重复WHILE
只要给定表达式为TRUE,就重复循环。指令格式:WHILEConditionDO…ENDWHILE应用:
当前指令通这判断相应条件,如果符合判断条件
执行循环内指令,直至判断条件不满足才跳出循环,继续执行循环以后指令,需要注意,当前指令存在死循环。判断条件(bool)一、认识码垛工作站程序常用指令例1VARnumreg1;......WHILEreg1<reg2
DOreg1:=reg1+1;ENDWHILE
只要reg1<reg2,则重复WHILE块中的指令。例2VARnumreg1;......WHILETRUEDOreg1:=reg1+1;ENDWHILE
死循环重复WHILE块中的自加指令。IF-如果满足条件,那么...;否则...IF指令的格式:IFConditionTHEN…{ELSEIFConditionTHEN…}[ELST…]ENDIFCondition: 判断条件 (bool)应用:
当前指令通过判断相应条件,控制需要执行的相应指令,是机器人程序流程基本指令。IF条件判断指令
IF条件判断指令,就是根据不同的条件去执行不同的指令。如果num1为1,则flag1会赋值为TRUE。
如果num1为2,则flag1会赋值为FALSE.
除了以上两种条件之外,则执行do1置位为1。
条件判定的条件数量可以根据实际情况进行增加与减少。【案例解析】机器人码垛编程方法与技巧1.WHILE/IF指令实现码垛功能程序如下:PROCmain()TPErase;!清屏nCount:=0;!计数清零Resetdo00_VacuumOpen;!复位信号MoveJPhome,v1000,z50,Tool1_Grip\WObj:=Wobj1_Pallet;WHILETRUEDOIFnCount<8ANDdi01_BoxInPos=1ANDdi02_PalletInPos=1THEN!判断产品数量、流水线产品到位信号、码垛盘到位信号是否满足【案例解析】机器人码垛编程方法与技巧IFnCount=0THENpPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,0*(100+10),0*(100+10),0);ELSEIFnCount=1THENpPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,0*(100+10),1*(100+10),0);
ELSEIFnCount=2THEN......
FOR
-重复给定的次数指令格式:FORLoopcounterFROMStartvalueTOEndvalue
[STEPStepvalue]DO…ENDFOR循环计数标识标识初始值标识最终值计数更改值
(identifier)(num)
(num)(num)
任务6-4常用RAPID程序指令例1FORiFROM1TO10DOroutine1;ENDFOR例2FORiFROM2TO10STEP2DOnum{i}:=num{i}+2;ENDFOR将数组中的数值向上调整应用:通常情况下,初始值.最终值与更改值为整数,循环判断标识使用i、k、j等小写字母(不需要定义),是标准的机器人循环指令,常在通讯口读写,数组数据赋值等数据处理时例用。【案例解析】机器人码垛编程方法与技巧FOR指令实现码垛功能程序如下:(码垛抓放程序参考WHILE/IF)PROCmain()TPErase;!清屏nCount:=0;!计数清零Resetdo00_VacuumOpen;!复位信号WHILETRUEDOFORJFROM0TO2DOFORIFROM0TO2DOIFdi01_BoxInPos=1ANDdi02_PalletInPos=1THEN!判断流水线产品到位信号、码垛盘到位信号是否满足
【案例解析】机器人码垛编程方法与技巧pPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,I*(100+10),J*(100+10),0);rPick;!调用码垛抓取程序rPlace;!调用码垛放置程序nCount:=nCount+1;!码垛产品计数累加TPWrite"nCount:="\Num:=nCount;!示教器显示码垛产品计数ELSEMoveJPhome,v1000,z50,Tool1_Grip\WObj:=Wobj1_Pallet;ENDIF......TEST-根据表达式的值...指令格式:TESTTestdata...CASE...Testvalue
...DEFAULT:...ENDTESTTestdata数据类型:所有用于比较测试值的数据或表达式。Testvalue数据类型:与testdata相同测试数据必须拥有的值,以供执行相关的指令。应用:当前指令通过判断相应数据变量与其所对应的值,控制需要执行的相应指令。例TESTreg1CASE1:
routine1;CASE
2,3:
routine2;CASE4:
routine3;DEFAULT:TPWrite"Illegalchoice";Stop;ENDTEST根据reg1的值,执行不同的指令。如果该值为1,则执行routine1,2或3时,则执行routine2。如果该值为4,则执行routine3。否则,打印出错误消息,并停止执行。【案例解析】机器人码垛编程方法与技巧TEST指令实现码垛功能程序如下:(码垛抓放程序参考WHILE/IF)PROCmain()TPErase;
!清屏nCount:=0;
!计数清零Resetdo00_VacuumOpen;MoveJPhome,v1000,z50,Tool1_Grip\WObj:=Wobj1_Pallet;
【案例解析】机器人码垛编程方法与技巧WHILETRUEDOIFnCount<8ANDdi01_BoxInPos=1ANDdi02_PalletInPos=1THEN!判断产品数量、流水线产品到位信号、码垛盘到位信号是否满足TESTnCountCASE0:pPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,0*(100+10),0*(100+10),0);CASE1:pPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,0*(100+10),1*(100+10),0);CASE2:pPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,0*(100+10),2*(100+10),0);......WHILE...ENDWHILE直到型循环判断。重复指令序列,直到满足给定条件;FOR...ENDFOR次数控制型循环判断。重复一段程序多次;(i、j、k)TEST...ENDTEST选择分支型判断。基于表达式的数值执行不同指令;※思考工厂产品除了码垛堆放,还需要拆跺,试着利用FOR的嵌套循环将下面的3*3*3的跺型进行拆跺?数组功能的实现码垛功能在一些的工程师中,拿到了码垛项目时,匆忙下手编程与调试,到头来自己忙的不可开交,而且效率还不高,那针对码垛这类的项目或者案例我们有没有什么方法能使我们高效编程呢?答案是有的!(以ABB机器人举例介绍)首先,我们来分析一下,我们码垛产品的时候是有行有列的(或者说横向纵向),那么这时候我们就可以联想到数组也刚好有这一特性。由此,我们可以利用数组对机器人进行编程!要想编好程序,我们应该先理解数组了。所谓数组,是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组功能的实现码垛功能举例:inta[10];说明整型数组a,有10个元素。若要表示第10个元素,则使用a[9]。第一个则是a[0]。floatb[10],c[20];说明实型数组b,有10个元素,实型数组c,有20个元素。charch[20];说明字符数组ch,有20个元素。在ABB机器人中,数组分为一维数组、二维数组、三维数组,那它们的区别在哪里呢?我们编程需要用到几维数组呢?那我们来看看例子:数组功能的实现码垛功能一维数组:当数组中每个元素都只带有一个下标时,称这样的数组为一维数组。注意:ABB机器人中第一个元素为:num1{1},而非num1{0},所以num1中有三个元素,第一个元素值为5,而非第0个元素值为5。数组功能的实现码垛功能二维数组:理解完了数组之后,我们来看一下,具体编程案例吧!如图中,有4个点需要计算,以第1点位基准。(每个方块的长宽都是200mm*200mm)数组功能的实现码垛功能数组建立:接下来我们来看一下在示教器里怎么编辑吧!(新建一个数组reg6{4,3}),建立好了数组之后编程就按上述方式即可!数组功能的实现码垛功能1.新建一个4行3列的数组,名称为reg6。2.把计算出来的偏移值填进去。{1,1}代表第一个产品X轴偏移值,{1,2}代表第一个产品Y轴偏移值,{1,1}代表第一个产品z轴偏移值。【案例解析】ABB机器人码垛编程方法与技巧如果是两层的码垛(8个产品),则只需要建立reg6{8,3}数组,XY值不变,只是Z轴位置改变了。最后我们看到的程序就是这样的:CASE1:pick:=Offs(p10,reg6{1,1},reg6{1,2},reg6{1,3});CASE2:pick:=Offs(p10,reg6{2,1},reg6{2,2},reg6{2,3});CASE3:pick:=Offs(p10,reg6{3,1},reg6{3,2},reg6{3,3});CASE4:pick:=Offs(p10,reg6{4,1},reg6{4,2},reg6{4,3});CASE5:pick:=Offs(p10,reg6{5,1},reg6{5,2},reg6{5,3});CASE6:pick:=Offs(p10,reg6{6,1},reg6{6,2},reg6{6,3});CASE7:pick:=Offs(p10,reg6{7,1},reg6{7,2},reg6{7,3});CASE8:pick:=Offs(p10,reg6{8,1},reg6{8,2},reg6{8,3});【案例解析】机器人码垛编程方法与技巧创建一个robtarget类型的二维数组pPlace{3,3},分别用来存储1#-9#码垛放置位置,以下程序参考实例1。程序如下:PROCmain()TPErase;!清屏nCount:=0;!计数清零Resetdo00_VacuumOpen;!复位信号
【案例解析】机器人码垛编程方法与技巧WHILETRUEDOFORJFROM1TO3DOFORIFROM1TO3DOIFnCount<8ANDdi01_BoxInPos=1ANDdi02_PalletInPos=1THEN!判断产品数量、流水线产品到位信号、码垛盘到位信号是否满足pPick_Base:=pPick;pPlace_Base:=pPlace{I,J};rPick;!调用码垛抓取程序......中断指令(1)关联中断指令CONNECT-将中断与软中断程序相连CONNECTInterruptWITHTraproutine;Interrupt: 中断数据名称。(intnum)Traproutine: 中断数据程序。(identifier)应用:将机器人相应中断数据连接到相应的中断处理程序,是机器人中断功能必不可少的组成部分,必须同指令ISignalDI,ISignalDO,ISignalAI,ISignalAO或ITimer联合使用。中断程序---Interrupts中断的定义:当某个事件发生时,CPU停止运行正在执行的程序,而转去执行处理该事件的程序,处理该事件后,还可以返回原程序继续正确的执行下去。实例:VARintnum,intInspect;PROCmain()…CONNECTintInspectWITHrAlarm;ISignalDIdi01_Vacuum,0,intInspect;…ENDPROCTRAPrAlarmTPWrite“GripError”;Stop;WaitDIdi01_Vacuum,1;ENDTRAP注:中断数据的数据类型必须为变量(VAR)一个中断数据不允许同时连接到多个中断处理程序,但多个中断数据可以共享一个中断处理程序当一个中断数据完成连接后,这个中断数据不允许再次连接到任何中断处理程序(包括已经连接的中断处理程序)。如果需要再次连接至任何中断程序,必须先使用指令IDelete将原连接支除。(2)IDelete-取消中断IDeleteInterrupt;Interrupt: 中断数据名称。(intnum)应用:将机器人相应中断数据与相应的中断处理程序之间原连接去除。实例:…CONNECTintInspectWITHrAlarm;ISigalDIdi01_Vacuum,0,intInspect;…Idelete
intInspect;限制:
执行指令Idelete后,当前中断数据的连接被完全清除,如需再次使用这个中断数据必须重新用指令CONNECT连接至相应的中断处理程序。在以下列情况下,中断将被自动去除:1、重新载入新的运行程序。2、机器人运行程序被重置,程序指针回到主程序第一行(StartfromBeginning)。
3、机器人程序指针被移至任意一个例行程序第一行。(MovepptoRoutine)(3)ISignalDI-下达数字信号输入信号中断指令结构:ISignalDI[\Single],Signal,TriggValue,Interrupu;[\Single]: 单次中断开关。(switch)Signal: 触发中断信号。(signaldi)TriggValue: 触发信号值。 (dionum)Interrupu: 中断信号名称。(intnum)应用:使用相应的数字信号输入信号触发相应的中断功能,必须同指令CONNECT联合使用。实例:CONNECTint1WITHiroutine1;中断功能在单次触发后失效ISignalDI\Signaldi01,1,int1;CONNECTint2WITHiroutine2;ISignalDIdi02,1,int2;注:当一个中断数据完成连接后,这个中断数据不允许再次连接到任何中断处理程序(包括已经连接的中断处理程序)。如果需要再次连接至任何中断处理程序,必须先使用指令IDelete将原连接去除。1、 中断在工程领域应用十分重要,通常用于处理一些突发状况,中断是指由中断信号关联中断标志符,中断标志符连接中断程序,机器人执行预定义的中断程序的过程2、中断条件为真,会触发中断。发生中断会引起正常程序执行被终止,转由软中断程序进行控制3、中断程序使用技巧:
设置中断输入信号与中断识别号相关联
设置中断识别号与中断程序相关联
即可完成中断功能的基本设定4、中断程序涉及到的指令比较多,写起来也比较繁琐,学生的英语水平普遍不好,所以,可能应用起来有些难度,还需要加强相关的练习。(4)ISleep-停用一个中断结构:IsleepInterrupt;Interrupt: 中断数据名称。(intnum)应用:机器人相应中断数据暂时失效,直到执行指令IWatch后才恢复。实例:VARintnumsig1int;PROCmain()CONNECTsig1intWITHiroutine1;ISignalDIdi1,1,sig1int;...ISleepsig1int;weldpart1;IWatchsig1int;在执行weldpart1程序期间,信号di1不允许中断。(5)IWatch-启用中断Interrupt: 中断数据名称。(intnum)应用:激活机器人已失效的相应中断数据,正常情况下,与指令ISleep配合使用。实例:…CONNECTintInspectWITHrAlarm;ISignalDIdi01_vacuum,0,intInspect;…ISleep
intInspect;…IWatchintinspect;…ErrorHandler:ERR_UNKINO无法找到当前的中断数据。(6)IEnable-启用中断(7)IDisable-禁用中断结构:IEnable;IDisable;应用:使机器人相应中断功能暂时不执行,直到执行指令
IEnable后,才进入中断处理程序,此指令使用于机器人正在执行不希望被打断的操作期间,例如:通过通信口读写数据实例:…IDisable;FORiFROM1TO100D0character[i]:=ReadBin(sensor);ENDFORIEnable;IDelete:用于取消(删除)中断预定。如果中断仅临时禁用,则应当使用指令ISleep或IdisableIDisable:临时禁止程序所有中断IEnable:启用中断ISleep:暂停程序中的一个中断举例:Isleep
intnol;说明:停用intnol1号中断【案例解析】ABB机器人码垛编程方法与技巧任务要求:1)码垛前机器人处于一个安全位置,当(物料、托盘到位状态)准备好时后开始运行。2)工件经过传送带到达传送带末端后,机器人开始进行抓取工件操作3)抓取完成后,在码垛盘已到位且未码满一层的前提下,将工件搬运到码垛区域。4)计算出当前工件的码垛位置坐标后,将工件进行码,然后回到安全点。若码满1层,通知外部更换码盘。直至新码盘到位后重新开始码垛(利用中断指令对产品计数及计时清零、机器人状态及码垛托盘状态复位)。5)运行速度合适,码垛完成后垛堆应该整齐工件应该码放均匀。【案例解析】ABB机器人码垛编程方法与技巧②初始化程序PROCrinitall()TPErase;!清屏nCount:=0;!计数清零bPalletFullok:=FALSE;!码垛盘满跺状态复位Resetdo00_VacuumOpen;!吸盘信号复位Resetdo01_PalletFull;!满垛信号复位IDeleteiPallet;!断开、删除中断连接CONNECTiPalletWITHtPallet;!连接中断ISignalDIdi02_PalletInPos,0,iPallet;!换码垛盘时托盘在位信号di02=0触发中断ISleepiPallet;!休眠中断程序,防止未搬运完时中途触发中断造成意外MoveJPhome,v1000,z50,Tool1_Grip\WObj:=Wobj1_Pallet;ENDPROC【案例解析】ABB机器人码垛编程方法与技巧⑥中断程序TRAPtPalletTPErase;!示教器清屏nCount:=0;!计数清零Resetdo01_PalletFull;!吸盘信号复位bPalletFullok:=FALSE;!码垛盘空载状态TPWrite"bPalletFullok:="\Bool:=bPalletFullok;WaitDIdi02_PalletInPos,1;!码垛盘到位信号TPWrite"Pallethasbeenchanged";!示教器显示托盘已经更换WaitTime1;ISleepiPallet;!休眠中断程序ENDTRAP【作用】功能程序(Functions,简称FUNC)又称有返回值程序,是一种具有运算、比较等功能,能向调用该程序的模块、程序返回执行结果的参数化编程模块。调用功能程序时,不仅需要指定程序名称,且必须有程序参数。程序参数是用于参数化编程的变量,让需要在程序名称后附加的括号内定义。一般程序不采用参数,但需要保留名称Routine()后面的括号,中断程序(Trap)在任何情况下均要被可能被调用,故不能使用程序参数,名称后面也无括号,功能程序(FUNC)采用的是参数化编程,故必须定义程序参数。功能程序二、编辑功能程序说明【格式】全局功能程序直接以程序类型FUNC起始,用ENDFUNC结束。FUNC返回数据类型功能程序名称(传递的程序数据定义)程序指令………RETURN返回数据名称ENDFUNC功能程序的起始行为程序声明。全局功能程序直接以程序类型FUNC起始,后面依次接返回结果的数据类型、功能程序的名称,名称后括号内注明与调用程序之间进行传递的程序数据的类型及名称。功能程序中可通过各程序指令编写控制程序,其中必须包含返回执行结果的指令RETUN,以指明结果通过那个程序数据进行返回。功能程序最后用ENDFUNC指令结束。码垛应用【案例解析】ABB机器人码垛编程方法与技巧机器人自动运行前需要进行回原点判断,确保工作安全。(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医护理学(第5版)课件 第十章 其他常用中医护理技术
- 三农产品包装与运输管理手册
- 物理力学概念引入与实践活动设计
- 政府部门信息化建设和数据治理方案
- 销售员工心态培训课程
- 可行性研究报告封面格式
- 建筑智能化系统设计技术规范
- 零售业O2O营销模式创新与实施策略
- 绿色建筑材料应用技术规范书
- 机器人技术及其在物流行业的应用手册
- GB/T 23445-2009聚合物水泥防水涂料
- 瓷贴面教学课件
- 尺骨冠突骨折课件
- 北师大版七年级下册第一章整式的乘除计算题专项训练
- 2022年苏州健雄职业技术学院单招考试面试试题及答案解析
- 植物生理教案
- 乳腺癌改良根治术
- 新版(七步法案例)PFMEA
- 临床护理重点专科建设项目评审标准
- 二倍角的三角函数说课稿
- 《颈椎病的护理》PPT课件(完整版)
评论
0/150
提交评论