技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 瓷砖分拣系统算法

瓷砖分拣系统算法

郑志武 发布于2012-12-27 22:00 2 0 标签:

图中是8工位瓷砖分拣系统示意图:
蓝色是光电开关,瓷砖从左方入料口进入分拣系统,皮带输送,皮带在分拣出砖的时候不停止;
总共有八种类别的瓷砖需要分类,当瓷砖经过左边个光电的时候,操作员通过操作屏将此瓷砖的类别输入plc系统,比如属于类就输入1,以此类推。8个出砖工位分别对应8个瓷砖类别,各有一个光电确定瓷砖到了该工位,当属于这一工位类别时利用气缸将瓷砖推入出瓷砖机构进行出砖,反之瓷砖继续在瓷砖上输送,如果出砖机构还没结束本次出砖动作的时候,属于本类的瓷砖已经到达光电位置,则放弃此瓷砖,让皮带将其输送到系统做右方,即放弃分拣此瓷砖。同时,用户可以将几个工位设置成一个种类。
我想了一下可以建立一个表格来管理瓷砖的种类,但是由于瓷砖可能不是连续进入的,而且同一种类的瓷砖有时会来很多片,这个从算法上怎么处理好一点。

问题补充:
图片


图片说明: 1,瓷砖分拣

佳答案

在个开关处操作员输入类别号,在1到8之间,建一个表,把类别号送入表中,类别号送入表中前进行处理,1变为00000001,2为00000010,3为00000100,依次类推。表格数据先入先出。

当个开光触发时,从表头取值赋给vw0,如果v1.0为1,则出砖口1动作,然后vw0右移一位赋给vw2。
当第二个开光触发时,若v3.0为1,则出砖口2动作,然后vw2右移一位赋给vw4。
当第三个开光触发时,若v5.0为1,则出砖口3动作,然后vw4右移一位赋给vw6。
后面以此类推。

如果砖块未能出去,因为它代表的数据已经右移为0,所以即便传递后面也不会再触发任何一个出砖口。


程序如下,拷贝到一个文本文件里可以直接导入到编程软件里。
organization_block主程序:ob1
title=i2.0为类别检定电眼;i0.0-i0.7为1到8号砖块检测电眼,i1.0-i1.7为1到8号出砖机构检测电眼,为1代表机构正在出砖。
//vw200为表头,表长度在初始化定义时可根据工艺要求设定一个合适的表长,可以足够存储个类别识别电眼和1号出砖电眼之间的砖块数。
//vb100为上位机给定的类别号,1-8之间。
//vb1-vb8存放当前类别号。
begin
network1
//初始化表,定义表长
ldsm0.1
movw6,vw200
aeno
fill0,vw202,7
network2
ldi2.0
eu
decbvb100
network3
//把vb100中的1-8的类别号转变为00000001、00000010......类似的编码
ldi2.0
eu
movb1,vb101
aeno
slbvb101,vb100
aeno
btivb101,vw102
network4
//编码填入表中
ldi2.0
eu
attvw102,vw200
network5
//一号出砖机构砖块到达,表中取类别编号
ldi0.0
eu
fifovw200,vw104
aeno
movbvb105,vb1
network6
//若为1号砖,且出砖机构未运动,输出
ldv1.0
ani1.0
sq0.0,1
network7
ldi0.0
eu
srbvb1,1
network8
//输出延时一段时间后自动复位,延时时间根据工艺调节。
ldq0.0
tont37,50
network9
ldt37
rq0.0,1
network10
//2号出砖
ldi0.1
eu
movbvb1,vb2
network11
ldv2.0
ani1.1
sq0.1,1
network12
ldi0.1
eu
srbvb2,1
network13
ldq0.1
tont38,50
network14
ldt38
rq0.1,1
network15
//3到8号程序类似于2号。
end_organization_block
subroutine_blocksbr_0:sbr0

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签