攻城獅老王
工控人一名,歡迎騷擾。
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 218 個
工控威望: 247 點
下載積分: 1603 分
在線時間: 64(小時)
注冊時間: 2022-03-22
最后登錄: 2024-12-24
查看攻城獅老王的 主題 / 回貼
樓主  發(fā)表于: 2024-09-05 22:01
一條全封閉的產(chǎn)線有22個工裝位置,前面只有一個掃碼器,現(xiàn)在需要對其中7個工位的檢測數(shù)據(jù)與二維碼關(guān)聯(lián)并保存,并在最后一個工位區(qū)顯示出OKNG進行分檢,同時將檢測結(jié)果提交給上位機。
想請教的是數(shù)據(jù)傳遞這方面有沒有好的實現(xiàn)思路。
三菱R系列的CPU。
cyh1986
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 370 個
工控威望: 744 點
下載積分: 737 分
在線時間: 302(小時)
注冊時間: 2009-04-28
最后登錄: 2024-12-17
查看cyh1986的 主題 / 回貼
1樓  發(fā)表于: 2024-09-05 22:22
定義一個數(shù)組,22個工位就22個元素,每個數(shù)組元素定一個一個結(jié)構(gòu)體元素,可以吧二維碼元素、OKNG等保存,
如果用西門子博圖,這個就不是很難。
快樂小學(xué)生
好好學(xué)習(xí),天天向上
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 328 個
工控威望: 632 點
下載積分: 1677 分
在線時間: 147(小時)
注冊時間: 2023-09-21
最后登錄: 2024-12-24
查看快樂小學(xué)生的 主題 / 回貼
2樓  發(fā)表于: 2024-09-06 09:24
引用
引用樓主攻城獅老王于2024-09-05 22:01發(fā)表的 請教一個關(guān)于數(shù)據(jù)傳遞的思路 :
一條全封閉的產(chǎn)線有22個工裝位置,前面只有一個掃碼器,現(xiàn)在需要對其中7個工位的檢測數(shù)據(jù)與二維碼關(guān)聯(lián)并保存,并在最后一個工位區(qū)顯示出OKNG進行分檢,同時將檢測結(jié)果提交給上位機。
想請教的是數(shù)據(jù)傳遞這方面有沒有好的實現(xiàn)思路。
三菱R系列的CPU。

這個簡單吧,舉個例子:22個工位,你每個工位都使用100個字來存儲數(shù)據(jù)(看實際需求來決定地址數(shù)量),最前面上料掃碼后將數(shù)據(jù)存儲到前10位,裝置1產(chǎn)品傳輸?shù)窖b置2的時候,你把100個字傳輸給裝置2,裝置2做了什么工藝你再存到這100個字里面(除掃碼數(shù)據(jù)的字外),一直往后傳就可以了。到了最后工位的時候,你再把這100個字拿出看,去看下這片產(chǎn)品在每個裝置都做了什么,是什么結(jié)果,然后做你需要的處理。  三菱(裝置1到裝置2-BMOV D100 D200 K100,裝置2到裝置3-BMOV D200 D300 K100,裝置3到裝置4-BMOV D300 D400 K100......,裝置22-D2211=1是什么,D2212=1代表什么........)
[ 此帖被快樂小學(xué)生在2024-09-06 09:30重新編輯 ]
愛在日落之后
所有的偉大,源于一個勇敢的開始
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 661 個
工控威望: 703 點
下載積分: 3439 分
在線時間: 140(小時)
注冊時間: 2022-07-25
最后登錄: 2024-12-12
查看愛在日落之后的 主題 / 回貼
3樓  發(fā)表于: 2024-09-06 09:28
你是指程序指令解決還是硬件思路,我之前遇到過你說的這樣的設(shè)備,最后 買了RFID,每個工站配一個,來料信息寫入,最后一個工站全部讀出來,顯示在觸摸屏并且上傳MES。如果機臺設(shè)計類似轉(zhuǎn)盤或者工站傳遞有序,就移位指令甩起來就是。
zq123666
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 505 個
工控威望: 2168 點
下載積分: 23317 分
在線時間: 1092(小時)
注冊時間: 2021-03-24
最后登錄: 2024-12-25
查看zq123666的 主題 / 回貼
4樓  發(fā)表于: 2024-09-06 09:49
圖片:
圖片:
我想到的還是用位移指令把二維碼數(shù)據(jù)做位移,根據(jù)二維碼數(shù)據(jù)長度分配所需字?jǐn)?shù),然后一個字用來存檢測結(jié)果,這兩組數(shù)據(jù)所占字?jǐn)?shù)相加就是每個工位需要的字?jǐn)?shù),就是圖中指令中的N2,再乘以22工位,就是圖中指令中的N1。
gxtmdb82164
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 771 個
工控威望: 1149 點
下載積分: 401 分
在線時間: 605(小時)
注冊時間: 2019-09-22
最后登錄: 2024-12-25
查看gxtmdb82164的 主題 / 回貼
5樓  發(fā)表于: 2024-09-06 09:59
我以前做這種項目都是用上位機來做調(diào)度的,好處是可用用配置文件或者設(shè)置界面的方式動態(tài)調(diào)整各種調(diào)度條件和需要收集的數(shù)據(jù)點。不過上位機調(diào)度需要通信時間開銷,做的不好的話會有明顯的等待時間,這方面需要一定的實戰(zhàn)經(jīng)驗和技巧。
只靠PLC解決,主要還是把思路梳理清楚以后把調(diào)度算法抽象出來,并建立數(shù)據(jù)結(jié)構(gòu)來支撐這個調(diào)度算法,包括輸入的,輸出的和中間變量都放到數(shù)據(jù)結(jié)構(gòu)中去。最終效果就是所謂的面向?qū)ο螅灰堰@個對象定義清楚了,就不是什么大問題。
這里隨便舉個例子:



PLC的調(diào)度邏輯實際上非常簡單,你這里后面沒有掃描了,默認(rèn)產(chǎn)品都是順序流動的。用上面的數(shù)據(jù)解構(gòu)建立一個先進先出的FIFO,首站上線push一個元素到FIFO中,開始往后流轉(zhuǎn),每個站觸發(fā)以后在FIFO進行搜索,把FIFO中當(dāng)前站號=當(dāng)前站的上一站的的那個數(shù)據(jù)結(jié)構(gòu)中的當(dāng)前站編號字段改成本站的編號,并在加工結(jié)束后給所有站狀態(tài)這個字段中代表本站的位寫入結(jié)果,比如合格寫1不合格寫0;如果當(dāng)前站 有檢測結(jié)果要記錄,那么寫入對應(yīng)的過程參數(shù)n,因為是全局的,所以把一個產(chǎn)品所有可能用到的參數(shù)都列出來。當(dāng)一個產(chǎn)品依次走完所有的站后,在最后一個站檢查所有站結(jié)果是不是都為1,是就報OK,不是就報NG。處理完成后(如果NG品要隔離的話),在FIFO中刪除這個元素。
這個只是一種簡單的搞法,實際項目會更復(fù)雜,比如說所有結(jié)果這個字段很多時候只用bool類型是不行的,即不止有好和不好,還要更細(xì)化的分類,這個時候就變通一下就行了。
你這里最大的問題是后面沒有掃碼了,整個產(chǎn)線搞成了類似多工位轉(zhuǎn)盤那種思路,這就要求中間絕對不能亂,一亂了就數(shù)據(jù)和實物就對不上了,但是好處就是其實可以更簡單,比如上面的FIFO,你可以不用,甚至把產(chǎn)品數(shù)據(jù)結(jié)構(gòu)的地址定死都行,因為你的調(diào)度和工藝是嚴(yán)格綁定的,就長這個樣子了。我們以前會在每個站都裝掃碼,可以在工位間隨意加buffer,瓶頸工位也可以加雙工位,都很簡單,因為把工藝和調(diào)度解耦開了以后,就可以非常自由的進行調(diào)度了。
本帖最近評分記錄:
  • 下載積分:+1(攻城獅老王) 真誠感謝!
  • 下載積分:+1(菜鳥學(xué)工控_1) 好貼好貼!,大神來了
    小八哥
    電話15394301768 QQ815360919 慈溪余姚
    級別: 工控俠客
    精華主題: 0
    發(fā)帖數(shù)量: 582 個
    工控威望: 2138 點
    下載積分: 2239 分
    在線時間: 717(小時)
    注冊時間: 2016-02-18
    最后登錄: 2024-12-20
    查看小八哥的 主題 / 回貼
    6樓  發(fā)表于: 2024-09-06 12:33
    一點難度都木有   做好 數(shù)據(jù)移位就OK
    超那個超啊超
    QQ&VX:449285600  
    級別: 探索解密
    精華主題: 0
    發(fā)帖數(shù)量: 128 個
    工控威望: 183 點
    下載積分: 897 分
    在線時間: 91(小時)
    注冊時間: 2020-03-10
    最后登錄: 2024-12-12
    查看超那個超啊超的 主題 / 回貼
    7樓  發(fā)表于: 2024-09-06 15:18
    基本跟樓上的思路差不多,可以定義一個數(shù)組此數(shù)組,比如為Data(0...21),數(shù)組的類型為一個結(jié)構(gòu)體,把結(jié)構(gòu)體里的數(shù)據(jù)類型定義成你想要的,然后每轉(zhuǎn)動一次工位就執(zhí)行,       Data[21] :=  Data[20];  Data[20] :=  Data[19];.......Data[1] :=  Data[0];  Data[0]:=DataClean;
    夢雨天涯
    微信hui530527   &
    級別: 網(wǎng)絡(luò)英雄
    精華主題: 0
    發(fā)帖數(shù)量: 4339 個
    工控威望: 7716 點
    下載積分: 15394 分
    在線時間: 2967(小時)
    注冊時間: 2016-10-31
    最后登錄: 2024-12-25
    查看夢雨天涯的 主題 / 回貼
    8樓  發(fā)表于: 2024-09-06 23:00
    圖片:
    微信hui530527      b站賬號,非標(biāo)自動化譚工
    請不要隨意加我,不會隨便通過。QQ群942493953
    無言0123
    級別: 正式會員
    精華主題: 0
    發(fā)帖數(shù)量: 50 個
    工控威望: 81 點
    下載積分: 76 分
    在線時間: 42(小時)
    注冊時間: 2024-08-21
    最后登錄: 2024-09-13
    查看無言0123的 主題 / 回貼
    9樓  發(fā)表于: 2024-09-09 18:13
    用ST來寫,沒啥難度的。
    一個工位一個工位填數(shù)據(jù),然后往后傳。注意接收時別搞混就行
    twtynijj
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 142 個
    工控威望: 254 點
    下載積分: 413 分
    在線時間: 186(小時)
    注冊時間: 2013-04-19
    最后登錄: 2024-12-25
    查看twtynijj的 主題 / 回貼
    10樓  發(fā)表于: 2024-09-10 09:17
    如果工件在工位移動過程中 不會被人為的拿走 一定會按順續(xù)走到最后一個工位 ,哪么用移位就可以解決
    攻城獅老王
    工控人一名,歡迎騷擾。
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 218 個
    工控威望: 247 點
    下載積分: 1603 分
    在線時間: 64(小時)
    注冊時間: 2022-03-22
    最后登錄: 2024-12-24
    查看攻城獅老王的 主題 / 回貼
    11樓  發(fā)表于: 2024-09-10 11:32
    不管是數(shù)組還是寫D字,實現(xiàn)沒有什么難度,就是寫了好多bmov。突然想問問大神們省事的辦法