宋婷婷,徐世許,張 歡
(青島大學 自動化與電氣工程學院,青島 266071)
二維碼標簽打印及產品真偽識別系統設計
宋婷婷,徐世許,張 歡
(青島大學 自動化與電氣工程學院,青島 266071)
為了實現銅管稱重信息的二維碼標簽打印和日后用戶對產品真偽的識別,設計了一個產品二維碼標簽打印及真偽識別系統。系統硬件由梅特勒托利多稱重儀表、標簽打印機等組成,系統軟件使用VB6.0、Access2010、新浪云和微信公眾號開發。上位機通過RS232C串口與稱重儀表建立串行通信,讀取銅管的稱重數據,并保存到Access數據庫中,同時打印出產品的二維碼標簽。使用新浪云和微信公眾號開發了產品真偽識別功能,用戶使用手機在微信公眾號上掃描二維碼標簽即可識別產品真偽。目前,該系統已成功應用于某銅管廠,解決了以往人工填寫稱重信息費時費力、錯誤率高的問題。
二維碼標簽;新浪云;微信公眾號;真偽識別
在企業生產過程中,往往要求對產品進行準確稱重和快速記錄,加強產品信息的有效管理,防止產品被惡意仿冒。傳統的人工記錄稱重數據方式會造成記錄信息不準確,歷史數據保存困難,查詢不方便,效率低下。近年來,二維碼越來越多的出現在大眾視野中,二維碼存儲信息量大,有著極強的防偽性能,它采用了先進的數學糾錯理論,只要損壞面積不超過百分之五十都可以破譯出信息,而且制作二維碼非常容易,成本很低[1~3]。針對銅管生產企業的實際需求,開發了銅管二維碼標簽打印系統,使用梅特勒-托利多稱重儀表稱取銅管重量,上位機通過RS232C通信自動讀取稱重儀表中的數據,保存到數據庫Access中,同時生成產品的二維碼標簽,送往打印機打印[4,5]。該系統可以準確稱重,自動上傳數據并保存,自動打印含有稱重信息的二維碼標簽,解決了人工管理稱重信息效率低、錯誤多的問題[6,7]。為了保護消費者和廠家權益,使用新浪云和微信公眾號開發設計了真偽識別系統,用戶使用手機在微信公眾號中掃描銅管外包裝上的二維碼標簽就能識別真偽。
二維碼標簽打印系統主要由上位機、稱重儀表、和TSC標簽打印機組成。稱重儀表采用梅特勒托利多的工業智能稱重儀表IND236。智能稱重儀表IND236測量好銅管重量,并將稱重信息通過RS232發送至上位機,上位機再把稱重信息發送至標簽打印機,供其打印標簽。結構圖如圖1所示。

圖1 二維碼標簽打印結構圖
二維碼標簽打印系統的管理功能由數據庫管理系統Access2010和VB6.0共同實現。ADO(ActiveX Data Objects,ActiveX數據對象)是Microsoft提出的應用程序接口,在VB6.0編程環境下,可以使用ADO方式訪問Access數據庫。二維碼標簽打印系統把產品的日期、時間、名稱、重量、規格等信息以數據表格的形式保存在數據庫中,通過VB6.0訪問數據庫來實現對數據的各種操作。系統的管理功能包括產品數據的查詢、修改和導出,以及數據庫備份和清空。其中,導出功能可將產品數據從Access數據庫中提取并保存到Excel表格中,方便進一步的數據處理。當前路徑的數據庫被清空之前會自動備份到其他路徑,目的在于保存歷史記錄,同時提高當前路徑數據庫的訪問速度。
二維碼標簽打印系統的圖形用戶界面采用VB6.0設計和開發,界面包括“系統管理”按鈕、“標簽打印”按鈕和“退出系統”按鈕。下面對系統管理和標簽打印分別進行說明。
單擊“系統管理”按鈕后,系統會提示輸入管理員密碼,密碼驗證成功后進入系統管理界面,系統管理功能圖如圖2所示。
單擊“標簽打印”按鈕后,秤操作員可在新出現的界面中對產品參數進行設置,設置完成后,進入標簽打印界面,如圖3所示。進入該界面后,上位機開始讀取稱重儀表發送過來的稱重信息,然后把這些信息發送至標簽打印機,供其打印標簽。如果產品的批次發生了變化,則先停止稱重,然后單擊“返回修改參數”按鈕,修改完參數后,重新開始稱重,然后返回到該界面。系統還實現了數據查詢和導出功能,單擊“數據查詢”按鈕,可以在新出現的界面中按起止日期、起止時間、操作員等條件對歷史數據進行查詢和導出。單擊“退出打印按鈕”返回到系統啟動界面。

圖3 標簽打印界面
2.1 上位機讀取稱重儀表的數據
硬件實現上,上位機和稱重儀表之間使用RS232C進行通信[8]。在波特率為9600pbs時,使用RS232C的通信距離可達到30多米,完全適用于系統對通信距離的需求。硬件連接好之后,還需要設置端口、波特率等串行通信必需的參數,以進行發送和接收數據等操作,這些都是通過軟件來實現的。
軟件實現上,使用VB6.0中的MSComm控件進行串行通信的參數設置和數據收發。MSComm控件為串行通信的每種參數和操作提供了相應的屬性,通過設置控件屬性就可以設置對應的參數或完成相應的操作。
2.2 把生產數據生成二維碼
經過考察生產現場的具體情況,系統使用QR碼標識產品。QR碼是專門針對亞洲漢文化環境開發研制的二維碼,符合漢字國家使用習慣[9]。QR碼通過模塊的顏色深淺來表達數據,是一種矩陣式二維碼,深色表示1,淺色表示0。生成二維碼的主要步驟包括數據編碼,糾錯編碼,構成最終數據信息和掩膜[10]。

圖4 二維碼生成流程
2.3 數據自動上傳與標簽的自動打印
系統采用梅特勒托利多智能儀表IND236的自動打印方式。設置方法為:設置F4.1.1為“APRINT”,設置F4.1.2.4 “自動打印閥值” 為10kg,當對銅管進行稱重,稱重值超過10kg且穩定后,IND236會自動向上位機傳輸稱重值,且只傳輸一次,設置F4.1.2.5 “自動打印復位閥值” 為10kg,當稱重好的銅管被運走,準備稱重下一件銅管的間隙時,稱重值低于10kg,這時進行稱重復位,允許下一次的打印。上位機安裝好打印機驅動并進行一些必要的設置后就可以進行標簽自動打印。當上位機接收到一組稱重數據后,會產生觸發信號,該信號作為上位機軟定時器的觸發條件,開始將數據向打印機發送,并命令打印機開始打印,然后將計時器復位,等待下次的觸發,周而復始進行循環自動打印。
產品真偽識別系統的前端程序采用微信公眾號進行開發,以便進行二維碼掃描識別真偽,后臺程序使用新浪云平臺進行開發,用于核對真偽的數據保存在新浪云平臺提供的空間中[11]。下面對該系統的各部分依次進行介紹。
3.1 前端程序的設計
前端程序使用微信進行開發,創建并定制一個微信公眾號,首先在微信官方網站(http://mp.weixin. qq.com/)注冊微信公眾平臺帳號,注冊成功后對微信公眾號進行的定制。系統分別設計了簡介、聯系、技術支持三個一級菜單,在技術支持一級菜單里創建了三個二級菜單分別是產品展示、掃碼驗貨、防偽說明。菜單創建完成后進行響應動作設置,包括跳轉到網頁或發送信息。登錄微信公眾號后臺,進入“開發者中心”,點擊“修改配置”,根據需要進行配置,配置成功后需要將微信公眾號后臺代碼上傳到服務器。
系統選用了新浪云平臺Sina App Engine(SAE),SAE是由新浪公司開發運營的云計算平臺的核心組成部分,需要在官網注冊帳號,創建新浪云應用。新浪應用管理界面如圖5所示。

圖5 新浪云應用管理
3.2 后臺程序的設計
系統選用了新浪云平臺Sina App Engine(SAE)作為后臺程序開發環境,開發語言為PHP。點擊微信公眾號上的按鈕可以打開網頁或進行其他操作,這是通過設置菜單接口的編譯類型type來實現的,共有兩種類型:Click,交互式菜按鈕,點擊后會彈出菜單;View,跳轉式按鈕,點擊后會跳轉到開發者指定的url所指向的網頁。將代碼編寫成功后,使用Notepad++把代碼保存為文件index.php,并且把格式設置為“UTF-8無BOM格式編碼”。保存完畢以后使用壓縮軟件WinRAR把代碼壓縮成ZIP格式,找到“代碼上傳”按鈕,進行文件上傳,點擊“編輯代碼”按鈕,可以看到index.zip是否上傳成功。
3.3 上傳產品信息至后臺數據庫
通過掃碼驗真偽需要產品的后臺生產數據,以便與產品對比來驗證產品的真偽。通過新浪云的云應用進入控制臺,在控制臺中選擇某個應用進入,然后選擇數據庫服務,選擇共享型MySQL,當點擊管理MySQL時,輸入設置的驗證密碼,輸入正確后進入構建好的數據庫結構界面。在云數據庫結構工具欄選擇導入,進入數據上傳界面,在數據上傳界面上傳已經導出成Excel表格的生產數據。把生產數據上傳至服務器后,就可以通過微信公眾號查詢產品真偽。如圖6是第一次查詢到產品,第二次第三次是未查詢到與產品對應的產品信息的示例。

圖6 查詢界面
本文實現了稱重儀表與上位計算機之間的通信,并設計了記錄管理生產數據,打印二維碼標簽,識別產品真偽的系統。該系統已經在公司平穩運行一年有余,記錄數據準確,數據庫功能完備,微信公眾號能夠較好的識別產品真偽。系統基于VB編程對數據庫進行讀寫備份導出等操作,并且把數據打印成標簽,對于購買到的產品能夠通過掃碼識別其真偽。系統成本較低,使用起來簡單方便,可以廣泛的應用于各大小工廠,幫助工廠記錄生產數據,方便工人查找歷史記錄,自動的打印標簽,省去很多人力,幫助工廠改進技術,能夠提高效率,同時用戶通過掃碼準確分辨產品真偽,避免了產品被不法商家仿造,從而提高工廠效益。隨著生產規模擴大,下一步的研究方向是實現上位機和儀表的遠距離通信。
[1] 陶莉,朱小光,王善紅.使用二維碼識別的電力設備巡視系統設計[J].電氣技術,2016(04):119-122.
[2] 南潮,丁志剛,鄭樹泉.基于物聯網的豬肉制品追溯系統研究[J].計算機應用與軟件,2016,33(03):96-99.
【】【】
[3] 徐路釗,秦航,張華偉,周鑫,蔣紅兵.基于二維碼開發醫療設備調配管理軟件[J].中國醫療設備,2016,31(01):93-95.
[4] 錢婷婷,李正明,石鑫,張梅霞.基于單片機的自動稱重系統[J].制造業自動化,2014,36(8):116-117.
[5] 李牡丹,李麗宏,雷張偉.基于ADuC845的嵌入式配料稱重系統設計與實現[J].制造業自動化,2010,32(11):175-177.
[6] 劉葦娜.QR Code二維條碼的編碼與圖像處理技術的研究[D].湖北:湖北大學,2007.
[7] 高磊,劉玙,袁宇波,王曉坤.基于二維碼的智能變電站光纜標簽系統設計和實現[J].電力自動化與設備,2015,35(10):169-173.
[8] 辛文舉.基于VB的標簽打印機軟件和托利多電子秤之間的串口通訊[J].自動化技術與應用,2012,31(7):96-97,102.
[9] 孫明,傅隆生,楊信廷,張樹槐.用于QR碼自動識讀的圖像分析方法[J].電子科技大學學報(自然科學版),2009,38(6):1017-1020.
[10] 萬菁.二維條碼的編解碼及系統實現[D].上海:上海交通大學,2007.
[11] 劉艷飛,余明輝.基于物聯網技術的豬肉防偽追溯系統研究[J].現代電子技術,2016,39(3):55-57.
Design of two-dimensional code label printing system and product identification system
SONG Ting-ting, XU Shi-xu, ZHANG Huan
TP274
A
1009-0134(2016)12-0137-03
2016-10-01
宋婷婷(1992 -),女,山東濟寧人,碩士研究生,研究方向為計算機控制技術。