近年來,條碼檢測技術在汽車制造行業被廣泛采用。通過上位機條碼監控系統對采集的條碼信息處理并進行管理。某大型汽車制造企業在車軸上下料控制系統生產車間通過WinCC中VBS腳本實現對數據庫的查詢、篩選、用戶歸檔及觸發條碼打印機的打印功能,實現對產品在生產過程中的質量數據進行跟蹤。
車間有兩條車軸加工生產線,主控系統采用西門子S7-400 PLC,在ET200S遠程站上通過1SI 3964/ASCII串口模塊連接symbol固定式條碼掃描器MS4404進行車軸端面條碼掃描,在上料工位安裝條碼掃描器,當車軸進入檢測區域時,通過傳感器信號觸發條碼掃描器,掃描到的條碼以ASCII的形式通過串口模塊傳到S7-400 PLC控制器中,PLC通過工業以太網將數據傳送到上位機數據庫,當工件運行到下料機構時通過傳感器信號觸發intermec條碼打印機工作,實現對工件的全程監控。
硬件組態中組態模塊地址,傳輸率、數據位、停止位及校驗方式等參數和條碼掃描設備設置一致。PLC程序調用S_RECV_SI標準串口數據接收功能塊FB2,S7-400通過PROFIBUS DP連接ET200S遠程站,由于遠程站和條碼掃描工位的距離在15米以內,串口模塊選用RS-232傳輸接口。RS-232采用9 pin引腳,接口連接如圖1所示。
上位機選用西門子WinCC組態軟件,監控整條生產線的運行。畫面中應用Microsoft FlexGrid Control控件,條碼查詢畫面如圖2所示。
連接數據庫,建立SQL表格,在WinCC中“人工輸入條碼”框連接文本變量8位字符集內部變量tag1,輸入條碼“確定”按鈕腳本中將其讀取到Db(0),VBS腳本如下

顯示已加工所有信息“確定”按鈕中SQL語句改為:strSQL=”select * from line1 Where 上料時間 between’”&Db(2)&”’and’”&Db(3)&”’”
顯示已加工所有信息“確定”按鈕中SQL語句為strSQL=”select * from line1”
輸入條碼“打印”按鈕通過C腳本RPTJobPreview實現,ODBC數據庫表中SQL語句為select * from table_1 where 條碼=’$tag1$’;顯示加工信息“打印”按鈕中ODBC數據庫表中SQL語句為select * from table_1 where 上料時間 between ‘$tag2$’and ‘$tag3$’’
人工輸入條碼后“刪除”按鈕中SQL語句為
is_SQL=”Delete from line1 where 條碼=’”&Db(0)&”’”
cn.Execute is_SQL
顯示加工信息“刪除”按鈕中改為:is_SQL=”Delete from line1 where 上料時間 between’”&Db(2)&”’and’”&Db(3)&”’”即可
在PLC程序中使用SFC 1”READ_CLK”讀取當前CPU系統時鐘,使上位機報表時間與PLC一致,方便以后故障的排查。WinCC中建立6個無符號8位數變量,分別與PLC系統時鐘的年月日時分秒相連,在類型轉換中選擇ByteToUnsignedByte,WinCC將以十六進制數顯示,建立文本變量8位字符集C11用于存儲PLC粗車1條碼信息,粗車1全局腳本中觸發信號設置為Line1.C1_EStatus,將采集到的時間連接成字符串后存儲到Db(0)內,C11存儲到Db(18)內,連接數據庫后SQL語句為at_SQL=”Update Table_1 Set 粗車1時間=’”&Db(0)&”’Where 條碼=’”&Db(18)&”’”。
在條碼軟件BarTender中建立一個新文件并記錄地址,設定二維碼的共享名稱為barcode。
在打印功能的全局腳本中觸發信號為Line1.XL_EStatus,將讀取內容存儲到Db(0),腳本如下:


圖1 傳輸接口的接線

圖2 條碼查詢畫面

車間生產線采用了條碼自動掃描打印后,實現了產品的回溯跟蹤,避免了人工貼碼打印的操作失誤,大大提高了車間生產效率。
[1]崔堅.西門子工業網絡通信指南(下冊)[M].機械工業出版社,2006.
[2]陳鴻.現代物流管理系統架構與條碼技術[M].清華大學出版社,2008.
[3]劉志嫵.基于VB和SQL的數據庫編程技術[M].清華大學出版社,2008.
[4]周鶴良.電氣工程師手冊[M].中國電力出版社,2008.