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

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

倒推后可以獲得:

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