宋婷婷,徐世許,張 歡
(青島大學(xué) 自動化與電氣工程學(xué)院,青島 266071)
二維碼標(biāo)簽打印及產(chǎn)品真?zhèn)巫R別系統(tǒng)設(shè)計
宋婷婷,徐世許,張 歡
(青島大學(xué) 自動化與電氣工程學(xué)院,青島 266071)
為了實(shí)現(xiàn)銅管稱重信息的二維碼標(biāo)簽打印和日后用戶對產(chǎn)品真?zhèn)蔚淖R別,設(shè)計了一個產(chǎn)品二維碼標(biāo)簽打印及真?zhèn)巫R別系統(tǒng)。系統(tǒng)硬件由梅特勒托利多稱重儀表、標(biāo)簽打印機(jī)等組成,系統(tǒng)軟件使用VB6.0、Access2010、新浪云和微信公眾號開發(fā)。上位機(jī)通過RS232C串口與稱重儀表建立串行通信,讀取銅管的稱重數(shù)據(jù),并保存到Access數(shù)據(jù)庫中,同時打印出產(chǎn)品的二維碼標(biāo)簽。使用新浪云和微信公眾號開發(fā)了產(chǎn)品真?zhèn)巫R別功能,用戶使用手機(jī)在微信公眾號上掃描二維碼標(biāo)簽即可識別產(chǎn)品真?zhèn)?。目前,該系統(tǒng)已成功應(yīng)用于某銅管廠,解決了以往人工填寫稱重信息費(fèi)時費(fèi)力、錯誤率高的問題。
二維碼標(biāo)簽;新浪云;微信公眾號;真?zhèn)巫R別
在企業(yè)生產(chǎn)過程中,往往要求對產(chǎn)品進(jìn)行準(zhǔn)確稱重和快速記錄,加強(qiáng)產(chǎn)品信息的有效管理,防止產(chǎn)品被惡意仿冒。傳統(tǒng)的人工記錄稱重數(shù)據(jù)方式會造成記錄信息不準(zhǔn)確,歷史數(shù)據(jù)保存困難,查詢不方便,效率低下。近年來,二維碼越來越多的出現(xiàn)在大眾視野中,二維碼存儲信息量大,有著極強(qiáng)的防偽性能,它采用了先進(jìn)的數(shù)學(xué)糾錯理論,只要損壞面積不超過百分之五十都可以破譯出信息,而且制作二維碼非常容易,成本很低[1~3]。針對銅管生產(chǎn)企業(yè)的實(shí)際需求,開發(fā)了銅管二維碼標(biāo)簽打印系統(tǒng),使用梅特勒-托利多稱重儀表稱取銅管重量,上位機(jī)通過RS232C通信自動讀取稱重儀表中的數(shù)據(jù),保存到數(shù)據(jù)庫Access中,同時生成產(chǎn)品的二維碼標(biāo)簽,送往打印機(jī)打印[4,5]。該系統(tǒng)可以準(zhǔn)確稱重,自動上傳數(shù)據(jù)并保存,自動打印含有稱重信息的二維碼標(biāo)簽,解決了人工管理稱重信息效率低、錯誤多的問題[6,7]。為了保護(hù)消費(fèi)者和廠家權(quán)益,使用新浪云和微信公眾號開發(fā)設(shè)計了真?zhèn)巫R別系統(tǒng),用戶使用手機(jī)在微信公眾號中掃描銅管外包裝上的二維碼標(biāo)簽就能識別真?zhèn)巍?/p>
二維碼標(biāo)簽打印系統(tǒng)主要由上位機(jī)、稱重儀表、和TSC標(biāo)簽打印機(jī)組成。稱重儀表采用梅特勒托利多的工業(yè)智能稱重儀表IND236。智能稱重儀表IND236測量好銅管重量,并將稱重信息通過RS232發(fā)送至上位機(jī),上位機(jī)再把稱重信息發(fā)送至標(biāo)簽打印機(jī),供其打印標(biāo)簽。結(jié)構(gòu)圖如圖1所示。
圖1 二維碼標(biāo)簽打印結(jié)構(gòu)圖
二維碼標(biāo)簽打印系統(tǒng)的管理功能由數(shù)據(jù)庫管理系統(tǒng)Access2010和VB6.0共同實(shí)現(xiàn)。ADO(ActiveX Data Objects,ActiveX數(shù)據(jù)對象)是Microsoft提出的應(yīng)用程序接口,在VB6.0編程環(huán)境下,可以使用ADO方式訪問Access數(shù)據(jù)庫。二維碼標(biāo)簽打印系統(tǒng)把產(chǎn)品的日期、時間、名稱、重量、規(guī)格等信息以數(shù)據(jù)表格的形式保存在數(shù)據(jù)庫中,通過VB6.0訪問數(shù)據(jù)庫來實(shí)現(xiàn)對數(shù)據(jù)的各種操作。系統(tǒng)的管理功能包括產(chǎn)品數(shù)據(jù)的查詢、修改和導(dǎo)出,以及數(shù)據(jù)庫備份和清空。其中,導(dǎo)出功能可將產(chǎn)品數(shù)據(jù)從Access數(shù)據(jù)庫中提取并保存到Excel表格中,方便進(jìn)一步的數(shù)據(jù)處理。當(dāng)前路徑的數(shù)據(jù)庫被清空之前會自動備份到其他路徑,目的在于保存歷史記錄,同時提高當(dāng)前路徑數(shù)據(jù)庫的訪問速度。
二維碼標(biāo)簽打印系統(tǒng)的圖形用戶界面采用VB6.0設(shè)計和開發(fā),界面包括“系統(tǒng)管理”按鈕、“標(biāo)簽打印”按鈕和“退出系統(tǒng)”按鈕。下面對系統(tǒng)管理和標(biāo)簽打印分別進(jìn)行說明。
單擊“系統(tǒng)管理”按鈕后,系統(tǒng)會提示輸入管理員密碼,密碼驗證成功后進(jìn)入系統(tǒng)管理界面,系統(tǒng)管理功能圖如圖2所示。
單擊“標(biāo)簽打印”按鈕后,秤操作員可在新出現(xiàn)的界面中對產(chǎn)品參數(shù)進(jìn)行設(shè)置,設(shè)置完成后,進(jìn)入標(biāo)簽打印界面,如圖3所示。進(jìn)入該界面后,上位機(jī)開始讀取稱重儀表發(fā)送過來的稱重信息,然后把這些信息發(fā)送至標(biāo)簽打印機(jī),供其打印標(biāo)簽。如果產(chǎn)品的批次發(fā)生了變化,則先停止稱重,然后單擊“返回修改參數(shù)”按鈕,修改完參數(shù)后,重新開始稱重,然后返回到該界面。系統(tǒng)還實(shí)現(xiàn)了數(shù)據(jù)查詢和導(dǎo)出功能,單擊“數(shù)據(jù)查詢”按鈕,可以在新出現(xiàn)的界面中按起止日期、起止時間、操作員等條件對歷史數(shù)據(jù)進(jìn)行查詢和導(dǎo)出。單擊“退出打印按鈕”返回到系統(tǒng)啟動界面。
圖3 標(biāo)簽打印界面
2.1 上位機(jī)讀取稱重儀表的數(shù)據(jù)
硬件實(shí)現(xiàn)上,上位機(jī)和稱重儀表之間使用RS232C進(jìn)行通信[8]。在波特率為9600pbs時,使用RS232C的通信距離可達(dá)到30多米,完全適用于系統(tǒng)對通信距離的需求。硬件連接好之后,還需要設(shè)置端口、波特率等串行通信必需的參數(shù),以進(jìn)行發(fā)送和接收數(shù)據(jù)等操作,這些都是通過軟件來實(shí)現(xiàn)的。
軟件實(shí)現(xiàn)上,使用VB6.0中的MSComm控件進(jìn)行串行通信的參數(shù)設(shè)置和數(shù)據(jù)收發(fā)。MSComm控件為串行通信的每種參數(shù)和操作提供了相應(yīng)的屬性,通過設(shè)置控件屬性就可以設(shè)置對應(yīng)的參數(shù)或完成相應(yīng)的操作。
2.2 把生產(chǎn)數(shù)據(jù)生成二維碼
經(jīng)過考察生產(chǎn)現(xiàn)場的具體情況,系統(tǒng)使用QR碼標(biāo)識產(chǎn)品。QR碼是專門針對亞洲漢文化環(huán)境開發(fā)研制的二維碼,符合漢字國家使用習(xí)慣[9]。QR碼通過模塊的顏色深淺來表達(dá)數(shù)據(jù),是一種矩陣式二維碼,深色表示1,淺色表示0。生成二維碼的主要步驟包括數(shù)據(jù)編碼,糾錯編碼,構(gòu)成最終數(shù)據(jù)信息和掩膜[10]。
圖4 二維碼生成流程
2.3 數(shù)據(jù)自動上傳與標(biāo)簽的自動打印
系統(tǒng)采用梅特勒托利多智能儀表IND236的自動打印方式。設(shè)置方法為:設(shè)置F4.1.1為“APRINT”,設(shè)置F4.1.2.4 “自動打印閥值” 為10kg,當(dāng)對銅管進(jìn)行稱重,稱重值超過10kg且穩(wěn)定后,IND236會自動向上位機(jī)傳輸稱重值,且只傳輸一次,設(shè)置F4.1.2.5 “自動打印復(fù)位閥值” 為10kg,當(dāng)稱重好的銅管被運(yùn)走,準(zhǔn)備稱重下一件銅管的間隙時,稱重值低于10kg,這時進(jìn)行稱重復(fù)位,允許下一次的打印。上位機(jī)安裝好打印機(jī)驅(qū)動并進(jìn)行一些必要的設(shè)置后就可以進(jìn)行標(biāo)簽自動打印。當(dāng)上位機(jī)接收到一組稱重數(shù)據(jù)后,會產(chǎn)生觸發(fā)信號,該信號作為上位機(jī)軟定時器的觸發(fā)條件,開始將數(shù)據(jù)向打印機(jī)發(fā)送,并命令打印機(jī)開始打印,然后將計時器復(fù)位,等待下次的觸發(fā),周而復(fù)始進(jìn)行循環(huán)自動打印。
產(chǎn)品真?zhèn)巫R別系統(tǒng)的前端程序采用微信公眾號進(jìn)行開發(fā),以便進(jìn)行二維碼掃描識別真?zhèn)?,后臺程序使用新浪云平臺進(jìn)行開發(fā),用于核對真?zhèn)蔚臄?shù)據(jù)保存在新浪云平臺提供的空間中[11]。下面對該系統(tǒng)的各部分依次進(jìn)行介紹。
3.1 前端程序的設(shè)計
前端程序使用微信進(jìn)行開發(fā),創(chuàng)建并定制一個微信公眾號,首先在微信官方網(wǎng)站(http://mp.weixin. qq.com/)注冊微信公眾平臺帳號,注冊成功后對微信公眾號進(jìn)行的定制。系統(tǒng)分別設(shè)計了簡介、聯(lián)系、技術(shù)支持三個一級菜單,在技術(shù)支持一級菜單里創(chuàng)建了三個二級菜單分別是產(chǎn)品展示、掃碼驗貨、防偽說明。菜單創(chuàng)建完成后進(jìn)行響應(yīng)動作設(shè)置,包括跳轉(zhuǎn)到網(wǎng)頁或發(fā)送信息。登錄微信公眾號后臺,進(jìn)入“開發(fā)者中心”,點(diǎn)擊“修改配置”,根據(jù)需要進(jìn)行配置,配置成功后需要將微信公眾號后臺代碼上傳到服務(wù)器。
系統(tǒng)選用了新浪云平臺Sina App Engine(SAE),SAE是由新浪公司開發(fā)運(yùn)營的云計算平臺的核心組成部分,需要在官網(wǎng)注冊帳號,創(chuàng)建新浪云應(yīng)用。新浪應(yīng)用管理界面如圖5所示。
圖5 新浪云應(yīng)用管理
3.2 后臺程序的設(shè)計
系統(tǒng)選用了新浪云平臺Sina App Engine(SAE)作為后臺程序開發(fā)環(huán)境,開發(fā)語言為PHP。點(diǎn)擊微信公眾號上的按鈕可以打開網(wǎng)頁或進(jìn)行其他操作,這是通過設(shè)置菜單接口的編譯類型type來實(shí)現(xiàn)的,共有兩種類型:Click,交互式菜按鈕,點(diǎn)擊后會彈出菜單;View,跳轉(zhuǎn)式按鈕,點(diǎn)擊后會跳轉(zhuǎn)到開發(fā)者指定的url所指向的網(wǎng)頁。將代碼編寫成功后,使用Notepad++把代碼保存為文件index.php,并且把格式設(shè)置為“UTF-8無BOM格式編碼”。保存完畢以后使用壓縮軟件WinRAR把代碼壓縮成ZIP格式,找到“代碼上傳”按鈕,進(jìn)行文件上傳,點(diǎn)擊“編輯代碼”按鈕,可以看到index.zip是否上傳成功。
3.3 上傳產(chǎn)品信息至后臺數(shù)據(jù)庫
通過掃碼驗真?zhèn)涡枰a(chǎn)品的后臺生產(chǎn)數(shù)據(jù),以便與產(chǎn)品對比來驗證產(chǎn)品的真?zhèn)?。通過新浪云的云應(yīng)用進(jìn)入控制臺,在控制臺中選擇某個應(yīng)用進(jìn)入,然后選擇數(shù)據(jù)庫服務(wù),選擇共享型MySQL,當(dāng)點(diǎn)擊管理MySQL時,輸入設(shè)置的驗證密碼,輸入正確后進(jìn)入構(gòu)建好的數(shù)據(jù)庫結(jié)構(gòu)界面。在云數(shù)據(jù)庫結(jié)構(gòu)工具欄選擇導(dǎo)入,進(jìn)入數(shù)據(jù)上傳界面,在數(shù)據(jù)上傳界面上傳已經(jīng)導(dǎo)出成Excel表格的生產(chǎn)數(shù)據(jù)。把生產(chǎn)數(shù)據(jù)上傳至服務(wù)器后,就可以通過微信公眾號查詢產(chǎn)品真?zhèn)?。如圖6是第一次查詢到產(chǎn)品,第二次第三次是未查詢到與產(chǎn)品對應(yīng)的產(chǎn)品信息的示例。
圖6 查詢界面
本文實(shí)現(xiàn)了稱重儀表與上位計算機(jī)之間的通信,并設(shè)計了記錄管理生產(chǎn)數(shù)據(jù),打印二維碼標(biāo)簽,識別產(chǎn)品真?zhèn)蔚南到y(tǒng)。該系統(tǒng)已經(jīng)在公司平穩(wěn)運(yùn)行一年有余,記錄數(shù)據(jù)準(zhǔn)確,數(shù)據(jù)庫功能完備,微信公眾號能夠較好的識別產(chǎn)品真?zhèn)巍O到y(tǒng)基于VB編程對數(shù)據(jù)庫進(jìn)行讀寫備份導(dǎo)出等操作,并且把數(shù)據(jù)打印成標(biāo)簽,對于購買到的產(chǎn)品能夠通過掃碼識別其真?zhèn)巍O到y(tǒng)成本較低,使用起來簡單方便,可以廣泛的應(yīng)用于各大小工廠,幫助工廠記錄生產(chǎn)數(shù)據(jù),方便工人查找歷史記錄,自動的打印標(biāo)簽,省去很多人力,幫助工廠改進(jìn)技術(shù),能夠提高效率,同時用戶通過掃碼準(zhǔn)確分辨產(chǎn)品真?zhèn)?,避免了產(chǎn)品被不法商家仿造,從而提高工廠效益。隨著生產(chǎn)規(guī)模擴(kuò)大,下一步的研究方向是實(shí)現(xiàn)上位機(jī)和儀表的遠(yuǎn)距離通信。
[1] 陶莉,朱小光,王善紅.使用二維碼識別的電力設(shè)備巡視系統(tǒng)設(shè)計[J].電氣技術(shù),2016(04):119-122.
[2] 南潮,丁志剛,鄭樹泉.基于物聯(lián)網(wǎng)的豬肉制品追溯系統(tǒng)研究[J].計算機(jī)應(yīng)用與軟件,2016,33(03):96-99.
【】【】
[3] 徐路釗,秦航,張華偉,周鑫,蔣紅兵.基于二維碼開發(fā)醫(yī)療設(shè)備調(diào)配管理軟件[J].中國醫(yī)療設(shè)備,2016,31(01):93-95.
[4] 錢婷婷,李正明,石鑫,張梅霞.基于單片機(jī)的自動稱重系統(tǒng)[J].制造業(yè)自動化,2014,36(8):116-117.
[5] 李牡丹,李麗宏,雷張偉.基于ADuC845的嵌入式配料稱重系統(tǒng)設(shè)計與實(shí)現(xiàn)[J].制造業(yè)自動化,2010,32(11):175-177.
[6] 劉葦娜.QR Code二維條碼的編碼與圖像處理技術(shù)的研究[D].湖北:湖北大學(xué),2007.
[7] 高磊,劉玙,袁宇波,王曉坤.基于二維碼的智能變電站光纜標(biāo)簽系統(tǒng)設(shè)計和實(shí)現(xiàn)[J].電力自動化與設(shè)備,2015,35(10):169-173.
[8] 辛文舉.基于VB的標(biāo)簽打印機(jī)軟件和托利多電子秤之間的串口通訊[J].自動化技術(shù)與應(yīng)用,2012,31(7):96-97,102.
[9] 孫明,傅隆生,楊信廷,張樹槐.用于QR碼自動識讀的圖像分析方法[J].電子科技大學(xué)學(xué)報(自然科學(xué)版),2009,38(6):1017-1020.
[10] 萬菁.二維條碼的編解碼及系統(tǒng)實(shí)現(xiàn)[D].上海:上海交通大學(xué),2007.
[11] 劉艷飛,余明輝.基于物聯(lián)網(wǎng)技術(shù)的豬肉防偽追溯系統(tǒng)研究[J].現(xiàn)代電子技術(shù),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 -),女,山東濟(jì)寧人,碩士研究生,研究方向為計算機(jī)控制技術(shù)。