攻城獅老王
工控人一名,歡迎騷擾。
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 218 個(gè)
工控威望: 246 點(diǎn)
下載積分: 1601 分
在線時(shí)間: 63(小時(shí))
注冊時(shí)間: 2022-03-22
最后登錄: 2024-11-02
查看攻城獅老王的 主題 / 回貼
樓主  發(fā)表于: 64天前
一條全封閉的產(chǎn)線有22個(gè)工裝位置,前面只有一個(gè)掃碼器,現(xiàn)在需要對其中7個(gè)工位的檢測數(shù)據(jù)與二維碼關(guān)聯(lián)并保存,并在最后一個(gè)工位區(qū)顯示出OKNG進(jìn)行分檢,同時(shí)將檢測結(jié)果提交給上位機(jī)。
想請教的是數(shù)據(jù)傳遞這方面有沒有好的實(shí)現(xiàn)思路。
三菱R系列的CPU。
gxtmdb82164
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 746 個(gè)
工控威望: 1124 點(diǎn)
下載積分: 351 分
在線時(shí)間: 586(小時(shí))
注冊時(shí)間: 2019-09-22
最后登錄: 2024-11-07
查看gxtmdb82164的 主題 / 回貼
1樓  發(fā)表于: 63天前
我以前做這種項(xiàng)目都是用上位機(jī)來做調(diào)度的,好處是可用用配置文件或者設(shè)置界面的方式動態(tài)調(diào)整各種調(diào)度條件和需要收集的數(shù)據(jù)點(diǎn)。不過上位機(jī)調(diào)度需要通信時(shí)間開銷,做的不好的話會有明顯的等待時(shí)間,這方面需要一定的實(shí)戰(zhàn)經(jīng)驗(yàn)和技巧。
只靠PLC解決,主要還是把思路梳理清楚以后把調(diào)度算法抽象出來,并建立數(shù)據(jù)結(jié)構(gòu)來支撐這個(gè)調(diào)度算法,包括輸入的,輸出的和中間變量都放到數(shù)據(jù)結(jié)構(gòu)中去。最終效果就是所謂的面向?qū)ο,只要把這個(gè)對象定義清楚了,就不是什么大問題。
這里隨便舉個(gè)例子:



PLC的調(diào)度邏輯實(shí)際上非常簡單,你這里后面沒有掃描了,默認(rèn)產(chǎn)品都是順序流動的。用上面的數(shù)據(jù)解構(gòu)建立一個(gè)先進(jìn)先出的FIFO,首站上線push一個(gè)元素到FIFO中,開始往后流轉(zhuǎn),每個(gè)站觸發(fā)以后在FIFO進(jìn)行搜索,把FIFO中當(dāng)前站號=當(dāng)前站的上一站的的那個(gè)數(shù)據(jù)結(jié)構(gòu)中的當(dāng)前站編號字段改成本站的編號,并在加工結(jié)束后給所有站狀態(tài)這個(gè)字段中代表本站的位寫入結(jié)果,比如合格寫1不合格寫0;如果當(dāng)前站 有檢測結(jié)果要記錄,那么寫入對應(yīng)的過程參數(shù)n,因?yàn)槭侨值,所以把一個(gè)產(chǎn)品所有可能用到的參數(shù)都列出來。當(dāng)一個(gè)產(chǎn)品依次走完所有的站后,在最后一個(gè)站檢查所有站結(jié)果是不是都為1,是就報(bào)OK,不是就報(bào)NG。處理完成后(如果NG品要隔離的話),在FIFO中刪除這個(gè)元素。
這個(gè)只是一種簡單的搞法,實(shí)際項(xiàng)目會更復(fù)雜,比如說所有結(jié)果這個(gè)字段很多時(shí)候只用bool類型是不行的,即不止有好和不好,還要更細(xì)化的分類,這個(gè)時(shí)候就變通一下就行了。
你這里最大的問題是后面沒有掃碼了,整個(gè)產(chǎn)線搞成了類似多工位轉(zhuǎn)盤那種思路,這就要求中間絕對不能亂,一亂了就數(shù)據(jù)和實(shí)物就對不上了,但是好處就是其實(shí)可以更簡單,比如上面的FIFO,你可以不用,甚至把產(chǎn)品數(shù)據(jù)結(jié)構(gòu)的地址定死都行,因?yàn)槟愕恼{(diào)度和工藝是嚴(yán)格綁定的,就長這個(gè)樣子了。我們以前會在每個(gè)站都裝掃碼,可以在工位間隨意加buffer,瓶頸工位也可以加雙工位,都很簡單,因?yàn)榘压に嚭驼{(diào)度解耦開了以后,就可以非常自由的進(jìn)行調(diào)度了。
本帖最近評分記錄:
  • 下載積分:+1(攻城獅老王) 真誠感謝!
  • 下載積分:+1(菜鳥學(xué)工控_1) 好貼好貼!,大神來了