工控肥仔
工控肥仔
級(jí)別: 網(wǎng)絡(luò)英雄
|
圖片:
各位大師幫我想想,從CCD過(guò)來(lái)給出一組數(shù)據(jù),M300----M307,一共八個(gè)產(chǎn)品, 假如:M300 ----M307為一組數(shù)據(jù), 1,如果全部置ON就是良品,可以一次全部擺放過(guò)去 2,如果產(chǎn)品中間有不良品出現(xiàn),丟掉不良品后再去擺盤,此時(shí)有空缺位, 假如M307,M306為良品,M305為不良品,M304后面全是良品, 這時(shí)就需要先放M307 M306,在往前 前進(jìn)一位,在一次放下其他產(chǎn)品 整個(gè)擺放流程最多不能超過(guò)四次,就是說(shuō)有幾個(gè)良品先放幾個(gè),空缺位一次往前補(bǔ),知道有良品為止 大家?guī)臀蚁脒@種程序怎么寫方便些 產(chǎn)品用三軸擺盤,下面是手工畫(huà)的平面圖 |
---|---|
|
sjbandmm
級(jí)別: 略有小成
|
這個(gè)算法要根據(jù)你的機(jī)械機(jī)構(gòu)來(lái)設(shè)計(jì)的,你沒(méi)說(shuō)清楚,怎么剔除NG產(chǎn)品,是抓取后先剔除NG,你都沒(méi)說(shuō),我只能跟據(jù)你說(shuō)的來(lái)猜了,看你的要求是:8個(gè)產(chǎn)品中,無(wú)論哪幾個(gè)產(chǎn)品有問(wèn)題,在碼盤的時(shí)候要緊密擺放,剔除NG產(chǎn)品的空位。 看你的算法要求一次性抓取所有的產(chǎn)品,然后將最后的幾個(gè)連續(xù)的OK品放下后,再移動(dòng)前面未放下的產(chǎn)品的,消除空位。 如果是這樣的話:使用for-next指令就行,從8開(kāi)始到1,先搜索到第一個(gè)NG的位置,再搜索NG后第一個(gè)OK品,第一個(gè)NG減第一個(gè)OK位置,就是需要移動(dòng)的位置。 比如M305和M304、302為異常,那么第一次搜索到NG位置位6,第一次OK位置位4,那么6-4=2(移動(dòng)距離),第一次釋放的產(chǎn)品為M300+4=M304到M307,釋放4個(gè)抓具,然后移動(dòng)2個(gè)位置。 第二次循環(huán)從4-1開(kāi)始,第二次搜索到NG位置為3,OK位置位2,移動(dòng)距離位3-2=1,再次釋放復(fù)位M300+2=M302到M307,第二次移動(dòng)一個(gè)位置。 下次問(wèn)問(wèn)題還是描述清楚,不是你明白別人也明白。 |
---|---|
|