【基于PLC的上下料机器控制系统流程的程序设计与调试案例4600字】_第1页
【基于PLC的上下料机器控制系统流程的程序设计与调试案例4600字】_第2页
【基于PLC的上下料机器控制系统流程的程序设计与调试案例4600字】_第3页
【基于PLC的上下料机器控制系统流程的程序设计与调试案例4600字】_第4页
【基于PLC的上下料机器控制系统流程的程序设计与调试案例4600字】_第5页
已阅读5页,还剩5页未读, 继续免费阅读

下载本文档

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

文档简介

基于PLC的上下料机器控制系统流程的程序设计与调试案例目录TOC\o"1-3"\h\u23448基于PLC的上下料机器控制系统流程的程序设计与调试案例 13761.1PLC与机器人通信模块 1239231.2仓位号计算 332351.3HMI控制模块 6291491.1.1仓库取放料流程 7300111.1.2机床取放料流程 7285911.4系统单步流程 7229381.5报警块的运行程序 869591.6机器人主程序 8304341.6.1机器人编程步骤 8264041.7初始化程序 91.1PLC与机器人通信模块机器人与PLC的通讯首先要建立好DB块使以寄存机器人的参数,再将机器人的IP网址192.168.8.103填写至DB块内建立好的TCON指令中。通过MB-CLIENTY指令链接实现机器人与PLC的通信,将机器人的40001-40050的50个int参数放置在DB块中,在机器人读取模块中设定MB_MODE为0,此参数意思为Modbus请求读取,将MB_DATA_LAN(数据访问的位数)设为50位,当读取完成DONE置1,触发写入模块如图1.1。写入模块将40081的后20个int数据放置在DB块中,在机器人写入模块中设定MB_MODE为1,此参数意思为Modbus请求写入,将MB_DATA_LAN(数据访问的位数)设为20位,当读取完成DONE置1,触发读取模块如1.2,这样的两个MB_CLENT模块的互相通信实现了机器人对PLC的读取和PLC将数据写入机器人的功能。至此一步机器人与plc的通讯建立完成。图1.1机器人写模块图1.2机器人读模块机器人通讯完成后开始定义变量PLC中所运到的变量如下表(1.1)。机器人与PLC之间的相互控制需要设定以下的变量才能实现数据交互,机器人对PCL写入的数据为OUT,备注中我以o来代表它的缩写。机器人对PLC读取的数据为INT备注中我用i来代表它的缩写。在PLC中,程序根据所检测到的OUT变量来执行对应的程序。在机器人中,程序根据检测到的INT变量来执行对应的动作。表1.1机器人通讯定义变量表40034o3车床卡盘控制2加紧3松开40084i3车床卡盘反馈2已紧3已松 40035o4铣床虎钳控制2加紧3松开 40085i4铣床虎钳反馈2已紧3已松40037o6动作完成140086i5仓位行号40038o7机器人原点140087i6仓位列号40083i2夹具号40088i7机器人程序号将如上变量定义后机器人便可以通过plc控制数控车床的车床门门开信号与卡盘的松开夹紧信号、加工中心的门开信号与虎钳的动作信号。具体详细控制程序如下,当机器人将输出信号“o3”的变量设为2时且车床卡盘处于松开位置则触发车床卡盘控制的“M11.1”信号使车床卡盘夹紧。同理当“o3”为“3”时且卡盘处于夹紧状态时触发“M11.1”使车床卡盘松开。图1.3CNC车床卡盘置位车床卡盘控制信号“M11.1”是个置位信号,在其触发一秒后将其复位掉使下一次接收到动作后可以再次执行卡盘控制动作。图1.4CNC车床卡盘复位当机器人变量“o3”为0且防护门为关闭状态时将0MOVE至机器人信号的“in3”里机器人此时机器人会因为车床门未开而不动作。以防止机器人在机床门为开启时进行动作而与机床门相撞。当机器人变量“o3”为0且车门为开启状态则将1MOVE至机器人的“i3”中使机器人得到机床门已开启的信号从而进行下一步。机器人到位且车床门开到位后所执行的一步,机器人给出“O3”信号为2时,且车床卡盘若是处于夹紧状态则将2(卡盘已夹紧)MOVE至机器人的“in3”信号中。当“OUT3”为3时且卡盘状态松开后将3MOVE至“iN3”中。此时机器人便会收到卡盘已松开的反馈信号。图1.5车床卡盘0反馈1.2仓位号计算机床的控制编写完成后便开始进行仓库方面的环节设计,仓库所需要实现的功能主要为物料的检测与机器人的定位。机器人需要到达指定的仓位取料所以我们需要让机器人能够去到这个具体的位置。根据仓库物料排列情况,决定采用行列号进行物料的定位。由于本设计选用的是三十个仓料位,分五行六列。设a为仓位号;x为仓位行号;y为仓位列号。根据规律得出。当HMI中给出仓位号后,将按照下列程序计算出仓位的行号与列号。首先为仓位列号的计算当指定的仓位号在1-30号仓位之内,将仓位号进行一个除余的运算将仓位号除以六,所得到的余数与0做比较,当仓位余数等于0时则将6赋值至仓位列号中,由此可根据仓位号计算出仓位列号。同理将仓位号除以六得到的仓位商,根据仓位余数与0的比较操作后方可计算出仓位行号,当仓位余数等于0时将仓位商直接赋值至仓位行号中,当仓位余数不等于0时则执行一个加法指令(ADD)将仓位商加1后的数赋值到仓位行号当中,以计算出当前仓位号所在的仓位行号。图1.6仓位号计算

ID4(仓位1-30的BOOL变量)内的是数据由于是高位在左低位在右,与DB块仓库工件状态内的工件有无的内容相反所以。将ID4内的信号做一个交换指令后放到“MD412”这个寄存器中,然后将“MD412”拆分后放入仓库工件状态的DB块中的工件有无里面。当给予的仓位号小于等于30时利用一个读取域的模块来显示仓位是否有无工件。图1.7仓位信息转置、离散、定义格式、按位与由于仓位工件分为三种各不相同,所以机器人的夹具也会更换,本设计分了三种方案来选取夹具以便机械手挑选夹具。将仓位号对比后选取不同的三种夹具。当仓位号在前12个仓位时所赋予机器人的AI值为1,当仓位号处于13号位与24号位之间时则赋予机器人的AI值为2,当仓位号在25号仓位与30号仓位之间时则赋予机器人的AI值为3,同时避免仓位号为0的状态将仓位号为0时自动至1。图1.8夹具号选择根据上述的程序计算出仓位行号与仓位列号将数据实时更新放入机器人行号与列号中。图1.9仓位行号与仓位列号的数据move

1.3HMI控制模块整个上下料控制分为仓库取料、车床放料、车床取料、加工中心放料、加工中心取料、仓库放料这六道工序,每个工序的启动都由所赋予的一个M变量控制。工序仓库取料与工序仓库放料的流程如图3-13所示在系统运行时首先将所以机器人关节恢复到初始位置,避免机器人运动时与其他产品、设备、工件形成干涉、损坏机器人或其他设备,其次进行工件检测,检测料仓的工件有无,当机器人处于原点位置,且工件信号正确后,触发机器人的动作程序,将工件从料仓中取出或放入,动作完成后机器人回到初始位置,等待下一步动作指令。车床放料、车床取料、加工中心放料与加工中心取料的流程图如图3-14所示,在系统运行时,同样进行机器人的复位,将其所有的关节复位到初始位置,以避免机器人与其他产品、设备、工件形成干涉、损坏机器人或其他设备,当机器人处于原点时,下发其中的一个任务,触发机器人所对应的动作程序,将工件从车床或加工中心内放入或取出,动作完成后机器人恢复到初始位置,等待程序下一步运行指令的下发。详细系统动作过程如下:(1)仓位取料按钮→检测机器人是否处于原点位置→检测仓位是否有料→机器人执行仓库取料动作→机器人动作完成→机器人动作程序复位→仓位取料按钮复位(2)车床放料按钮→检测机器人是否处于原点位置→检测车床门是否开启→机器人执行车床放料动作→机器人动作完成→机器人程序复位→车床放料按钮复位(3)车床取料按钮→检测机器人是否处于原点位置→检测车床门是否开启→机器人执行车床取料动作→机器人动作完成→机器人程序复位→车床取料按钮复位(4)加工中心放料按钮→检测机器人是否处于原点位置→检测加工中心门是否开启→机器人执行加工中心放料动作→机器人动作完成→机器人程序复位→加工中心放料按钮复位(5)加工中心取料按钮→检测机器人是否处于原点位置→检测加工中心门是否开启→机器人执行加工中心取料动作→机器人动作完成→机器人程序复位→加工中心取料按钮复位。(6)仓位放料按钮→检测机器人是否处于原点位置→检测仓位是否有料→机器人执行仓库放料动作→机器人动作完成→机器人动作程序复位→仓位放料按钮复位

1.1.1仓库取放料流程仓库取料流程分为七步。从HMI下发命令后,开始检测机器人是否处于原点位置。若处于原点位置则开始检测准备前去料仓的的仓位是否有料;若为取料程序且检测结果为有料便执行下一步;将机器人取料程序move至机器人的程序号变量中,从而执行机器人程序;当机器人程序执行完毕后,将HMI下发的命令与机器人程序号复位清零,期间若仓位所对应的有取料信号不正确则会触发报警,暂停机器人程序的move仓库物料。1.1.2机床取放料流程机器人从仓库取的物料后便可以前往数控车床或加工中心上下料。机器人前往数控车床或加工中心上下料分为六个大体步骤。从HMI下发取放料命令后。机器人开始检测机器人是否在原点。若处于原点信号则出触发原点信号开始执行机器人下一步动作。机器人到指定位置取放料。待动作完成后触发机器人动作完成信号。从而使下发的取放料指令与机器人程序复位置零。便可以下发下一步指令。1.4系统单步流程仓库取料程序当机器人在原点位置时则触发11号机器人程序,且执行前若是仓位没有料则触发报警。机器人动作完成后复位掉仓库取料信号同时机器人程序号置0如图1.10。同理仓库放料程序当机器人在原点位置时则触发16号机器人程序,且执行前若是仓位没有料则触发报警。机器人动作完成后复位掉仓库取料信号同时机器人程序号置0。图1.10仓库取料流程车床放料M信号触发后若机器人在原点位置则触发12号机器人程序,动作完成后复位如图1.11。同理车床取料M信号触发后若机器人在原点位置则触发13号机器人程序,动作完成后复位。加工中心放料M信号触发后若机器人在原点位置则触发14号机器人程序,动作完成后复位。加工中心取料M信号触发后若机器人在原点位置则触发15号机器人程序,动作完成后复位。图1.11车床放料流程1.5报警块的运行程序当用HMI控制走流程时,若机器人处于暂停状态则会触发1号报警文本。当给完夹具信号后没有收到夹具信号的反馈,且机器人程序为0时,则触发4号报警文本同时接通机器人停机的信号。报警文本接通后将MW522内的数据做一个递增当MW522内的数据大于1000时则会重置并从头开始继续递增。当复位信号触发将所有报警数据REST并清零报警文本。1.6机器人主程序机器人程序主要实现机器人与PLC的通讯、机器人自身的升降、转动、旋转、抓取、搬运等动作。首先设备运行前进行机器人复位,机器人关节恢复到初始位置,以避免机器人的动作与其他的设备相互造成干涉,检测到命令信号后触发机器人动作,将物料工件搬运到指定位置。1.6.1机器人编程步骤首先建立一个主程序与十二个分别为初始化、仓库放料、仓库取料、车床放料、车床取料、加工中心放料、加工中心取料、取爪、放爪、夹盘、松盘、夹爪与松爪的子程序,每个子程序负责相应的动作以等待主程序的调用。程序注释//KAIROVersion2.00CALLcsh调用初始化。WaitIsFinished等待上一步完成。LABELaa循环。IFAI7.port=11THEN如果40088(机器人程序号)变量置11则执行下列程序。AQ7.port:=0机器人移动后原点信号置0使plc得知机器人已不在原点。CALLQZ仓库取料的第一步调用取爪。CALLQL取爪完成后执行取料程序。END_IFIFAI7.port=12THEN如果40088(机器人程序号)变量置12则执行下列程序。AQ7.port:=0机器人移动后原点信号置0使plc得知机器人已不在原点。CALLCS调用车床上料程序。END_IFIFAI7.port=13THEN如果40088(机器人程序号)变量置13则执行下列程序。AQ7.port:=0机器人移动后原点信号置0使plc得知机器人已不在原点。CALLCX调用车床下料程序。END_IFIFAI7.port=14THEN如果40088(机器人程序号)变量置14则执行下列。程序。AQ7.port:=0机器人移动后原点信号置0使plc得知机器人已不在原点。CALLXS调用加工中心上料程序。END_IFIFAI7.port=15THEN如果40088(机器人程序号)变量置15则执行下列。程序。AQ7.port:=0机器人移动后原点信号置0使plc得知机器人已不在原点。CALLXX调用加工中心取料程序。END_IFIFAI7.port=16THEN如果40088(机器人程序号)变量置16则执行下列程序。AQ7.port:=0机器人移动后原点信号置0使plc得知机器人已不在原点。CALLFL调用仓库放料程序。CALLFZ调用放爪程序。END_IFWaitTime(500)等待0.5s。WaitIsFinished等待上一步完成。WaitTime(500)等待0.5s。IFAQ7.port=0THEN如果40038(机器人原点)=0则。AQ6.port:=1机器人动作完成。WAITAI7.port=0程序号写0。AQ7.port:=1机器人回到原点信号。AQ6.po

温馨提示

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

评论

0/150

提交评论