cwm0848
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 65 個(gè)
工控威望: 184 點(diǎn)
下載積分: 492 分
在線時(shí)間: 73(小時(shí))
注冊(cè)時(shí)間: 2017-03-21
最后登錄: 2024-12-17
查看cwm0848的 主題 / 回貼
樓主  發(fā)表于: 2022-01-07 09:40
傳送帶產(chǎn)送3種規(guī)格的工件,分別是10克、20克和30克。PLC通過氣缸將工件推入對(duì)應(yīng)的槽,F(xiàn)在要求給槽分揀出300克的工件,該如何編程。請(qǐng)教各位大神提供編程思路。(傳送帶過來的工件時(shí)隨機(jī)的,可能是3種工件中的任何一種,且不能只推一種規(guī)格的工件,比如只推入10克的工件,這樣效率太低)。謝謝。
gxtmdb82164
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 770 個(gè)
工控威望: 1148 點(diǎn)
下載積分: 399 分
在線時(shí)間: 604(小時(shí))
注冊(cè)時(shí)間: 2019-09-22
最后登錄: 2024-12-20
查看gxtmdb82164的 主題 / 回貼
1樓  發(fā)表于: 2022-01-07 11:03
湊整算法唄,你這三種重量正好都可以湊最大30克,所以考慮最后的終止條件,緩沖區(qū)累計(jì)重量達(dá)到270克時(shí),根據(jù)倒數(shù)第二個(gè)來的物料的重量決定下一個(gè)的動(dòng)作邏輯,一共也沒有幾種組合,以下以設(shè)X=270

X+30+0,直接結(jié)束
X+20+10,再等一個(gè)確定值
X+10+20,再多做一級(jí)分支,20克就結(jié)束
X+10+10+10,最后一種情況

倒推后可以獲得:

通過4種組合方式你就可以得到一個(gè)最小30克的package,累計(jì)10個(gè)package就達(dá)到了目標(biāo)重量
也就是說,我系統(tǒng)只接受上面4種組合,從第一個(gè)物料進(jìn)來開始就進(jìn)入這個(gè)組合的邏輯鏈中,結(jié)果是必然的.
當(dāng)然上述算法不是最優(yōu)的,會(huì)拋掉大量的30克和20克物料,理論上可以通過增加組合數(shù)量的方式容納更多的組合方式來模擬隨機(jī)的物料進(jìn)入順序,比如用60克作為最小計(jì)量單位,但是這樣邏輯分支馬上就會(huì)膨脹的非常快,在執(zhí)行效率和程序復(fù)雜度上需要取一個(gè)平衡.
樓主留言:
我同意您的看法,組合非常多,遠(yuǎn)不止4種,所以不是最優(yōu)的方式,在執(zhí)行效率和程序復(fù)雜度上需要取一個(gè)平衡。謝謝。
是否還有別的思路呢?謝謝。