nlb2001
級(jí)別: 略有小成
|
各位大俠: 本人要做一個(gè)程序:有11個(gè)空位,有一個(gè)運(yùn)搬車隨機(jī)向著11個(gè)空位中放工件。只要這11個(gè)空位中沒(méi)有工件的位置就可以隨機(jī)放置工件,一次放一個(gè)。 我想的是空位中有工件就是0,在0~11空位中中(最大)隨便找一個(gè)不是0的位置放工件,得用什么指令啊?? 先隨機(jī)選一個(gè)位置,在和0比較,是0的話就再重復(fù)隨機(jī)選擇,再和0比較,不是0的話就選擇這個(gè)。 0~11的范圍怎么定,得用子程序嗎 腦汁絞盡求幫助啊!!!!! |
---|---|
|
nlb2001
級(jí)別: 略有小成
|
比較的話每次都從第一個(gè)開(kāi)始比,那么后面的就沒(méi)有機(jī)會(huì)放工件了啊 |
---|---|
|
njaolian
新年快樂(lè),恭祝大家出門(mén)撿錢(qián)包。凡是撿到錢(qián)包的,分我一半,哈哈
級(jí)別: VIP會(huì)員
|
我說(shuō)個(gè)我的思路,計(jì)數(shù)器利用刷新時(shí)間不停加,到11清零再?gòu)?開(kāi)始繼續(xù)加,如果需要取料送的時(shí)候,先把0-11的值定下來(lái),進(jìn)行比較,看看現(xiàn)在取得的數(shù)字滿不滿足可以搬運(yùn)產(chǎn)品放,如果不滿足,加1再判斷,再不滿足,再加1(滿11從0開(kāi)始加1),這樣可以做到理論上的隨機(jī)送料,我的思路,僅供參考 |
---|---|
|
nlb2001
級(jí)別: 略有小成
|
大哥給稍微詳細(xì)點(diǎn)說(shuō)說(shuō)唄,小弟初學(xué)沒(méi)能理解 |
---|---|
|
john42tw
級(jí)別: 網(wǎng)絡(luò)英雄
|
基本上工控的設(shè)計(jì)都要有一個(gè)規(guī)則,極少會(huì)用到隨機(jī)。 否則會(huì)造成極大的困擾。 至於你的問(wèn)題: 1.由工位1 開(kāi)始比較,遇 0 放置。 2.依順序向後比較,遇 0 放置。 3.以時(shí)間秒,個(gè)位數(shù)比較,遇 0 放置。 4.以亂數(shù)比較,遇 0 放置。 |
---|---|
|
fan1990
級(jí)別: 探索解密
|
沒(méi)有說(shuō)隨機(jī)的,放料一定得定義一個(gè)規(guī)則,從1到11去詢問(wèn),輪詢 誰(shuí)滿足條件,就去誰(shuí)那里放,1不滿足,就去詢問(wèn)2,以此類推 |
---|---|
|
94072890
級(jí)別: 略有小成
|
為什么偏要隨機(jī)呢,你可以設(shè)定一個(gè)順序,像樓上那種說(shuō)話可以 |
---|---|
|
nlb2001
級(jí)別: 略有小成
|
我也想了幾天了,查遍互聯(lián)網(wǎng)!! 我是這樣做的,PLC好像沒(méi)有真正的 隨機(jī)數(shù)。 所以我利用時(shí)間,每次觸發(fā)信號(hào)肯定不會(huì)一樣,所以利用用觸發(fā)時(shí)間的秒數(shù)除以6,基本上可以等到10個(gè)結(jié)果,這樣基本上可以做到隨機(jī)放置工件了。 不過(guò)還有一個(gè)問(wèn)題,就是如果放工件的位置為滿工件,就不能放了還得重新選擇,是不是得用到子程序的調(diào)用什么的啊,又是一個(gè)新的問(wèn)題………………………… |
---|---|
|