地磅廠家關(guān)于二維碼標(biāo)簽打印及產(chǎn)品真?zhèn)巫R(shí)別系統(tǒng)設(shè)計(jì)
地磅廠家關(guān)于二維碼標(biāo)簽打印及產(chǎn)品真?zhèn)巫R(shí)別系統(tǒng)設(shè)計(jì)
為了實(shí)現(xiàn)銅管稱(chēng)重信息的二維碼標(biāo)簽打印和日后用戶(hù)對(duì)產(chǎn)品真?zhèn)蔚淖R(shí)別,設(shè)計(jì)了一個(gè)產(chǎn)品二維碼標(biāo)簽打印及真?zhèn)巫R(shí)別系統(tǒng)。系統(tǒng)硬件由梅特勒托利多稱(chēng)重儀表、標(biāo)簽打印機(jī)等組成,系統(tǒng)軟件使用VB6.0、Access2010、新浪云和微信公眾號(hào)開(kāi)發(fā)。上位機(jī)通過(guò)RS232C串口與稱(chēng)重儀表建立串行通信,讀取銅管的稱(chēng)重?cái)?shù)據(jù),并保存到Access數(shù)據(jù)庫(kù)中,同時(shí)打印出產(chǎn)品的二維碼標(biāo)簽。使用新浪云和微信公眾號(hào)開(kāi)發(fā)了產(chǎn)品真?zhèn)巫R(shí)別功能,用戶(hù)使用手機(jī)在微信公眾號(hào)上掃描二維碼標(biāo)簽即可識(shí)別產(chǎn)品真?zhèn)巍D壳?,該系統(tǒng)已成功應(yīng)用于某銅管廠,解決了以往人工填寫(xiě)稱(chēng)重信息費(fèi)時(shí)費(fèi)力、錯(cuò)誤率高的問(wèn)題。
0.引言
在企業(yè)生產(chǎn)過(guò)程中,往往要求對(duì)產(chǎn)品進(jìn)行準(zhǔn)確稱(chēng)重和快速記錄,加強(qiáng)產(chǎn)品信息的有效管理,防止產(chǎn)品被惡意仿冒。傳統(tǒng)的人工記錄稱(chēng)重?cái)?shù)據(jù)方式會(huì)造成記錄信息不準(zhǔn)確,歷史數(shù)據(jù)保存困難,查詢(xún)不方便,效率低下。近年來(lái),二維碼越來(lái)越多的出現(xiàn)在大眾視野中,二維碼存儲(chǔ)信息量大,有著極強(qiáng)的防偽性能,它采用了先進(jìn)的數(shù)學(xué)糾錯(cuò)理論,只要損壞面積不超過(guò)百分之五十都可以破譯出信息,而且制作二維碼非常容易,成本很低。針對(duì)銅管生產(chǎn)企業(yè)的實(shí)際需求,開(kāi)發(fā)了銅管二維碼標(biāo)簽打印系統(tǒng),使用稱(chēng)重儀表稱(chēng)取銅管重量,上位機(jī)通過(guò)RS232C通信自動(dòng)讀取稱(chēng)重儀表中的數(shù)據(jù),保存到數(shù)據(jù)庫(kù)Access中,同時(shí)生成產(chǎn)品的二維碼標(biāo)簽,送往打印機(jī)打印。該系統(tǒng)可以準(zhǔn)確稱(chēng)重,自動(dòng)上傳數(shù)據(jù)并保存,自動(dòng)打印含有稱(chēng)重信息的二維碼標(biāo)簽,解決了人工管理稱(chēng)重信息效率低、錯(cuò)誤多的問(wèn)題。為了保護(hù)消費(fèi)者和廠家權(quán)益,使用新浪云和微信公眾號(hào)開(kāi)發(fā)設(shè)計(jì)了真?zhèn)巫R(shí)別系統(tǒng),用戶(hù)使用手機(jī)在微信公眾號(hào)中掃描銅管外包裝上的二維碼標(biāo)簽就能識(shí)別真?zhèn)巍?/span>
1 .二維碼標(biāo)簽打印系統(tǒng)的設(shè)計(jì)
二維碼標(biāo)簽打印系統(tǒng)主要由上位機(jī)、稱(chēng)重儀表、和TSC標(biāo)簽打印機(jī)組成。稱(chēng)重儀表采用工業(yè)智能稱(chēng)重儀表IND236。智能稱(chēng)重儀表IND236測(cè)量好銅管重量,并將稱(chēng)重信息通過(guò)RS232發(fā)送至上位機(jī),上位機(jī)再把稱(chēng)重信息發(fā)送至標(biāo)簽打印機(jī),供其打印標(biāo)簽。結(jié)構(gòu)圖如圖1所示。
二維碼標(biāo)簽打印系統(tǒng)的管理功能由數(shù)據(jù)庫(kù)管理系統(tǒng)Access2010和VB6.0共同實(shí)現(xiàn)。ADO(ActiveX DataObjects,ActiveX數(shù)據(jù)對(duì)象)是Microsoft提出的應(yīng)用程序接口,在VB6.0編程環(huán)境下,可以使用ADO方式訪問(wèn)Access數(shù)據(jù)庫(kù)。二維碼標(biāo)簽打印系統(tǒng)把產(chǎn)品的日期、時(shí)間、名稱(chēng)、重量、規(guī)格等信息以數(shù)據(jù)表格的形式保存在數(shù)據(jù)庫(kù)中,通過(guò)VB6.0訪問(wèn)數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的各種操作。系統(tǒng)的管理功能包括產(chǎn)品數(shù)據(jù)的查詢(xún)、修改和導(dǎo)出,以及數(shù)據(jù)庫(kù)備份和清空。其中,導(dǎo)出功能可將產(chǎn)品數(shù)據(jù)從Access數(shù)據(jù)庫(kù)中提取并保存到Excel表格中,方便進(jìn)一步的數(shù)據(jù)處理。當(dāng)前路徑的數(shù)據(jù)庫(kù)被清空之前會(huì)自動(dòng)備份到其他路徑,目的在于保存歷史記錄,同時(shí)提高當(dāng)前路徑數(shù)據(jù)庫(kù)的訪問(wèn)速度。
二維碼標(biāo)簽打印系統(tǒng)的圖形用戶(hù)界面采用VB6.0設(shè)計(jì)和開(kāi)發(fā),界面包括“系統(tǒng)管理”按鈕、“標(biāo)簽打印”按鈕和“退出系統(tǒng)”按鈕。下面對(duì)系統(tǒng)管理和標(biāo)簽打印分別進(jìn)行說(shuō)明。
單擊“系統(tǒng)管理”按鈕后,系統(tǒng)會(huì)提示輸入管理員密碼,密碼驗(yàn)證成功后進(jìn)入系統(tǒng)管理界面,系統(tǒng)管理功能圖如圖2所示。
單擊“標(biāo)簽打印”按鈕后,秤操作員可在新出現(xiàn)的界面中對(duì)產(chǎn)品參數(shù)進(jìn)行設(shè)置,設(shè)置完成后,進(jìn)入標(biāo)簽打印界面,如圖3所示。進(jìn)入該界面后,上位機(jī)開(kāi)始讀取稱(chēng)重儀表發(fā)送過(guò)來(lái)的稱(chēng)重信息,然后把這些信息發(fā)送至標(biāo)簽打印機(jī),供其打印標(biāo)簽。如果產(chǎn)品的批次發(fā)生了變化,則先停止稱(chēng)重,然后單擊“返回修改參數(shù)”按鈕,修改完參數(shù)后,重新開(kāi)始稱(chēng)重,然后返回到該界面。系統(tǒng)還實(shí)現(xiàn)了數(shù)據(jù)查詢(xún)和導(dǎo)出功能,單擊“數(shù)據(jù)查詢(xún)”按鈕,可以在新出現(xiàn)的界面中按起止日期、起止時(shí)間、操作員等條件對(duì)歷史數(shù)據(jù)進(jìn)行查詢(xún)和導(dǎo)出。單擊“退出打印按鈕”返回到系統(tǒng)啟動(dòng)界面。
2 二維碼標(biāo)簽的打印
2.1 上位機(jī)讀取稱(chēng)重儀表的數(shù)據(jù)
硬件實(shí)現(xiàn)上,上位機(jī)和稱(chēng)重儀表之間使用RS232C進(jìn)行通信。在波特率為9600pbs時(shí),使用RS232C的通信距離可達(dá)到30多米,完全適用于系統(tǒng)對(duì)通信距離的需求。硬件連接好之后,還需要設(shè)置端口、波特率等串行通信必需的參數(shù),以進(jìn)行發(fā)送和接收數(shù)據(jù)等操作,這些都是通過(guò)軟件來(lái)實(shí)現(xiàn)的。
軟件實(shí)現(xiàn)上,使用VB6.0中的MSComm控件進(jìn)行串行通信的參數(shù)設(shè)置和數(shù)據(jù)收發(fā)。MSComm控件為串行通信的每種參數(shù)和操作提供了相應(yīng)的屬性,通過(guò)設(shè)置控件屬性就可以設(shè)置對(duì)應(yīng)的參數(shù)或完成相應(yīng)的操作。
2.2 把生產(chǎn)數(shù)據(jù)生成二維碼
經(jīng)過(guò)考察生產(chǎn)現(xiàn)場(chǎng)的具體情況,系統(tǒng)使用QR碼標(biāo)識(shí)產(chǎn)品。QR碼是專(zhuān)門(mén)針對(duì)亞洲漢文化環(huán)境開(kāi)發(fā)研制的二維碼,符合漢字國(guó)家使用習(xí)慣。QR碼通過(guò)模塊的顏色深淺來(lái)表達(dá)數(shù)據(jù),是一種矩陣式二維碼,深色表示1,淺色表示0。生成二維碼的主要步驟包括數(shù)據(jù)編碼,糾錯(cuò)編碼,構(gòu)成最終數(shù)據(jù)信息和掩膜。
2.3 數(shù)據(jù)自動(dòng)上傳與標(biāo)簽的自動(dòng)打印
系統(tǒng)采用智能儀表IND236的自動(dòng)打印方式。設(shè)置方法為:設(shè)置F4.1.1為“APRINT”,設(shè)置F4.1.2.4 “自動(dòng)打印閥值” 為10kg,當(dāng)對(duì)銅管進(jìn)行稱(chēng)重,稱(chēng)重值超過(guò)10kg且穩(wěn)定后,IND236會(huì)自動(dòng)向上位機(jī)傳輸稱(chēng)重值,且只傳輸一次,設(shè)置F4.1.2.5 “自動(dòng)打印復(fù)位閥值” 為10kg,當(dāng)稱(chēng)重好的銅管被運(yùn)走,準(zhǔn)備稱(chēng)重下一件銅管的間隙時(shí),稱(chēng)重值低于10kg,這時(shí)進(jìn)行稱(chēng)重復(fù)位,允許下一次的打印。上位機(jī)安裝好打印機(jī)驅(qū)動(dòng)并進(jìn)行一些必要的設(shè)置后就可以進(jìn)行標(biāo)簽自動(dòng)打印。當(dāng)上位機(jī)接收到一組稱(chēng)重?cái)?shù)據(jù)后,會(huì)產(chǎn)生觸發(fā)信號(hào),該信號(hào)作為上位機(jī)軟定時(shí)器的觸發(fā)條件,開(kāi)始將數(shù)據(jù)向打印機(jī)發(fā)送,并命令打印機(jī)開(kāi)始打印,然后將計(jì)時(shí)器復(fù)位,等待下次的觸發(fā),周而復(fù)始進(jìn)行循環(huán)自動(dòng)打印。
3 .產(chǎn)品真?zhèn)巫R(shí)別系統(tǒng)的設(shè)計(jì)
產(chǎn)品真?zhèn)巫R(shí)別系統(tǒng)的前端程序采用微信公眾號(hào)進(jìn)行開(kāi)發(fā),以便進(jìn)行二維碼掃描識(shí)別真?zhèn)?,后臺(tái)程序使用新浪云平臺(tái)進(jìn)行開(kāi)發(fā),用于核對(duì)真?zhèn)蔚臄?shù)據(jù)保存在新浪云平臺(tái)提供的空間中。下面對(duì)該系統(tǒng)的各部分依次進(jìn)行介紹。
3.1 前端程序的設(shè)計(jì)
前端程序使用微信進(jìn)行開(kāi)發(fā),創(chuàng)建并定制一個(gè)微信公眾號(hào),首先在微信官方網(wǎng)站注冊(cè)微信公眾平臺(tái)帳號(hào),注冊(cè)成功后對(duì)微信公眾號(hào)進(jìn)行的定制。系統(tǒng)分別設(shè)計(jì)了簡(jiǎn)介、聯(lián)系、技術(shù)支持三個(gè)一級(jí)菜單,在技術(shù)支持一級(jí)菜單里創(chuàng)建了三個(gè)二級(jí)菜單分別是產(chǎn)品展示、掃碼驗(yàn)貨、防偽說(shuō)明。菜單創(chuàng)建完成后進(jìn)行響應(yīng)動(dòng)作設(shè)置,包括跳轉(zhuǎn)到網(wǎng)頁(yè)或發(fā)送信息。登錄微信公眾號(hào)后臺(tái),進(jìn)入“開(kāi)發(fā)者中心”,點(diǎn)擊“修改配置”,根據(jù)需要進(jìn)行配置,配置成功后需要將微信公眾號(hào)后臺(tái)代碼上傳到服務(wù)器。
系統(tǒng)選用了新浪云平臺(tái)Sina App Engine(SAE),SAE是由新浪公司開(kāi)發(fā)運(yùn)營(yíng)的云計(jì)算平臺(tái)的核心組成部分,需要在官網(wǎng)注冊(cè)帳號(hào),創(chuàng)建新浪云應(yīng)用。新浪應(yīng)用管理界面如圖5所示。
3.2 后臺(tái)程序的設(shè)計(jì)
系統(tǒng)選用了新浪云平臺(tái)Sina App Engine(SAE)作為后臺(tái)程序開(kāi)發(fā)環(huán)境,開(kāi)發(fā)語(yǔ)言為PHP。點(diǎn)擊微信公眾號(hào)上的按鈕可以打開(kāi)網(wǎng)頁(yè)或進(jìn)行其他操作,這是通過(guò)設(shè)置菜單接口的編譯類(lèi)型type來(lái)實(shí)現(xiàn)的,共有兩種類(lèi)型:Click,交互式菜按鈕,點(diǎn)擊后會(huì)彈出菜單;View,跳轉(zhuǎn)式按鈕,點(diǎn)擊后會(huì)跳轉(zhuǎn)到開(kāi)發(fā)者指定的url所指向的網(wǎng)頁(yè)。將代碼編寫(xiě)成功后,使用Notepad++把代碼保存為文件index.php,并且把格式設(shè)置為“UTF-8無(wú)BOM格式編碼”。保存完畢以后使用壓縮軟件WinRAR把代碼壓縮成ZIP格式,找到“代碼上傳”按鈕,進(jìn)行文件上傳,點(diǎn)擊“編輯代碼”按鈕,可以看到index.zip是否上傳成功。
3.3 上傳產(chǎn)品信息至后臺(tái)數(shù)據(jù)庫(kù)
通過(guò)掃碼驗(yàn)真?zhèn)涡枰a(chǎn)品的后臺(tái)生產(chǎn)數(shù)據(jù),以便與產(chǎn)品對(duì)比來(lái)驗(yàn)證產(chǎn)品的真?zhèn)?。通過(guò)新浪云的云應(yīng)用進(jìn)入控制臺(tái),在控制臺(tái)中選擇某個(gè)應(yīng)用進(jìn)入,然后選擇數(shù)據(jù)庫(kù)服務(wù),選擇共享型MySQL,當(dāng)點(diǎn)擊管理MySQL時(shí),輸入設(shè)置的驗(yàn)證密碼,輸入正確后進(jìn)入構(gòu)建好的數(shù)據(jù)庫(kù)結(jié)構(gòu)界面。在云數(shù)據(jù)庫(kù)結(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ù)器后,就可以通過(guò)微信公眾號(hào)查詢(xún)產(chǎn)品真?zhèn)?。如圖6是第一次查詢(xún)到產(chǎn)品,第二次第三次是未查詢(xún)到與產(chǎn)品對(duì)應(yīng)的產(chǎn)品信息的示例。
4.結(jié)論
本文實(shí)現(xiàn)了稱(chēng)重儀表與上位計(jì)算機(jī)之間的通信,并設(shè)計(jì)了記錄管理生產(chǎn)數(shù)據(jù),打印二維碼標(biāo)簽,識(shí)別產(chǎn)品真?zhèn)蔚南到y(tǒng)。該系統(tǒng)已經(jīng)在公司平穩(wěn)運(yùn)行一年有余,記錄數(shù)據(jù)準(zhǔn)確,數(shù)據(jù)庫(kù)功能完備,微信公眾號(hào)能夠較好的識(shí)別產(chǎn)品真?zhèn)?。系統(tǒng)基于VB編程對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀寫(xiě)備份導(dǎo)出等操作,并且把數(shù)據(jù)打印成標(biāo)簽,對(duì)于購(gòu)買(mǎi)到的產(chǎn)品能夠通過(guò)掃碼識(shí)別其真?zhèn)?。系統(tǒng)成本較低,使用起來(lái)簡(jiǎn)單方便,可以廣泛的應(yīng)用于各大小工廠,幫助工廠記錄生產(chǎn)數(shù)據(jù),方便工人查找歷史記錄,自動(dòng)的打印標(biāo)簽,省去很多人力,幫助工廠改進(jìn)技術(shù),能夠提高效率,同時(shí)用戶(hù)通過(guò)掃碼準(zhǔn)確分辨產(chǎn)品真?zhèn)?,避免了產(chǎn)品被不法商家仿造,從而提高工廠效益。隨著生產(chǎn)規(guī)模擴(kuò)大,下一步的研究方向是實(shí)現(xiàn)上位機(jī)和儀表的遠(yuǎn)距離通信。