cwm0848
級別: 探索解密
|
傳送帶產送3種規格的工件,分別是10克、20克和30克。PLC通過氣缸將工件推入對應的槽。現在要求給槽分揀出300克的工件,該如何編程。請教各位大神提供編程思路。(傳送帶過來的工件時隨機的,可能是3種工件中的任何一種,且不能只推一種規格的工件,比如只推入10克的工件,這樣效率太低)。謝謝。 |
---|---|
|
zsh340
zsh340
級別: 論壇先鋒
|
PLC的移位指令 樓主留言:沒明白。我想請教的是算法或者編程思路。 |
|
---|---|---|
|
東方花豬
級別: 網絡英雄
|
三菱有個模擬軟件,其中最后一關就是模擬你這種工況的動畫效果。你完全可以借鑒下。 樓主留言:能給模擬軟件的名字嗎?謝謝 |
|
---|---|---|
|
gxtmdb82164
級別: 論壇先鋒
|
湊整算法唄,你這三種重量正好都可以湊最大30克,所以考慮最后的終止條件,緩沖區累計重量達到270克時,根據倒數第二個來的物料的重量決定下一個的動作邏輯,一共也沒有幾種組合,以下以設X=270 X+30+0,直接結束 X+20+10,再等一個確定值 X+10+20,再多做一級分支,20克就結束 X+10+10+10,最后一種情況 倒推后可以獲得: 通過4種組合方式你就可以得到一個最小30克的package,累計10個package就達到了目標重量 也就是說,我系統只接受上面4種組合,從第一個物料進來開始就進入這個組合的邏輯鏈中,結果是必然的. 當然上述算法不是最優的,會拋掉大量的30克和20克物料,理論上可以通過增加組合數量的方式容納更多的組合方式來模擬隨機的物料進入順序,比如用60克作為最小計量單位,但是這樣邏輯分支馬上就會膨脹的非常快,在執行效率和程序復雜度上需要取一個平衡. 樓主留言:我同意您的看法,組合非常多,遠不止4種,所以不是最優的方式,在執行效率和程序復雜度上需要取一個平衡。謝謝。 |
---|---|
|
seafar
目前C#
級別: 家園常客
|
拋棄的工件會去哪 |
|
---|---|---|
|
龍達工控萌新
級別: 略有小成
|
我覺得 根本不需要考慮 到底有多少種組合,,,,,只需要考慮 ,累積量 等于 240 250 260 270 280 290 的這幾種,接下來推那個物料能達到300克就行 。這個相當于求解3元一次方程組的解。。。。 |
---|---|
|
戇獅
廣州三能:自動化設備制造 自動化培訓
級別: 略有小成
|
最少3個槽加最少3個緩存,這樣才能根據3個槽的重量和3個緩存的重量判斷怎么去推。三個槽要有1個最快達到270,兩個槽作為最后為了篩選湊300的存放不要的。三個槽循環使用。沒有3個緩存判斷,是不可能做到完全正確推放的 |
|
---|---|---|
|
戇獅
廣州三能:自動化設備制造 自動化培訓
級別: 略有小成
|
或者2個槽都行,3個緩存是少不了的,還要求出來的數量要均勻,如果10的不出,盡出20和30也不好整。3個槽就是為了能湊出270,280,290這三數,來任一個都能馬上出300。槽數越多越好整。不加緩存最少3個槽以上 [ 此帖被戇獅在2022-01-09 00:46重新編輯 ] |
|
---|---|---|
|
崇慶陽光
不懈努力,一切皆有可能...
級別: VIP會員
|
問一下,氣缸在推工件時如何知道推的是多少克的? 樓主留言:不好意思,我的問題的主要關注點是如何編寫程序的思路。檢測不是我關注的地方。 |
|
---|---|---|
|