工控肥仔
工控肥仔
級別: 網(wǎng)絡(luò)英雄
精華主題: 0
發(fā)帖數(shù)量: 660 個
工控威望: 5652 點
下載積分: 3148 分
在線時間: 749(小時)
注冊時間: 2018-11-17
最后登錄: 2024-11-06
查看工控肥仔的 主題 / 回貼
樓主  發(fā)表于: 2022-05-10 10:21
圖片:
各位大師幫我想想,從CCD過來給出一組數(shù)據(jù),M300----M307,一共八個產(chǎn)品,

          假如:M300 ----M307為一組數(shù)據(jù),
                    1,如果全部置ON就是良品,可以一次全部擺放過去
                    2,如果產(chǎn)品中間有不良品出現(xiàn),丟掉不良品后再去擺盤,此時有空缺位,
                          假如M307,M306為良品,M305為不良品,M304后面全是良品,
                          這時就需要先放M307 M306,在往前 前進一位,在一次放下其他產(chǎn)品
                          整個擺放流程最多不能超過四次,就是說有幾個良品先放幾個,空缺位一次往前補,知道有良品為止
                      

                       大家?guī)臀蚁脒@種程序怎么寫方便些


                        產(chǎn)品用三軸擺盤,下面是手工畫的平面圖
sjbandmm
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 237 個
工控威望: 407 點
下載積分: 987 分
在線時間: 167(小時)
注冊時間: 2008-08-23
最后登錄: 2024-05-22
查看sjbandmm的 主題 / 回貼
1樓  發(fā)表于: 2022-05-10 22:08
這個算法要根據(jù)你的機械機構(gòu)來設(shè)計的,你沒說清楚,怎么剔除NG產(chǎn)品,是抓取后先剔除NG,你都沒說,我只能跟據(jù)你說的來猜了,看你的要求是:8個產(chǎn)品中,無論哪幾個產(chǎn)品有問題,在碼盤的時候要緊密擺放,剔除NG產(chǎn)品的空位。
看你的算法要求一次性抓取所有的產(chǎn)品,然后將最后的幾個連續(xù)的OK品放下后,再移動前面未放下的產(chǎn)品的,消除空位。
如果是這樣的話:使用for-next指令就行,從8開始到1,先搜索到第一個NG的位置,再搜索NG后第一個OK品,第一個NG減第一個OK位置,就是需要移動的位置。
比如M305和M304、302為異常,那么第一次搜索到NG位置位6,第一次OK位置位4,那么6-4=2(移動距離),第一次釋放的產(chǎn)品為M300+4=M304到M307,釋放4個抓具,然后移動2個位置。
第二次循環(huán)從4-1開始,第二次搜索到NG位置為3,OK位置位2,移動距離位3-2=1,再次釋放復(fù)位M300+2=M302到M307,第二次移動一個位置。
下次問問題還是描述清楚,不是你明白別人也明白。