是我冒飯了
叮又叮不懂,斜又斜不廢。
級(jí)別: 家園常客
![]() |
圖片:
![]() 圖片有點(diǎn)潦草 ![]() 大致需求是有10個(gè)罐體先后加工材料,材料加工完之后由中間的機(jī)器人抓取成品和供給未加工的產(chǎn)品。但是有一個(gè)優(yōu)先級(jí)的關(guān)系,假設(shè)機(jī)器人現(xiàn)在在抓取3號(hào)罐里的東西,這個(gè)時(shí)候5號(hào)罐先完成了,然后8號(hào)罐也完成了。我需要按照他們完成的先后順序來進(jìn)行抓料和供給。 目前程序的思路是有的,我按照完成的順序分別把罐的編號(hào)傳到D1-D10里,先判斷D1-D10內(nèi)誰(shuí)的數(shù)據(jù)不為0,再判斷對(duì)應(yīng)數(shù)據(jù)內(nèi)的數(shù)值為多少,讓機(jī)器人去對(duì)應(yīng)的罐子抓料。 列如D1=3;D2=5;D3=8;當(dāng)3號(hào)罐抓料完成之后,把D1置0,然后再判斷D2不為0 ,讀取D2里的值為5,就去5號(hào)罐抓料。 可是這如果用梯形圖來寫太長(zhǎng)了,想用ST去做一些判斷,不知道用哪個(gè)指令,本來想用FOR來判斷哪個(gè)D里面有數(shù)值不為零,但是只能比較一個(gè)D1,怎么實(shí)現(xiàn)D1=0之后判斷條件變成D2是不是等于0? ![]() |
---|---|
|
wwr1992
級(jí)別: 略有小成
![]() |
你這個(gè)優(yōu)先級(jí)不就是先入先出表格,幾號(hào)完成就把這個(gè)編號(hào)填入表格里,你要?jiǎng)幼鞯臅r(shí)候判斷表格第一個(gè)編號(hào)是多少就去幾號(hào),同步出一個(gè)表格,這樣每次你機(jī)器人動(dòng)作完表格第一個(gè)編號(hào)就是最先完成的順序 |
---|---|
|
是我冒飯了
叮又叮不懂,斜又斜不廢。
級(jí)別: 家園常客
![]() |
順序不是固定的,比如第一次可能是 1.2.3.4.5.6.7.8.9.10的順序, 然后中途4號(hào)罐發(fā)生故障暫時(shí)不能工作就要跳過4號(hào)罐,假設(shè)機(jī)器人抓取8號(hào)罐的時(shí)候,4號(hào)罐恢復(fù)了。4號(hào)罐就要接在8號(hào)罐后面,所以順序是會(huì)發(fā)生變化的,不是第一次是什么順序就固定是什么順序。這樣的話,每次有一個(gè)罐體故障和恢復(fù),表格順序都要導(dǎo)入一次,也挺麻煩的。我還是希望能夠簡(jiǎn)化一點(diǎn)程序,所以我想試試能不能用一些ST讓程序變得簡(jiǎn)短一點(diǎn)。感謝您的回答
|
---|---|
|
不動(dòng)如山
級(jí)別: 正式會(huì)員
![]() |
類似出入棧的功能,完成的任務(wù)往后添加到數(shù)組,你調(diào)取任務(wù)的時(shí)候從開頭拿(出棧),拿完了把數(shù)組上移,你要去的點(diǎn)位 一直是D1里面取出來的 |
---|---|
|
wwr1992
級(jí)別: 略有小成
![]() |
這個(gè)功能同樣能實(shí)現(xiàn)啊,不過對(duì)表格處理會(huì)麻煩一點(diǎn),填表的時(shí)候還是按先后順序一個(gè)個(gè)填表,出表的時(shí)候你從第一個(gè)表格開始輪詢到最后一個(gè),查詢編號(hào)和能否工作這兩個(gè)信號(hào),一直到第一個(gè)無故障的編號(hào)就去幾號(hào),前面幾個(gè)有故障的表格里保持不動(dòng),把你機(jī)器人去的那個(gè)表格剔除,每完成一次都從第一個(gè)表格開始,這樣你4號(hào)故障時(shí)就會(huì)一直待在表格第一位置,一直到故障恢復(fù)了4號(hào)就是第一順位
|
---|---|
|
是我冒飯了
叮又叮不懂,斜又斜不廢。
級(jí)別: 家園常客
![]() |
奧,感謝,剛才沒有想到把數(shù)據(jù)移位,這樣確實(shí)能簡(jiǎn)單一些。 ![]()
|
---|---|
|
是我冒飯了
叮又叮不懂,斜又斜不廢。
級(jí)別: 家園常客
![]() |
嗯,這樣確實(shí)可以解決,但是對(duì)我來說有些復(fù)雜了 ![]()
|
---|---|
|
夢(mèng)雨天涯
微信hui530527 &
級(jí)別: 網(wǎng)絡(luò)英雄
![]() |
找到先入先出指令,就行 |
|
---|---|---|
|
是我冒飯了
叮又叮不懂,斜又斜不廢。
級(jí)別: 家園常客
![]() |
不知道歐姆龍有沒有這個(gè)指令,感謝 ![]()
|
---|---|
|
w45062099
多做事,少說話!
級(jí)別: 略有小成
![]() |
![]() ![]() 樓主留言:暫時(shí)不需要,只是自學(xué)階段,謝謝 |
|
---|---|---|
|
zhongwen1234
級(jí)別: 探索解密
![]() |
你這需要三個(gè)隊(duì)列。待料隊(duì)列,完成隊(duì)列,異常隊(duì)列。隊(duì)列順序按時(shí)間排也行,追求效率按照動(dòng)作速度排也行,機(jī)械手按照隊(duì)列動(dòng)作就可以。 工藝思路理清楚,用哪種編程其實(shí)都不復(fù)雜 |
---|---|
|
是我冒飯了
叮又叮不懂,斜又斜不廢。
級(jí)別: 家園常客
![]() |
感謝解答,各位大佬提供了不少方法,我嘗試了一下先入先出基本上能滿足目前的需求。我盡量每一種都去嘗試一下。感謝 ![]()
|
---|---|
|