瓷磚分揀系統(tǒng)算法
鄭志武
發(fā)布于2012-12-27 22:00
2
0
標(biāo)簽:
圖中是8工位瓷磚分揀系統(tǒng)示意圖:
藍(lán)色是光電開關(guān),瓷磚從左方入料口進(jìn)入分揀系統(tǒng),皮帶輸送,皮帶在分揀出磚的時(shí)候不停止;
總共有八種類別的瓷磚需要分類,當(dāng)瓷磚經(jīng)過左邊個(gè)光電的時(shí)候,操作員通過操作屏將此瓷磚的類別輸入plc系統(tǒng),比如屬于類就輸入1,以此類推。8個(gè)出磚工位分別對(duì)應(yīng)8個(gè)瓷磚類別,各有一個(gè)光電確定瓷磚到了該工位,當(dāng)屬于這一工位類別時(shí)利用氣缸將瓷磚推入出瓷磚機(jī)構(gòu)進(jìn)行出磚,反之瓷磚繼續(xù)在瓷磚上輸送,如果出磚機(jī)構(gòu)還沒結(jié)束本次出磚動(dòng)作的時(shí)候,屬于本類的瓷磚已經(jīng)到達(dá)光電位置,則放棄此瓷磚,讓皮帶將其輸送到系統(tǒng)做右方,即放棄分揀此瓷磚。同時(shí),用戶可以將幾個(gè)工位設(shè)置成一個(gè)種類。
我想了一下可以建立一個(gè)表格來管理瓷磚的種類,但是由于瓷磚可能不是連續(xù)進(jìn)入的,而且同一種類的瓷磚有時(shí)會(huì)來很多片,這個(gè)從算法上怎么處理好一點(diǎn)。
問題補(bǔ)充:
圖片
圖片說明: 1,瓷磚分揀
佳答案
在個(gè)開關(guān)處操作員輸入類別號(hào),在1到8之間,建一個(gè)表,把類別號(hào)送入表中,類別號(hào)送入表中前進(jìn)行處理,1變?yōu)?0000001,2為00000010,3為00000100,依次類推。表格數(shù)據(jù)先入先出。
當(dāng)個(gè)開光觸發(fā)時(shí),從表頭取值賦給vw0,如果v1.0為1,則出磚口1動(dòng)作,然后vw0右移一位賦給vw2。
當(dāng)?shù)诙€(gè)開光觸發(fā)時(shí),若v3.0為1,則出磚口2動(dòng)作,然后vw2右移一位賦給vw4。
當(dāng)?shù)谌齻€(gè)開光觸發(fā)時(shí),若v5.0為1,則出磚口3動(dòng)作,然后vw4右移一位賦給vw6。
后面以此類推。
如果磚塊未能出去,因?yàn)樗淼臄?shù)據(jù)已經(jīng)右移為0,所以即便傳遞后面也不會(huì)再觸發(fā)任何一個(gè)出磚口。
程序如下,拷貝到一個(gè)文本文件里可以直接導(dǎo)入到編程軟件里。
organization_block主程序:ob1
title=i2.0為類別檢定電眼;i0.0-i0.7為1到8號(hào)磚塊檢測(cè)電眼,i1.0-i1.7為1到8號(hào)出磚機(jī)構(gòu)檢測(cè)電眼,為1代表機(jī)構(gòu)正在出磚。
//vw200為表頭,表長(zhǎng)度在初始化定義時(shí)可根據(jù)工藝要求設(shè)定一個(gè)合適的表長(zhǎng),可以足夠存儲(chǔ)個(gè)類別識(shí)別電眼和1號(hào)出磚電眼之間的磚塊數(shù)。
//vb100為上位機(jī)給定的類別號(hào),1-8之間。
//vb1-vb8存放當(dāng)前類別號(hào)。
begin
network1
//初始化表,定義表長(zhǎng)
ldsm0.1
movw6,vw200
aeno
fill0,vw202,7
network2
ldi2.0
eu
decbvb100
network3
//把vb100中的1-8的類別號(hào)轉(zhuǎn)變?yōu)?0000001、00000010......類似的編碼
ldi2.0
eu
movb1,vb101
aeno
slbvb101,vb100
aeno
btivb101,vw102
network4
//編碼填入表中
ldi2.0
eu
attvw102,vw200
network5
//一號(hào)出磚機(jī)構(gòu)磚塊到達(dá),表中取類別編號(hào)
ldi0.0
eu
fifovw200,vw104
aeno
movbvb105,vb1
network6
//若為1號(hào)磚,且出磚機(jī)構(gòu)未運(yùn)動(dòng),輸出
ldv1.0
ani1.0
sq0.0,1
network7
ldi0.0
eu
srbvb1,1
network8
//輸出延時(shí)一段時(shí)間后自動(dòng)復(fù)位,延時(shí)時(shí)間根據(jù)工藝調(diào)節(jié)。
ldq0.0
tont37,50
network9
ldt37
rq0.0,1
network10
//2號(hào)出磚
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號(hào)程序類似于2號(hào)。
end_organization_block
subroutine_blocksbr_0:sbr0