《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于I/O Server的噴印自動化監控系統的設計與實現
基于I/O Server的噴印自動化監控系統的設計與實現
摘要: 在大型的企業中,對生產的產品進行一定的噴碼標識是必不可少的。在一些企業中主要采用人工噴碼的方式,隨著噴碼機的應用,噴碼的效果大大提高。但大多數仍然是人通過每次對噴印機的設定來實現噴碼變更的,這樣做對小批量的產品來說比較實用,但是如果對大批量的產品而言就不能勝任了。本文提出通過對企業產品條碼的自動掃描,獲取條碼中包含的需要噴印的參數,然后通過pc監控機實現對產品的自動噴印控制功能。
Abstract:
Key words :

1  引言
      在大型的企業中,對生產的產品進行一定的噴碼標識是必不可少的。在一些企業中主要采用人工噴碼的方式,隨著噴碼機的應用,噴碼的效果大大提高。但大多數仍然是人通過每次對噴印機的設定來實現噴碼變更的,這樣做對小批量的產品來說比較實用,但是如果對大批量的產品而言就不能勝任了。本文提出通過對企業產品條碼的自動掃描,獲取條碼中包含的需要噴印的參數,然后通過pc監控機實現對產品的自動噴印控制功能。

 

2  系統的需求分析
      某企業目前有正在運行的erp系統,卷紙傳輸線路中的硬件設備已經安裝完畢,監控系統建設主要實現對生產的卷紙自動噴印的監控功能;并要求與原來的erp系統進行緊密的集成,由于現場可能出現故障,需要實現手動調節和自動運行功能,對實施噴印和掃描的設備進行有效的控制。

3  系統建設的總體規劃
      通過對卷紙輸送線路的需求分析,可以采用如圖1所示的架構圖實現對整個輸送線和噴印的控制。
 


圖1  噴印自動化監控系統架構圖
      為滿足系統的正常自動運行,需要滿足以下條件:
    (1) 入庫噴印的卷紙必須是已經在生產線上經過備案的(企業的erp系統有記錄);
    (2) 卷紙上貼有與該卷紙相關的條形碼;
    (3) 企業erp系統的相關記錄已經傳送到監控電腦的數據庫中。
      隨著整個輸送線路的連續運作,卷紙傳送到噴印現場,首先,位于噴印設備前部的條碼掃描儀掃描該卷紙的條形碼,根據得到的條形碼中的信息,監控電腦分析出該卷紙中的重量、制造編號、類別編號等信息;然后監控電腦根據制造編號在數據庫中查詢是否有該記錄,如果有,從數據庫中提取與該卷紙有關的需要噴印的信息,并將該信息發送給噴印機控制器,然后plc發送1個噴印信號,由噴頭實施噴印。
      關于網絡線路的選擇方面,由于車間級服務器離監控現場比較遠,所以采用光纖連接方式,在監控機房再通過雙絞線連接監控pc和光纖收發器。至于微機與plc、噴印控制器以及條碼掃描儀,考慮到plc、噴印控制器以及條碼掃描儀的rs232通訊接口,主要采用了一個rs232 4口的擴展卡來實現通訊。
      在整個自動化輸送線路中,關于如何檢測卷紙的位置以便來控制噴印之間的協調工作,主要采用的是紅外位置檢測裝置,當某個卷紙的末端進入噴印設備之后,檢測裝置將該信息發送給plc,以控制噴印設備中的輸送帶的動作,并控制噴槍的位置以便實施噴印。當然,每個輸送帶的連接處都有該檢測裝置,便于各條輸送帶之間的協調。
      在噴印系統中,采用了瑪仕ml8大字符墨水噴碼系統 marsh lcp/ml8,該系統適合包裝流水線在線的紙箱噴印,提供良好的大字符墨水噴碼技術,滿足客戶所有的標識要求。尤其是適合在惡劣環境下多行打印標識的要求,ml8大字符墨水噴碼系統可噴印多至8行的字符、徽標等信息,清晰易分辨。適合在嚴酷的生產環境下提供流暢的產品噴碼。該噴印系統配有打印頭、墨水系統 、光電眼、輸入裝置、數據行數打印以及支架和附件。其中打印頭提供多至 8行的打印,而且可打印雙重字符和空框的特殊字符,打印高度可從7.9mm(0.312英寸)7x5點陣至203.2mm(8英寸)7x5點陣,噴印速度可以達到每分鐘噴印6.1-100m;其墨水系統采用非接觸的墨水噴印技術,清潔、易分辨,適合在凸凹不平的材質表面上進行標識。
      在該系統的構建中,plc發揮著重要的控制作用。plc與監控pc的通訊,主要是上傳監控信息以及接受pc的控制信息;對輸送線的協調控制,主要是通過紅外位置檢測裝置輸入的位置信息來實現的;plc與電子秤的連接,主要是接受電子秤的重量信息;plc與噴印控制器的連接主要是發送開始噴印的控制信號。本系統采用的是日本三菱plc。

 

4  系統的軟件設計與實現
4.1 總體流程圖
      通過對現場的總體分析,以及客戶對系統流程的要求,系統設計的總體流程如圖2所示。
 


圖2   系統總體流程圖
4.2 軟件開發工具選擇
      在系統的軟件開發部分,由于系統中要涉及到數據在數據庫中的存儲等功能,本系統實現采用微軟的sql server 2000作為本地的數據庫系統;visual basic 6.0作為應用程序開發平臺。由于wonderware i/o server軟件產品通過簡單的配置就能夠實現與 plc的通訊,這樣屏蔽了與plc通信中的各種細節,而且便于系統的向上集成和節約成本,所以本系統在與plc通訊中采用了 wonderware i/o server來實現。
4.3 監控界面的設計
      根據生產線監控界面的設計原則:
    (1) 直觀地反映現場系統和設備的運行狀態;
    (2) 既可以滿足系統整體運行的聯動控制和對單體設備的單獨控制,又允許現場單動控制;設計了如圖3所示的監控界面。其中“l”形表示該系統中的輸送線的邏輯位置關系;位于圖形中部的控制按鈕是單獨對某條輸送線進行控制的;位于右下角部分表示踢出輸送線的控制按鈕,主要完成對噴印后的卷紙踢出生產線的控制;位于右上方部分是系

圖3    監控界面效果圖 
      統自動和系統手動切換開關,系統自動狀態主要是反映plc控制的整個生產聯動狀況,在該狀態下不能單獨調節,只有在切換到手動狀態以后,可以實現對某個控制設備的單獨控制。
      在系統手動狀態中,對某個控制設備的單獨控制按鈕的軟件實現,采用“1”、“2”、“4”3個狀態分別表示“停止”、“前進”、“后退”。以下是以m5為例的詳細實現代碼:
private sub ccm5_click()
  tagman.d370.text="4"
  tagman.d370.linkpoke
end sub
private sub sm5_click()
  tagman.d370.text="1"
  tagman.d370.linkpoke
end sub
private sub cm5_click()
  tagman.d370.text="2"
  tagman.d370.linkpoke
end sub
其中cm5、sm5以及ccm5分別是實現“前進”、“停止”、“后退”的按鈕名稱。
4.4 通訊設計
    (1) 與plc通訊的設計
      由于采用了wonderware的i/o server實現與plc的通訊,在程序中實現與plc的通訊只要是實現基本的連接功能,無需了解plc的通訊信息格式。與plc通訊的詳細代碼如下:
sub linktodde()
  tagman.m112.linkmode = 1
  tagman.m113.linkmode = 1
    。 。 。 。 。 。 
  tagman.d348.linkmode = 1
  tagman.d349.linkmode = 1
  tagman.d350.linkmode = 1
  plcstatus.linkmode = 1
end sub
      只要在主界面中form_load()中調用就可以實現與plc的通訊。
    (2) 與噴印機通訊的設計
      與噴印機的通訊主要是通過mscomm控件來實現的,由于系統中有2臺噴印控制器,所以需要2個mscomm控件,在系統設計中分別為 labelprint_1和labelprint_2,與噴印控制器的通訊協議均采用2400,n,8,2,通訊端口分別為4,5端口。每個噴印控制器控制8個噴槍,每個噴槍對應1個緩沖區以存儲要噴印的信息。以下是通訊的詳細代碼:
sub testreadbc()
file://先開啟print_a的通訊端口,并傳送資料,然后關閉通訊端口
lcp.outsidetest.labelprint_1.portopen=true  
`開啟通訊端口
lcp.outsidetest.labelprint_1.output=chr$(4)  
`清除以前的資料
lcp.outsidetest.labelprint_1.output=tpinstr(0).text
lcp.outsidetest.labelprint_1.output=chr$(10)  
`跳至第二個緩沖區
lcp.outsidetest.labelprint_1.output=tpinstr(1).text
lcp.outsidetest.labelprint_1.output=chr$(10)  
`跳至第3行
lcp.outsidetest.labelprint_1.output=tpinstr(2).text
 。。。。。。
lcp.outsidetest.labelprint_1.output=chr$(10)  
`跳至第8行
lcp.outsidetest.labelprint_1.output=tpinstr(7).text
lcp.outsidetest.labelprint_1.output=chr$(1)  
`資料傳送完成
lcp.outsidetest.labelprint_1.portopen=false  
`關閉通訊端口
file://對噴印控制器b的通訊同上
end sub
    (3) 與條碼掃描儀通訊的設計
    與條碼掃描儀通訊也是通過mscomm控件來實現的,在系統設計中為barcodecomm,通訊協議為9600,n,8,1,通訊端口為6端口。條碼掃描儀詳細的實現代碼如下:
sub readbarcode()
dim readbuf as string 
`供條碼掃描儀讀取的數據用 
dim classcode, productcode as string  
`存儲班別標識碼和制造代碼
dim match as boolean
dim sqlstr as string
dim cusid as string
dim sindex, rmode as integer
  
barcodecomm.commport=`6`  `設定通訊端口
barcodecomm.settings=`9600,n,8,1` `設定通訊協議
barcodecomm.portopen=true   `開啟通訊端口
sindex=1
rmode=1
readbuf=barcodecomm.input
if (readbuf <> ",") then
`處理條碼掃描儀讀取的數據
while rmode < 2
   while mid(readbuf, sindex, sindex) <> ","
        classcode = classcode & mid(readbuf, sindex, sindex)
       sindex = sindex + 1
     wend
          rmode = rmode + 1
     while mid(readbuf, sindex, sindex) <> ","
       productcode = productcode & mid(readbuf, sindex, sindex)
        sindex = sindex + 1
      wend
   wend
     match = false
    `sql 搜尋指令,搜索數據庫中該信息是否存在
    sqlstr= "select * from indata where 制造號碼=`" & productcode & "`"
    outsidetest.scandb.recordsource = sqlstr
    outsidetest.scandb.refresh
    if outsidetest.scandb.recordset.recordcount = 0 then
      match = false
    else
      match = true
    end if
  
   if match then
file://從數據庫中提取需要噴印的信息
      bufcusid = outsidetest.scandb.recordset(“客戶代號”)
      bufcusname = outsidetest.scandb.recordset(“客戶名稱”)
      。。。。。。
  bufhold=outsidetest.scandb.recordset(“保留”)
      
    `將資料寫入 plc
      tagman.d340.text=asc(mid(bufcusid, 1, 1)) * 100+asc(mid(bufcusid, 2, 1))
     。。。。。。
      tagman.d349.text = int(buflengh)
    
      tagman.d340.linkpoke
      。。。。。。
      tagman.d349.linkpoke
    else
      msgbox “沒有符合條件的資料,或資料錯誤,請重新掃描一次!”, vbokonly, “錯誤”
    end if
  end if
end sub
      只需要添加一個定時器,就可以實現條碼掃描儀的自動讀取數據的功能。
4.5 與erp的接口設計
      該監控系統的建立需要與現有企業運行的erp系統緊密的集成,以便發揮總體管理效益。通過規劃,根據上述,決定采用文本型的數據格式作為二者聯系的橋梁。據此系統建設需要滿足以下功能要求:(1)現有erp系統對已生產的卷紙的相關信息自動產生文本文件;(2)監控系統自動下載文本文件,并分離其中的參數數據,存入本地數據庫中;(3)對已經噴印入庫的信息,監控系統自動產生供erp系統使用的文本文件;(4)現有的erp系統自動讀取已入庫卷紙的信息。
      針對監控系統的設計而言,主要是滿足(2)(3)的功能,也就是資料的下載設計與資料的上傳設計。首先需要解決文件的存放位置問題,由于 erp系統在遠程的車間級服務器上,而本系統路徑的位置選擇限于本地硬盤,所以采用建立遠程機特定文件目錄在本地的映射來實現。
    (1) 資料自動下載的程序設計
      程序設計中主要采用定時器的定時方式來實現資料的自動下載功能,以下是具體的下載實現代碼:
dim fileobj as new filesystemobject
  dim sfile as textstream
  dim onestring as string
  dim strbuf01, strbuf02, strbuf03, strbuf04, strbuf05, strbuf06, strbuf07 as string
  dim strbuf08, strbuf09, strbuf10, strbuf11, strbuf12, strbuf13 as string
  set sfile = fileobj.opentextfile(lcp.sysparset.setreadfile.text, forreading, false)
  while not sfile.atendofstream
    onestring = sfile.readline
file://根據條碼的格式進行信息的截取    
strbuf01 = mid(onestring, 1, 6)
    strbuf02 = mid(onestring, 7, 4)
    strbuf03 = mid(onestring, 11, 8)
    。。。。。。
    strbuf13 = mid(onestring, 45, 14)
  file://根據掃描到的數據在數據庫中添加信息
    downloaddb.recordset.addnew
    downloaddb.recordset(“客戶代號”) = strbuf01
    。。。。。。
    downloaddb.recordset(“保留”) = strbuf13
    downloaddb.recordset.update
    wend
sfile.close(2) 資料的上傳設計
以下是資料上傳的具體代碼:
dim fileobj as new filesystemobject
  dim sfile as textstream
  dim onestring as string
  set sfile = fileobj.opentextfile(“文件存放位置”, forappending, true)
  lcp.dbmanager.rsuploaddb.movefirst
  while lcp.dbmanager.rsuploaddb.eof = false
  onestring=lcp.dbmanager.rsuploaddb(“制造號碼”) & lcp.dbmanager.rsuploaddb(“紙別”) & _
   lcp.dbmanager.rsuploaddb(“基重”) & lcp.dbmanager.rsuploaddb(“尺寸”) & _
   lcp.dbmanager.rsuploaddb(“尺寸單位”) & lcp.dbmanager.rsuploaddb(“入庫重量”) & _
   lcp.dbmanager.rsuploaddb(“過磅日期”) & lcp.dbmanager.rsuploaddb(“過磅時間”) & _
   lcp.dbmanager.rsuploaddb(“生產班別”) & lcp.dbmanager.rsuploaddb(“保留”)
        sfile.writeline (onestring)
   lcp.dbmanager.rsuploaddb(“updated”)=“1”
    lcp.dbmanager.rsuploaddb.movenext
  wend
    sfile.close

 

5  結束語
      該噴印自動化監控系統的實施,大大提高了卷紙的噴印效率和噴印的質量,取得了良好的經濟效益。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲美女免费视频| 亚洲一区二区伦理| 国产精品日韩电影| 欧美日韩一级片在线观看| 免费在线欧美黄色| 久久野战av| 久久久久久日产精品| 欧美一区二区三区精品| 性做久久久久久| 亚洲欧美国产另类| 亚洲自拍另类| 亚洲欧美变态国产另类| 亚洲欧美日韩久久精品| 亚洲免费网址| 亚洲在线观看视频| 亚洲欧美在线aaa| 亚洲欧美日韩在线高清直播| 亚洲主播在线播放| 先锋影音国产精品| 欧美一区二区高清在线观看| 欧美中文字幕在线| 久久久美女艺术照精彩视频福利播放| 久久国产精品久久w女人spa| 久久精品国产69国产精品亚洲| 久久精品亚洲一区二区| 久久久久国产一区二区| 久久亚洲视频| 欧美成人在线免费观看| 欧美美女视频| 欧美视频精品一区| 国产精品日韩在线观看| 国产欧美一区二区精品婷婷| 国产中文一区二区| 一区二区三区在线视频播放| 亚洲高清av在线| 亚洲美女黄网| 亚洲一区免费| 欧美中文字幕| 亚洲免费大片| 午夜日韩在线| 美日韩丰满少妇在线观看| 欧美精品大片| 国产精品一香蕉国产线看观看 | 亚洲作爱视频| 亚洲欧美激情精品一区二区| 欧美制服丝袜第一页| 亚洲精品久久嫩草网站秘色 | 亚洲精品永久免费精品| 亚洲天堂网在线观看| 久久成人免费视频| 一本久久综合亚洲鲁鲁| 欧美在线日韩| 欧美精品v日韩精品v国产精品| 国产精品黄色在线观看| 精品999成人| 一区二区三区高清在线| 欧美在线|欧美| 99热免费精品| 久久福利影视| 欧美日本国产一区| 国产一区二区三区在线观看精品| 亚洲国产裸拍裸体视频在线观看乱了中文| 一本久久青青| 久久精品1区| 亚洲一区二区三区四区在线观看 | 在线观看视频亚洲| 亚洲少妇最新在线视频| 亚洲国产导航| 亚洲欧美国产三级| 欧美成人官网二区| 国产午夜精品视频免费不卡69堂| 亚洲欧洲精品一区二区| 午夜精品短视频| 一个色综合导航| 久久久欧美精品sm网站| 欧美日韩一区免费| 影音先锋中文字幕一区| 亚洲一区二区视频在线| 亚洲精品在线观看免费| 久久精品国产96久久久香蕉| 欧美视频一区二区在线观看| 一区精品在线| 午夜精品影院| 亚洲一区日本| 欧美黄色免费| 国产在线视频欧美| 亚洲免费小视频| 亚洲网站视频| 欧美激情一区二区三区成人| 狠狠色狠狠色综合系列| 亚洲一区网站| 亚洲婷婷在线| 欧美区在线播放| 在线成人免费观看| 欧美亚洲视频| 午夜综合激情| 国产精品久久久久久妇女6080 | 欧美性猛交视频| 亚洲高清网站| 久久精品日韩一区二区三区| 性欧美激情精品| 国产精品二区在线观看| 亚洲美女av电影| 99精品国产在热久久婷婷| 欧美**字幕| 一区二区三区在线高清| 久久av一区二区三区漫画| 久久高清一区| 国产亚洲毛片在线| 亚洲欧美在线磁力| 欧美一区二区成人6969| 国产精品视频久久| 亚洲图片欧美一区| 亚洲欧美日韩成人| 国产精品久久久久久久久久久久| 欧美一区二区三区在线| 国产亚洲精品久| 亚洲国产高清aⅴ视频| 亚洲国内自拍| 麻豆精品在线视频| 亚洲第一福利在线观看| 亚洲欧洲久久| 欧美阿v一级看视频| 在线免费观看日本一区| 亚洲欧洲日本一区二区三区| 免费成人av在线| 亚洲福利精品| 国外成人性视频| 亚洲高清中文字幕| 蜜臀91精品一区二区三区| 尤物精品在线| 最新国产の精品合集bt伙计| 欧美www视频| 亚洲国产日韩综合一区| 一区二区黄色| 欧美午夜无遮挡| 亚洲一区二区三区三| 午夜视频在线观看一区| 国产日本欧美在线观看| 久久av一区二区三区| 你懂的视频欧美| 亚洲精品欧美| 亚洲欧美国产日韩天堂区| 国产精品综合色区在线观看| 欧美中文字幕第一页| 麻豆国产va免费精品高清在线| 亚洲高清精品中出| 亚洲视频一起| 国产美女精品视频免费观看| 久久国产福利| 欧美激情视频一区二区三区免费| 日韩视频一区| 欧美一区二区三区视频在线观看| 韩国一区二区在线观看| 亚洲精品国产精品国自产观看| 欧美日韩裸体免费视频| 亚洲天堂男人| 久久伊人一区二区| 亚洲日本中文字幕免费在线不卡| 亚洲美女精品成人在线视频| 国产精品久久9| 欧美在线电影| 欧美精品一区二区三区在线播放| 一区二区日韩精品| 久久久久国产精品一区二区| 亚洲人成小说网站色在线| 欧美亚洲尤物久久| 在线观看福利一区| 亚洲一区二区少妇| 国产中文一区| 亚洲一区二区三区精品动漫| 国产午夜精品麻豆| 一区二区激情视频| 国精产品99永久一区一区| 一区二区日韩欧美| 国产午夜亚洲精品不卡| 日韩亚洲不卡在线| 国产亚洲永久域名| 一区二区高清视频在线观看| 国产伊人精品| 亚洲午夜av| 尤物精品在线| 欧美在线观看一区| 亚洲精品视频在线播放| 久久久精品一品道一区| 日韩视频中文字幕| 久久久噜噜噜久久狠狠50岁| 99视频一区二区| 美女网站久久| 亚洲欧美综合| 欧美日韩精品久久久| 久久国内精品视频| 国产精品久久一卡二卡| 亚洲九九爱视频| 黄色精品一区| 亚洲欧美网站| 亚洲精品在线免费| 免费视频一区| 欧美专区中文字幕| 国产精品美女在线|