chengyi0406
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 6 個
工控威望: 95 點
下載積分: 599 分
在線時間: 31(小時)
注冊時間: 2016-05-16
最后登錄: 2017-05-27
查看chengyi0406的 主題 / 回貼
樓主  發(fā)表于: 2017-03-18 15:14


AB間輸送帶電機裝有一只編碼器,X0處有一光電開關(guān),想達到的效果就是記錄每個工件的位置,工件數(shù)量最多為60個,哪位大俠指點下思路。
逆水行舟
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 141 個
工控威望: 256 點
下載積分: 670 分
在線時間: 139(小時)
注冊時間: 2010-11-28
最后登錄: 2024-12-20
查看逆水行舟的 主題 / 回貼
1樓  發(fā)表于: 2017-03-20 10:05
引用
引用第2樓cvlsam于2017-03-20 08:44發(fā)表的  :
先入先出,這不就是一個含有60個元素的隊列結(jié)構(gòu)么 手冊上FIFO指令可以看看,沒有的用2個Z寄存器作為指針也很好構(gòu)建隊列結(jié)構(gòu)。

大俠FIFO指令是S200的喲三菱的應(yīng)該是SFRD指令
逆水行舟
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 141 個
工控威望: 256 點
下載積分: 670 分
在線時間: 139(小時)
注冊時間: 2010-11-28
最后登錄: 2024-12-20
查看逆水行舟的 主題 / 回貼
2樓  發(fā)表于: 2017-03-24 08:25
引用
引用第9樓dgamen于2017-03-20 13:16發(fā)表的  :
現(xiàn)在遇到的問題就是第一個值D0能讀出來,第二個D1讀出來后,D0就不再變化。我想要的效果是D0一致計數(shù)直到清零,有什么好辦法嗎?
你的意思是要D0一直都在記錄當(dāng)前值嗎,直到記錄D0值的那個產(chǎn)品到達B點為止。     是這樣嗎?

進入的時候記錄A初始值,用編碼器當(dāng)前值減去初始值不就是,不就是過程的值嗎?
?
逆水行舟
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 141 個
工控威望: 256 點
下載積分: 670 分
在線時間: 139(小時)
注冊時間: 2010-11-28
最后登錄: 2024-12-20
查看逆水行舟的 主題 / 回貼
3樓  發(fā)表于: 2017-03-24 08:56
引用
引用第10樓chengyi0406于2017-03-20 13:37發(fā)表的  :
是的,就是這個意思,比如說第一個工件到B點,它的位置D0清零,此時傳送帶上有 50個工件,那么第51個到X0后位置再次為D0,一致循環(huán)

比較簡單方法,構(gòu)建一個隊列,使用先進先出方便指令,D0清零后,應(yīng)該把D1數(shù)據(jù)移送到D0依次類推,51個放到50數(shù)據(jù)類。按照你上面說的,當(dāng)出現(xiàn)D0,D1數(shù)據(jù)清空后,再進入3個鏟品,且沒有產(chǎn)品出時,前兩個分別進入D1,D2,第3個將進入D51,哪你出隊列程序?qū)⒈容^復(fù)雜,以你問這個問題推斷,如果你沒有很好計算機語言基礎(chǔ),會花很長時間。
逆水行舟
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 141 個
工控威望: 256 點
下載積分: 670 分
在線時間: 139(小時)
注冊時間: 2010-11-28
最后登錄: 2024-12-20
查看逆水行舟的 主題 / 回貼
4樓  發(fā)表于: 2017-03-24 13:40
圖片:
圖片:
圖片:
如果你不要方便指令的話,也可以自己構(gòu)建一個隊列,抽時間寫了個簡單隊列建構(gòu),你可以參考下。該程序沒有經(jīng)過仿真測試