时间:2023-03-20 16:51:07
引言:易发表网凭借丰富的文秘实践,为您精心挑选了一篇烟箱码垛控制系统范例。如需获取更多原创内容,可随时联系我们的客服老师。
1引言
自动码垛技术在物流自动化领域应用越来越广泛。目前大部分的码垛方案是上位机PLC发送跺型及接口指令给工业机器人,由工业机器人来完成码垛任务,工业机器人完成码垛任务后反馈PLC码垛完成,PLC再执行下一步动作。这样的方案不仅控制系统实现较为复杂,而且工业机器人的成本也很高[1-2]。本系统为烟箱分拣线的一个分支机构,被分拣后的烟箱送入不同的通道,夹具夹起某通道的烟箱后,放到托盘输送线上进行码垛,码垛完成后,托盘输送线把托盘送入下一个工位。烟箱码垛控制系统采用空间直角坐标系方案,由三个步进电机完成空间中X/Y/Z三个方向的精确定位,完成码垛任务。
2系统设计
2.1系统拓扑结构
码垛系统为整个分拣线的一个分支系统,选用西门子S7-1200PLC为系统的中央处理器,利用其自身集成的三路高速脉冲输出通道,控制步进驱动器,进而驱动步进电机完成定位控制[3-4]。
2.2步进驱动器细分数设计
对X/Y/Z三个步进轴,选用Kinco步科公司生产的步进驱动器和步进电机。步进电机的电机步距角是1.8°,则电机旋转一圈所需要的脉冲数是200。X轴:电机旋转一圈,机构的位移量为6.3mm,即200个脉冲(pluse)为6.3mm,计算可得X轴的定位精度:1pluse=6.3/200=0.0315mm。该值小于工艺要求的定位精度0.1mm,可不用再设置步进驱动器的细分数。Y轴:电机旋转一圈,机构的位移量为28.7mm,则200pluse=28.7mm,计算可得Y轴的定位精度:1pluse=28.7/200=0.1435mm。该值大于工艺要求的定位精度0.1mm,需要进一步设置步进驱动器的细分数。设置步进驱动器的细分为10细分,则200×10=2000。则步进驱动器每收到2000个脉冲,步进电机就会旋转一圈。即2000pluse=28.7mm,计算可得Y轴的定位精度:1pluse=28.7/2000=0.01435mm。该值小于工艺要求的定位精度0.1mm,设置的步进驱动器细分数满足应用要求。Z轴:电机旋转一圈,机构的位移量为8.6mm,则200pluse=8.6mm,计算可得Z轴的定位精度:1pluse=8.6/200=0.043mm。该值小于工艺要求的定位精度0.1mm,可不用再设置步进驱动器的细分数。
2.3码垛算法设计
本系统采用空间直角坐标系方案,由三个步进电机完成空间中X/Y/Z三个方向的精确定位。根据工艺要求,跺型为3×5×3的烟箱码垛,即每行码3个烟箱,每列码5个烟箱,码3层。根据烟箱测量数据得知:烟箱长度L=550mm,宽度W=250mm,高度H=900mm。手动操作X/Y/Z三轴运行到第一个烟箱的放置位置P1=(X1=1855,Y1=1419,Z1=3141),其中X1、Y1、Z1是三轴相对于各自原点的绝对位置。设置三个计数变量,用于记录当前码垛的行数Line,列数List,层数Level。设第n个烟箱的绝对位置为Pn=(Xn,Yn,Zn),不难计算出:Xn=X1+List*LYn=Y1+Line*WZn=Z1-Level*H程序首先赋初始值Line=0,List=0,Level=0。每放置完一个烟箱,Line加1,直到一行放置完毕,List加1,同时清除Line。同理,每放置完一行烟箱,List加1,直到一层放置完毕,Level加1,同时清除Line,List。同理,每放置完一层烟箱,Level加1,直到层高放置完毕,清除Line,List,Level。随机选取几个烟箱,验证算法。第三个箱子:Line=3,List=0,Level=0,X3=1855+3*550=3505Y3=1419+0*250=1419Z3=3141-0*900=3141即P3=(3505,1419,3611)。第五个箱子:Line=2,List=2,Level=0,X5=1855+2*550=2955Y5=1419+2*250=1919Z5=3141-0*900=3141即P5=(2955,1919,33141)。第二十个箱子:Line=2,List=2,Level=1,X20=1855+2*550=2955Y20=1419+2*250=1919Z20=3141-2*900=1341即P20=(2955,1919,1341)。手动将X/Y/Z分别运行到第三、五、二十个烟箱的位置上,实际位置与计算位置无出入。
3系统实现控制器
采用西门子S7-1200系列的CPU1215C,该控制器集成有四路高速脉冲发生器,在博途软件中对其进行运动控制功能的组态,还可调用软件自带的运动控制功能块进行编程[5]。
3.1硬件组态
根据实际的硬件配置,在博途软件中对CPU以及I/O模块进行组态。
3.2高速脉冲设置
启用三路CPU自带的高速脉冲发生器,分别作为X/Y/Z三个轴的脉冲输入,采用脉冲+方向控制方式。
3.3运动控制工艺对象设置
运动控制工艺对象的设置,主要设置原点的回归方式、硬件限位、软件限位、停止方式等等。设置方法如图4所示。
3.4运动控制功能块使用方法
在博途软件的编程环境中,系统提供了若干运动控制功能块,如MC_Power,MC_Reset,MC_Home,MC_Halt,MC_MoveAbsolute,等等。运动控制功能块使用方法:首先调用轴使能指令MC_Power,Axis填写组态里对应轴的名称,Enable连接一个使能变量;然后调用回原点指令MC_Home,Mode设为7,Position为0.0,将该轴回到原点并初始化脉冲值为0;最后调用绝对定位指令MC_MoveAbsolute进行绝对定位。
3.5工作程序设计
烟箱码垛的控制流程如下:系统在接收到自动运行命令时,首先将Line、List、Level赋初始值0,将X/Y/Z三轴使能,然后Z轴先回原点(防止发生机械碰撞),等Z轴回原点后,再对X/Y轴回原点。三轴都回到原点位置后,检测是否有烟箱到来,如果没有烟箱到来,则设备一直等待。当传输线上的光电传感器检测到传输线上有烟箱过来时,传输线上的定位气缸动作,将烟箱准确定位,可保证码垛机气爪每次都能在同一位置抓取烟箱。此时,先将X/Y轴移动到抓取位置,再将Z轴移动到抓取位置,抓取气缸抓紧烟箱,Z轴回到原点位置,定位气缸松开,检测托盘是否准备就绪,如果托盘没有准备好,先将托盘运到指定位置,当托盘准备就绪后,计算Pn(Xn,Yn,Zn)点,先将X/Y的值分别赋值给Z/Y_MoveAbsoluste进行绝对定位,定位完成后,再将Z的值赋值给C_Move-Absoluste进行绝对定位,定位完成后,抓取气缸松开放置烟箱,Z轴回到原点,等待下一个烟箱的到来。此时,需要根据已经放置的烟箱数量,更新Line、List、Level的值。如果码垛未完成,则继续检测下一个烟箱是否准备就绪,如此循环;如果码垛已完成,则需先将托盘送走,再跳转到检测下一个烟箱是否准备就绪,如此循环。
4结束语
烟箱码垛控制系统实现了分拣线末端成品烟箱的自动码垛,系统支持Profinet通讯,可实现与分拣线和上位机的数据交互。本系统已经成功应用于某烟草分拣项目,大幅节省了使用工业机器人方案的高昂造价。经实践证明,本系统能够满足节拍要求,性能安全可靠,可推广到其它需要码垛的场所使用。
参考文献:
[1]陈锐鸿.基于PLC控制的多工位码垛系统设计与实现[J].包装工程,2018,39(17):159-164.
[2]张业鹏,张明.基于PLC与工业机器人的全自动化码垛系统设计[J].制造业自动化,2015,37(22):108-110.
[3]李坤全,邵凤翔.全自动包装码垛机器人控制系统设计[J].机械设计与制造,2017(4):23-33.
[4]韩贾丽仕.移动机器人控制系统设计[J].电子制作,2015(8):24-25.
[5]韩桂荣.基于工业机器人和PLC的多垛型全自动码垛搬运系统研究[D].武汉:武汉工程大学,2017:1-5.
作者:文恒 金洪吉 单位:四川信息职业技术学院电气工程系