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

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

倒推后可以獲得:

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