毕业设计(论文)-基于机器人货物分拣系统设计.docx_第1页
毕业设计(论文)-基于机器人货物分拣系统设计.docx_第2页
毕业设计(论文)-基于机器人货物分拣系统设计.docx_第3页
毕业设计(论文)-基于机器人货物分拣系统设计.docx_第4页
毕业设计(论文)-基于机器人货物分拣系统设计.docx_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

安徽工商职业学院应用工程学院毕业设计题 目 : 基于机器人货物分拣系统设计系 别 : 应用工程学院专 业 : 机电一体化班 级 : 15机电2班姓 名 : 学 号 : 指导教师 : 日 期 : 目录摘要.4第1章 引言.41.1工业机器人的历史、现状及应用.41.2我国的工业机器人.51.3机器人发展趋势.61.4机器人的分类.7第2章 基于机器人货物分拣系统设计.72.1总体系统布局.72.2生产线系统.72.3相机的系统.82.31相机结构.82.32光源的选择.92.33相机的安装.92.4机器人系统.92.41机器人的选择.92.42机械系统组成.102.43外部执行机构.112.44气路连接.112.5各设备间的通信.112.51工业机器人的通讯.122.52相机的通讯.12第3章 设备的控制系统程序编写.123.1编程设备的选择及编程软件.123.2 TIA Portal软件的使用.133.21创建项目,插入并组态PLC.133.22创建HMI画面.143.3系统程序的编写.153.31主程序编写与通信的编写.153.32托盘传送带的程序编辑.163.33工件盒生产线的程序编辑.183.4相机程序的编写.203.41 X_SIGHT软件程序的编写.203.42相机总控软件上程序编写.223.5机器人程序编辑.233.51示教器程序编写.233.52机器人系统程序的编写.27第4章 触摸屏设计.29第5章 总结.315.1设计经验.315.2误差分析.315.3总结评价.31摘要当代科学技术发展的特点之一就是机械技术,电子技术和信息技术的结合,机器人就是这种结合的产物之一。现代机器人都是由机械发展而来。与传统的机器的区别在于,机器人有计算机控制系统,因而有一定的智能,人类可以编制动作程序,使它们完成各种不同的动作。随着计算机技术和智能技术的发展,极大地促进了机器人研究水平的提高。现在机器人已成为一个庞大的家族,科学家们为了满足不同用途和不同环境下作业的需要,把机器人设计成不同的结构和外形,以便让他们在特殊条件下出色地完成任务。机器人成了人类最忠实可靠的朋友,在生产建设和科研工作中发挥着越来越大的作用。 搬运机器人不但能够代替人的某些功能,有时还能超过人的体力能力。可以24小时甚至更长时间连续重复运转,还可以承受各种恶劣环境。 当机器人一点与其他传感器结合到一起后,它也不再是简简单单的机器设备了,比如与视觉搭配起来过后它就能实现和人一样的分辨物体、1.引言为了避免危险恶劣的工作环境导致的工伤事故和职业病,保护工人的身心安全,对一些特殊工种,工作量大、环境恶劣、危险性高、人类无法涉足的工作领域都可由工业机器人代替。在制造业中,工业机器人得到了广泛的应用。例如,在毛坯制造(冲压、压铸、锻造等)、机械加工、焊接、上下料、装配、检测及仓库堆垛等作业中,机器人都已经逐步取代人工作业。随着工业机器人向更深更广反向的发展以及人工智能化水平的提高,机器人的应用范围还在不断扩大,已从汽车制造业推广到其他制造业。2015年,国务院印发了中国制造2025。中国制造2025被称为中国版的工业4.0.它借助于大数据、云计算、移动互联、智能物流,明确了未来十年制造业的发展方向,实现我国制造业由大到强的转型目标。1.1工业机器人的历史、现状及应用机器人技术是综合了计算器、控制论、机构学、信息和传感技术、人工智能、仿生学等多学科而形成的高新技术。它一般有机械本体、控制器、伺服驱动系统和检测传感装置构成,是一种综合了人和机器特长、能在三维空间完成 各种作业的机电一体化装置。它既有人对环境状态的快速反应和分析判断能力,又有机器可长时间持续工作、精确度高、抗恶劣环境的能力,可以用来完成人类无法完成的任务。机器人首先是从美国开始研制的,1958年美国联合控制公司研制出第一台机器人。它的结构特点是机体上安装一回转长臂,端部装有电磁铁的工件抓放机构,控制系统是示教型的。日本是工业机器人发展最快、应用最多的国家。自1969年从美国引进两种典型机器人后,大力从事机器人的研究。 目前工业机器人大部分还属于第一代,主要依靠人工进行控制;控制方式则为开环式,没有识别能力;改进的方向主要是降低成本和提高精度。 第二代机器人正在加紧研制,它设有微型电子计算机控制系统,具有视觉、触觉能力,甚至听、想的能力。研究安装各种传感器,把感觉到的信息进行反馈,使机器人具有感觉机能。随着现代化科学技术的飞速发展和社会的进步,针对于上述各个领域的机器人系统的应用和研究对系统本身也提出越来越多的要求。制造业要求机器人系统具有更大的柔性和更强大的编程环境,适应不同的应用场合和多品种、小批量的生产过程。计算机集成制造(CIM)要求机器人系统能和车间中的其它自动化设备集成在一起1。研究人员为了提高机器人系统的性能和智能水平,要求机器人系统具有开放结构和集成各种外部传感器的能力。 美国工业机器人技术的发展,大致经历了以下几个阶段: 1)1963-1967年为试验定型阶段。1963-1966年,万能自动化公司制造的工业机器人供用户做工艺试验。1967年,该公司生产的工业机器人定型为1900型; 2)1968-1970年为实际应用阶段。这一时期,工业机器人在美国进入应用阶段,例如,美国通用汽车公司1968年订购了68台工业机器人;1969年该公司又自行研制出SAM新工业机器人,并用21组成电焊小汽车车身的焊接自动线;又如,美国克莱斯勒汽车公司32条冲压自动线上的448台冲床都用工业机器人传递工件;3)1970年至今一直处于推广应用和技术发展阶段。1970-1972年,工业机器人处于技术发展阶段。1970年4月美国在伊利斯工学院研究所召开了第一届全国工业机器人会议。据当时统计,美国大约200台工业机器人,工作时间共达60万小时以上,与此同时,出现了所谓了高级机器人,例如:森德斯兰德公司(Sundstrand)发明了用小型计算机控制50台机器人的系统2。又如,万能自动公司制成了由25台机器人组成的汽车车轮生产自动线。麻省理工学院研制了具有“手眼”系统的高识别能力微型机器人。1.2我国的工业机器人我国工业机器人是从二十世纪八十年代开始起步,经过二十多年的努力,已经形成了一些具有竞争力的工业机器人研究机构和企业。先后研发出弧焊、电焊、装配、搬运、注塑、冲压及喷漆等工业机器人。近几年,我国工业机器人及含工业机器人的自动化生产线相关的产品的年销售额已突破10亿元。目前国内市场年需求量在3000台左右,年销售额在20亿元以上。统计数据显示,中国市场上工业机器人总共拥有量尽万台,占全球总量的0.56%,其中完全国产工业机器人(行业规模比较大的前三家工业机器人企业)行业集中度占30%左右,其余都是从日本、美国、瑞典、德国、意大利等20多个国家引进的。国产工业机器人目前主要以国内市场应用为主,年出口量为100台左右,年出口额为0.2亿元以上。 目前,工业机器人的应用领域主要有弧焊、点焊、装配、搬用、喷漆、检测、码垛、研磨抛光和激光加工等复杂作业。在我国,工业机器人的最初应用是在汽车和工程机械行业,主要用于汽车及工程机械的喷涂及焊接。目前,由于机器人技术及研发的落后,工业机器人还主要应用在制造业,非制造业使用的较少。据不完全统计,近几年国内厂家所生产的哦工业机器人有超过一半是提供给汽车行业。由此可见,汽车工业的发展是近几年我国工业机器人增长的原动力之一。 搬运机器人在实际的工作中就是一个机械手,机械手的发展是由于它的积极作用正日益为人们所认识:其一、它能部分的代替人工操作;其二、它能按照生产工艺的要求,遵循一定的程序、时间和位置来完成工件的传送和装卸;其三、它能操作必要的机具进行焊接和装配,从而大大的改善了工人的劳动条件,显著的提高了劳动生产率,加快实现工业生产机械化和自动化的步伐。因而,受到很多国家的重视,投入大量的人力物力来研究和应用。尤其是在高温、高压、粉尘、噪音以及带有放射性和污染的场合,应用的更为广泛。在我国近几年也有较快的发展,并且取得一定的效果,受到机械工业的重视。机械手的结构形式开始比较简单,专用性较强。随着工业技术的发展,制成了能够独立的按程序控制实现重复操作,适用范围比较广的“程序控制通用机械手”,简称通用机械手。由于通用机械手能很快的改变工作程序,适应性较强,所以它在不断变换生产品种的中小批量生产中获得广泛的引用。1.3机器人发展趋势随着现代化生产技术的提高,机器人设计生产能力进一步得到加强,尤其当机器人的生产与柔性化制造系统和柔性制造单元相结合,从而改变目前机械制造的人工操作状态,提高了生产效率。 就目前来看,总的来说现代工业机器人有以下几个发展趋势: 1)提高运动速度和运动精度,减少重量和占用空间,加速机器人功能部件的标准化和模块化,将机器人的各个机械模块、控制模块、检测模块组成结构不同的机器人; 2)开发各种新型结构用于不同类型的场合,如开发微动机构用以保证精度;开发多关节多自由度的手臂和手指;开发各类行走机器人,以适应不同的场合; 3)研制各类传感器及检测元器件,如,触觉、视觉、听觉、味觉、和测距传感器等,用传感器获得工作对象周围的外界环境信息、位置信息、状态信息以完成模式识别、状态检测。并采用专家系统进行问题求解、动作规划,同时,越来越多的系统采用微机进行控制。 1.4机器人的分类按照机器人的运动形态的不同,可以分为直角坐标型工业机器人、圆柱坐标型工业机器人、球星坐标型工业机器人、多关节型工业机器人、平面关节型工业机器人和并联型工业机器人。按照驱动方式的不同,可分为液压型工业机器人、电动型工业机器人、气压型工业机器人。2.基于机器人货物分拣系统设计设计思路:要让机器人具有识别功能就必须将它与一些具有视觉的传感器结合起来,才能实现。所以我们采用了相机对物体就行拍照,并将拍照的数据发送给机器人进行处理。而为了实现这一整套功能需要安装两条传送带,一条传送带将物体送往相机处进行识别,并送给机器人,另一条用于将识别过后的物体进行码放送走。在输送物体的传送带上至少安装两个传感器,用于检测物体位置和驱动相机执行拍照和机器人进行分类抓取。设计中相关设备:本设计是基于机器人货物分拣系统设计是一种把机器视觉作为基础技术、机器人分拣系统包含了机器人、视觉单元以及触摸屏、PLC分等控制模块,其工作原理与操作过程为当作业目标陆续进入分拣作业区域时,其相机就会实时地采集作业目标图像,接着机器人软件会根据作业对象的图像开始一系列的分析计算,更改作业目标的坐标位置、分辨识读目标对象的分类信息以及维护分拣对象的秩序稳定,达到对机器人的分拣动作进行精确控制的目标。2.1总体系统布局总体布局需要考虑到机器人实际运动范围,以及地面的平整度,整体的空间大小。托盘生产线和工件盒生产线放置是否水平,整体走线是否美观,人生安全保障等。2.2生产线系统生产线包括托盘生产线和工件盒生产线两部分,采用PLC 系统控制。实图如下,托盘生产线采用链式传送,通过plc控制变频器输出来达到稳定传送状态。托盘生产线外侧安装有空托盘放置点,将机器人吸取的空托盘放在此处。在托盘生产线左侧两个支架上安装有一对激光感应器,用来接收和发送信息给AGV小车。托盘生产线中间安有三个光电传感器,第一个传感器是托盘传送带上托盘输入检测光电开关,第二个传感器是图像识别工位托盘检测光电开关,第三个是机器人搬运等待工位托盘检测光电开关。在托盘生产线上还装有两个电磁阀,第一个用于图像识别工位气挡电磁阀,第二个用于机器人搬运等待工位气挡电磁阀。托盘生产线上最重要的安装就要数摄像机了,它安装在生产线内侧中间部位。工件盒生产线采用步进电机驱动器控制,履带式传送方法,通过plc脉冲输出来控制生产线的运行速度。在工件盒生产线下方也有个光电传感器用来判断生产线是否复位。生产线上有几个卡槽用于固定工件盒的位置。2.3相机的系统2.31相机结构作为机器人分拣中最重要的元器件,视觉是必不可少的。本系统选用信捷公司的X-sight SV4-30ml 智能视觉传感器。该系统包括镜头、智能相机和光源控制器三部分,系统框图如图4-1 所示。系统中智能相机和PC 机之间使用RJ45 网口连接,智能相机的默认IP 地址为192.168.8.3,计算机的IP 地址需要与智能相机IP 地址在同一个网段内。PC 机主要用于智能相机图像的处理、编程、程序下载、监控等;相机的控制可通过SIC-242 光源控制器与PLC 连接来控制,SIC-242 型光源控制器通过双绞线与PLC 连接通信。2.32光源的选择视觉系统的光源在设计过程中考虑到系统的安全性,采用工作电压24V、 66 的背光源,通过背光源电路串联分压电阻来降压。2.33相机的安装相机的安装要考虑到相机的分辨率,拍照镜头最大的区域。安装完后还要对镜头进行焦距调整以及曝光度的调节,已达到所拍物体的准确性。2.4机器人系统2.41机器人的选择为了操作准确稳定性高,在这里我们选择多关节型工业机器人HR20-1700-C10 型工业机器人。HR20-1700-C10 型工业机器人指机器人末端最大负载为20kg,最大臂展为1700型,控制系统为C10平台的HUIBO机器人。机器人性能参数如下表。机器人类型HR20_1700_C10结构关节型自由度6驱动方式AC伺服驱动最大动作范围J13.14rad(180)J2+1.13rad/-2.53rad(+65/-65)J3+3.05rad/-1.13rad(+175/-65)J43.14rad(180)J52.14rad(135)J66.28rad(360)最大运动速度J12.96rad/s(170/s)J22.88rad/s(165/s)J32.96rad/s(170/s)J46.28rad/s(360/s)J56.28rad/s(360/s)J610.5rad/s(600/s)最大运动半径1722mm可搬重量20kg重复定位精度0.08mm手腕扭矩J449N.MJ549N.MJ623.5N.M手腕惯性力矩J41.6kg.m2J51.6kg.m2J60.8kg.m2环境温度0-45C防护等级IP65(防尘、防滴)本体重量设备功率220kg3.5kw2.42机械系统组成机器人机械系统是指机械本体组成,机械本体由底座部分、大臂、小臂部分、手腕部件和泵体管线包部分组成,共有6个马达可以驱动6个关节的运动实现不同的运动形式。2.43外部执行机构工业机器人的外部工装是用来进行操作及作业的装置,是机器人最重要的执行机构,可分为搬运用、加工用、测量用等用途。搬运用手爪是指各种夹持装置,用来抓取或吸附被搬运的物体。本系统工业机器人为了配合自动生产线工作,采用吸盘内负压产生吸力来移动工件及收集空托盘,如图2-1 所示。为了保证抓取到物体之后工业机器人在动作的过程中不会掉落下来,设计了单吸盘和双吸盘的工装夹具,单吸盘用于移动工件,双吸盘用于将空托盘放置到托盘收集处。2.44气路连接手爪吸盘气路原理如图所示。电磁阀的工作原理就是在阀芯上装了一个电磁铁,当电磁铁线圈得电时,阀芯被吸起、阀被打开,当失电时阀会在弹簧的作用下自动关闭。节流阀可以直接通过上方的旋钮来调节气流的通过量。气爪吸盘相关变量地址分配输出机器人地址输入机器人地址电磁阀YV124(模块4DO0)压力表124(模块4DI0)电磁阀YV224(模块4DO1)压力表225(模块4DI1)2.5各设备间的通信2.51工业机器人的通讯在工件自动分拣系统中控制器采用的是施耐德M241 可编程控制器或S7-1200PLC,两种PLC 都支持Modbus TCP/IP 协议,工业机器人与PLC 通讯连接结构如图所示。2.52相机的通讯智能相机与PLC 之间采用Modbus/TCP 协议通信,其中智能相机是服务器端,PLC 是客户端,即PLC 主动读取智能相机的数据。约定PLC 的IP 地址是192.168.8.213,智能相机的IP 地址为192.168.8.3。Modbus/TCP 是一种标准通信协议,其通信规范已经固化到智能相机底层,因此只需在智能相机的上位机软件X-Sight STUDIO 中做相应的配置即可。PLC处理数据PLC通过Modbus/TCP协议主动读取数据拍照完成相机拍照智能相机与PLC 通信的流程图数据传给机器人PLC给相机启动信号3.设备的控制系统程序编写3.1编程设备的选择及编程软件要将各设备联系起来,总控设备必须要强大,还要具有较高的运行的稳定性,本系统的总控设备采用西门子plc1200。SIMATIC S7-1200具有安装方便可拆卸的端子紧凑型的结构;拥有多种通讯方式,RS485和 RS232 通讯模块为点到点的串行通讯提供连接;有多达 6 个高速计数器,集成了两个 100 kHz 的高速脉冲输出,用于步进电机或伺服驱动器的速度和位置控制;为用户指令和数据提供高达50 KB 的共用工作内存。同时还提供了高达 2 MB 的集成装载内存和 2 KB 的掉电保持内存;还可以根据需要进行多个扩展设备是躯干,软件是灵魂,而SIMATIC S7-1200的编程软件就是用西门子最新编程软件TIA,TIA Portal 中将原有 STEP 7 和 WinCC 的性能进行了较大的扩展 ,STEP 7 可以用于组态 SIMATIC S7-1200、S7-1500、S7-300/400 和 WinAC 控制器系列的工程组态软件了,WinCC 包含WinCC Runtime Advanced 或 SCADA 系统 WinCC RuntimeProfessional 可视化软件组态 SIMATIC 面板、SIMATIC 工业 PC 以及标准 PC 的工程组态软件,用于组态所有面板(包括精智面板和移动面板),远程操作),还具有配方系统、记录过程值和报警、标准应用的审计跟踪。3.2 TIA Portal软件的使用TIA Portal现分为V13和V14两种版本,两者相差不大只是基于电脑系统不同而产生的差异,V13与win7系统拥有较高的兼容性,但与部分win10不具有兼容性,所以产生了V14版本。这里我们只介绍V13版本的软件基本应用。3.21创建项目,插入并组态PLC启动TIA Portal V13,在任意路径下创建项目,完成后如下图。选择设备和网络点击添加新设备,选择所需的 PLC类型。在项目中创建了一个新 PLC后(如图),并在设备和网络编辑器的设备视图中打开了该 PLC。配置和分配设备参数使设备相互连接等等3.22创建HMI画面在已创建项目里创建HMI画面。点击已创建项目中的项目树的添加新设备,从控制器切换为HMI选择与触摸屏配套的版本型号,然后根据需要选择你要填写的内容如下图。选择完点击完成,就创建一个和PLC相关联的触摸屏项目了。3.3系统程序的编写3.31主程序编写与通信的编写主程序主要把需要用到的子程序全部调用起来,比如通讯流水块、报警信号、系统复位、并将程序中的所有全局变量建立进行说明如下图中GVL数据块。通讯模块应为整个系统采用的是modbus通信协议,所以程序中建立的通讯选择也是modbus通信块,并对每个通信块进行相应的配置,例如相机通信模块参数,如下图所示,“CONNECT_ID”是相机的站号,为3;2 中的IP 地址是相机的地址,192.168.8.3。“IP_PORT是默认的,502;“MB_MODE”是工作模式,1 表示“写”,0 表示“读”;“MB_DATA_ADDR”是相机存放数据的起始地址,41001;“MB_DATA_LEN”是读取数据的长度;“MB_DATA_PTR”是PLC 存放读入的数据的缓存区,从MW400 开始。在设置参数时,如下图需要注意,将“MB_UNIT_ID”与“CONNECT_ID”对应。机器人通讯与相机的类似,调用了一个Modbus/TCP 通讯模块“MB_CLIENT”,配置通信模块参数,“CONNECT_ID”是机器人的站号,为1;2 中的IP 地址是相机的地址,192.168.8.103。“IP_PORT”是默认的,502;“MB_MODE”是工作模式,1 表示“写”,0 表示“读”;“MB_DATA_ADDR”是工业机器人写入数据的起始地址,40001,在工业机器人中预留了16 个输入寄存器,所以一次最多只能向工业机器人写入16个数据,且工业机器人只接收和发送带符号的整形数据;“MB_DATA_LEN”是读取数据的长度;“MB_DATA_PTR”是PLC 存放读入的数据的缓存区,从MW100开始。3.32托盘传送带的程序编辑托盘生产线运动是通过变频器进行控制的,所以首先建立变频器与plc之间的通讯。在已经建立好plc项目中添加西门子变频器设备,如下图所示,点击左栏“硬件目录”选择变频器控制单元型号,将其拖动到中间白色窗口修改变频器属性中的IP 地址,点击选中变频器设备点击“属性”“常规”“以太网地址”设置IP 地址为“192.168.8.19”和子网掩码“255.255.255.0”。博图软件上PLC 设备与变频器连接通讯,点击PLC 红色区域拖动到变频器红色区域中后松开,连接成功。配置变频器设备子模块,双击上图中的变频器设备,进入变频器设备视图,如下图所示。将下面第一张图中的1 号红色框子模块(Supplementary data, PZD-2/2)拖动至左边2 号红色框中。记住下面第二张图的I 地址和Q 地址(68.71)。修改变频器名字,PROINET设备名称必须与在线访问中的变频器名称保持一致。变频器字节数(QW):16#047F/0C7F(启动)16#4000=50HZ“”(频率) 16#047E(停止) 16#47FE=报警清除,QW68是变频器启停寄存器,QW70是变频器的运行速度寄存器。工件盒生产线的大部分程序也是写在托盘生产线程序中,它们将传感器上的信号同时传给机器人的。工件盒生产线采用步进电机驱动,在软件上写的时候首先要给步进电机建立一个工艺对象。点击“插入新对象”,出现新增对象界面点击选中“运动控制”填写“名称”点击选中“TO_PositioningAxis”默认自动选择“编号”(也可改为手动自设置,其编号指的是该轴的DB 块编号)点击“确定”,进入了该轴的属性设置界面,点击“常规”修改2 号红色区域的参数,选择脉冲发生器为“Pulse_1”,信号类型为“PTO(脉冲A与方向B)”,脉冲输出为“轴_1_脉冲”和“轴_1_方向”和“%Q0.0”,脉冲方向为“轴_1_方向”和“%Q0.1”,测量单位为“mm”。其余默认。托盘生产线的其他程序步骤的思路,当托盘生产线上的“I0.5 ibCameraSwitch 相机拍照工位托盘检测光电开关”,检测到有物体通过时,触发“Q0.5 qbCameraCylinder 图像识别工位气挡电磁阀”,挡住物体进而相机进行拍照识别记录,当相机拍照完成过后释放Q0.5,图像识别工位气挡气缸缩回,状态清零回到相机待机状态。物体向后接着运动当经过“I0.6 ibCatchSwitch 机器人搬运等待工位托盘检测光电开关”,触发“Q0.6 qbCatchCylinder 机器人搬运等待工位气挡电磁阀”,气缸伸出阻挡其他托盘进入,步进流水线定位完成,同时触发机器人抓取工件。判断机器人托盘是否有工件,然后确定是抓托盘或者是工作,当空托盘也抓取完成过后,机器人搬运等待工位气缸缩回。3.33工件盒生产线的程序编辑工件盒生产线采用步进电机控制,所以它的运动需要调用工艺块如下图。根据相机拍照产生的数据,和放置的要求通过算法计算出目标盒号,生成目标位置。如下图一个算法实例(*根据步进电机的当前位置分别计数*)IF(DB_RbtState.bRbtDone1 AND NOT (DB_RbtState.bRbtCatchNull1) OR (DB_RbtState.bRbtDone2 AND NOT (DB_RbtState.bRbtCatchNull2) OR (DB_RbtState.bRbtDone3 AND NOT (DB_RbtState.bRbtCatchNull3) ) THEN (*判断是否抓取动作1完成,并且机器人抓取到有效工件,则将第1个盒子工件计数自增,范围为1-8循环*) IF GVL.giProdcutBoxNoPV = 1 THEN #igridno1 := (#igridno1 + 1) MOD 8; IF #igridno1 = 0 THEN #igridno1 := 8; END_IF;放置时其实是将相机的数据转换为机器人执行的数据。3.4相机程序的编写相机的程序分为两部分,一个是它本身软件的编写,一个是总控软件也就是博图软件上的编写。它们之间的数据就是通过上述说的MODBUS通讯协议进行通讯的。3.41 X_SIGHT软件程序的编写打开软件如下图,在X-SIGHT STUDIO 后面,显示“智能相机开发软件”。菜单栏:在下拉菜单中选择要进行的操作。常规工具栏:显示打开、保存等基本功能的图标。相机工具箱:显示所有处理工具。信息栏:显示工具使用结果和输出。状态栏:显示PLC 型号、通讯方式及PLC 的运行状态。因为用到Modbus就介绍一下Modbus 配置:菜单栏窗口 Modbus 配置(当需要通过通讯从相机读某些数据时可进行配置)编辑脚本:例如:if(tool2.Out.result=0)Writeoutput(0,1);ElseWriteoutput(0,0);3.42相机总控软件上程序编写如下图,相机在生产线复位过程中将数据清空,当物体触发相机拍照工位托盘检测光电开关时,相机在图像识别工位气缸升起后拍照。拍照完成后通过软件进行分析,判断1-8类型数据的X值是否为0,不为0表示有该工件,取出相机拍照后托盘中工件信息、判断工件类型、依次取出工件的X,Y,Z,H,A。然后通过相机的数据处理,判断当前工件类型,将工件X,Y,Z,H,A发给机器人供机器人抓取时位置的识别。3.5机器人程序编辑机器人和相机一样它的程序也分为两部分,一是机器人本身程序通过示教器进行编写的,另一个是它总控的 编写。3.51示教器程序编写MAIN 主程序status_robot.val := 100 上传机器人当前状态:100=待机WHILE TRUE DO 当TRUE 时运行程序(循环)WAIT start_on.val = 103 等待机器人启动信号:103=启动CALL inttoreal() 调用程序inttoreal(整型到实数转换)WaitIsFinished() 等待完成IF changetool.val = 0 THEN 如果工具号=0,然后status_robot.val := 200 机器人状态:200=运行CALL pick() 调用程序pick(礼物拾取)CALL put() 调用程序put(礼物装箱)status_robot.val := 100 机器人状态:待机ELSIF changetool.val = 1 THEN 如果工具号=1status_robot.val := 200 机器人状态:运行CALL tuopan_pick_put() 调用程序托盘进栈status_robot.val := 100 机器人状态:待机status_end.val := 101 程序结束END_IFEND_WHILEINTTOREAL 整数转实数dx_pick := dx_pick1.val 拾取点X 轴偏移量转为实数dx_pick := dx_pick / 10 拾取点X 轴偏移量除以10 得到实际偏移,单位mmdy_pick := dy_pick1.val 拾取点Y 轴偏移量转为实数dy_pick := dy_pick / 10 拾取点Y 轴实际偏移量dz_pick := dz_pick1.val 拾取点Z 轴偏移量转为实数dz_pick := dz_pick / 10 拾取点Z 轴实际偏移量oz_pick := oz_pick1.val 拾取点旋转角度转为实数oz_pick := oz_pick / 10 拾取点实际旋转角度dx_put := dx_put1.val 放置点X 轴偏移量转为实数dx_put := dx_put / 10dy_put := dy_put1.valdy_put := dy_put / 10dz_put := dz_put1.valdz_put := dz_put / 10oz_put := oz_put1.valoz_put := oz_put / 10PICK 礼品拾取PTP(xipan_tool_pos) 切换到礼物拾取工具位置Tool(xipan_tool) 切换到礼物拾取工具坐标系WaitIsFinished() 等待完成/Lin(inipoint) 拾取坐标偏移基准点(不参与实际动作)Pickpot := inipoint 拾取点赋值Pickpot.x := inipoint.x dx_pick 拾取点X 轴偏移计算Pickpot.y := inipoint.y dy_pick laser_offset 拾取点Y 轴偏移计算Pickpot.z := inipoint.z + dz_pick + 100 拾取点Z 轴偏移计算(增加100mm 作为准备点WaitIsFinished() 等待完成Lin(pickpot) 以直线方式运行到拾取准备点WaitIsFinished() 等待完成pickpot.z := pickpot.z 100 减少100mm 到拾取点WaitIsFinished() 等待完成Lin(pickpot, lin300) 以300cm/min 的速度运行到拾取点WaitIsFinished() 等待完成dout24.Set(TRUE) 真空打开dout26.Set(TRUE) 吸盘1 打开WaitTime(2000) 延时2 秒WaitIsFinished() 等待完成IF xiqu_status.val = TRUE THEN 如果真空检测为TRUEpickpot.z := pickpot.z + 100 上升100mm 作为退出点WaitIsFinished() 等待完成Lin(pickpot) 运动到退出位置ELSIF xiqu_status.val = FALSE THEN 如果真空检测为FALSEstatus_robot.val := 300 机器人状态:300=吸取错误PAUSE 暂停END_IFPUT 礼物装箱Tool(xipan_tool) 切换到礼物拾取工具坐标系/Lin(put_inipoint) 放置坐标偏移基准点(不参与实际动作)putpot := put_inipoint 放置点赋值putpot.x := put_inipoint.x + dx_put 放置点X 轴坐标计算putpot.y := put_inipoint.y + dy_put laser_offset 放置点Y 轴坐标计算putpot.z := put_inipoint.z + dz_put + 150 放置点Z 轴坐标计算(增加150mm 作为准备点WaitIsFinished() 等待完成Lin(putpot) 运动到放置准备点WaitIsFinished() 等待完成IF xiqu_status.val = TRUE THEN 如果真空检测为TRUEputpot.z := put_ready.z 100 高度下降100mm 作为姿态调整点putpot.a := putpot.a + oz_pick 旋转角度计算WaitIsFinished() 等待完成Lin(putpot) 运动到姿态调整点WaitIsFinished() 等待完成putpot.z := putpot.z 50 高度减少50mm(实际放置点)WaitIsFinished()Lin(putpot) 运动到放置位置WaitIsFinished()dout24.Set(FALSE) 真空关闭dout26.Set(FALSE) 吸盘1 关闭WaitIsFinished()Putpot.z := putpot.z + 200 高度上升200mm 作为退出点WaitIsFinished()Lin(putpot) 运动到退出点WaitIsFinished()ELSIF xiqu_status.val = FALSE THEN 如果真空检测为FALSEstatus_robot.val := 400 机器人状态:400=放置错误PAUSEEND_IFtuopan_pick_put 托盘进栈PTP(tupan_tool) 切换到托盘拾取工具位置Tool(tuopan_tool) 切换到托盘拾取工具坐标系Lin(pick_ready) 运行到拾取准备位置Lin(pick_up) 运行到拾取位置WaitIsFinished()dout24.Set(TRUE) 真空打开dout25.Set(TRUE) 吸盘2 打开WaitTime(2000)WaitIsFinished()IF xiqu_status.val = TRUE THEN *如果真空检测为TRUELin(pick_after) 运动到退出位置Lin(put_up) 运动到放置准备位置IF xiqu_status.val = TRUE THEN 如果真空检测为TRUELin(put_down) 运动到放置准备位置WaitIsFinished()dout24.Set(FALSE) 真空关闭dout25.Set(FALSE) 吸盘2 关闭PTP(tupan_tool) 回到开始点ELSIF xiqu_status.val = FALSE THEN 如果真空检测为FALSEdout24.Set(FALSE) 真空关闭dout25.Set(FALSE) 吸盘2 关闭WaitIsFinished()status_robot.val := 400 机器人状态:放置错误PAUSEEND_IFELSIF xiqu_status.val = FALSE THEN *如果真空检测为FALSEstatus_robot.val := 300 机器人状态:吸取错误PAUSEEND_IF3.52机器人系统程序的编写当机器人搬运等待工位气缸升起后,触发机器人运动。机器人下方托盘始终为0号托盘,开始赋值到机器人抓取数据中,机器人下方托盘有工件数据工件类型不为0抓取X调整和抓取Y调整分辨机器人总的偏差补偿量,需要根据实际更改。最

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论