袁天順,王玲
(江蘇電子信息職業(yè)學(xué)院,江蘇淮安,223003)
目前人們?nèi)粘I钭兊米詣?dòng)化和科技化,自助掃碼的結(jié)算過程或許已經(jīng)不是新鮮事物,但在購買散裝的商品,往往還是需要排長隊(duì)等在工作人員稱重,這樣的操作方式帶來了很多不便。因散裝商品種類很多,每種商品價(jià)格有差異,大多使用符號(hào)來標(biāo)記每種產(chǎn)品,這樣就需要工作人員查找大量的信息去操作電子秤,大多數(shù)工作人員為了不出錯(cuò)把大量的信息標(biāo)記在電子秤上,造成了非常繁瑣的工作。
為了解決上述問題現(xiàn)本文所論述的一種計(jì)量系統(tǒng)將這種購物得到簡化,通過秤上自帶的攝像頭識(shí)別不同種類的物品并且進(jìn)行計(jì)算,打印商品標(biāo)簽,同時(shí)將整臺(tái)設(shè)備接入互聯(lián)網(wǎng),實(shí)現(xiàn)遠(yuǎn)程監(jiān)控與數(shù)據(jù)統(tǒng)計(jì)[1],方便商戶進(jìn)行數(shù)據(jù)統(tǒng)計(jì),使得銷售狀況一目了然。
本系統(tǒng)的主要運(yùn)行過程主要分為三個(gè)部分,第一部分為識(shí)別部分,以果蔬為例,對(duì)顧客挑選好的商品進(jìn)行識(shí)別;第二部分為稱重計(jì)算及打包部分,將商品稱重獲得的數(shù)據(jù)進(jìn)行計(jì)算,獲得商品總價(jià)并保存在PLC的寄存器內(nèi),同時(shí)將果蔬進(jìn)行打包處理;第三部分為信息輸出部分,觸摸屏輸出當(dāng)前果蔬類型、重量、單價(jià)和總價(jià),打印機(jī)打印當(dāng)前果蔬的價(jià)格標(biāo)簽使其與收銀終端相匹配。系統(tǒng)框架如圖1系統(tǒng)框架所示。
圖1 系統(tǒng)框架
控制硬件系統(tǒng)其主要由PLC、壓力傳感器、按鈕開關(guān)、封口裝置、打印機(jī)、觸摸屏、路由器、傾倒裝置組成。
其中,PLC作為封口裝置與傾倒裝置的邏輯控制核心,壓力傳感器作為重量獲取設(shè)備,路由器主要負(fù)責(zé)本地及遠(yuǎn)程組網(wǎng),本地組網(wǎng)為Matlab與PLC數(shù)據(jù)交換,遠(yuǎn)程組網(wǎng)主要用于遠(yuǎn)程監(jiān)控端的控制與數(shù)據(jù)統(tǒng)計(jì)[2]。
PLC通過壓力傳感器獲得放置于秤體上物品的重量,通過路由器搭建的網(wǎng)絡(luò)傳輸給Matlab、觸摸屏和遠(yuǎn)程監(jiān)控端。Matlab進(jìn)行圖像識(shí)別后將結(jié)果傳輸回PLC,再由PLC執(zhí)行封口、打包和將數(shù)據(jù)傳輸給打印機(jī)的操作。
控制系統(tǒng)硬件接線圖如下圖2所示。
圖2 系統(tǒng)硬件接線圖
觸摸屏通過TCP/IP與PLC連接,打印機(jī)通過RS-485接口連接到PLC。模擬量模塊、觸摸屏使用24V供電,PLC使用220V供電,打印機(jī)使用12V供電。
在自動(dòng)程序下,PLC程序?qū)崿F(xiàn)過程主要包含了稱重、打印及打包程序。稱重程序?qū)崿F(xiàn)主要是通過了EM AM06模塊,將輸入的0-10V電信號(hào)轉(zhuǎn)化為6400-32000的數(shù)字量型號(hào),再采用模擬量轉(zhuǎn)換庫中S_ITR指令將6400-32000線性轉(zhuǎn)化為0-1之間的數(shù),獲取此時(shí)放置與稱重器上物品的重量,如圖3。當(dāng)設(shè)備檢測(cè)到有物品置于電子秤上時(shí),將開始識(shí)別商品標(biāo)志寄存器VB0中的變量置為1通過OPC通訊方式傳輸至MATLAB中開始商品的識(shí)別,MATLAB會(huì)通過OPC通信的方式將商品識(shí)別結(jié)果反饋至PLC的VB1寄存器,不同的果蔬將會(huì)返回不同值,本設(shè)計(jì)中,將香蕉反饋為1,黃瓜反饋為2,橙子反饋為3。接下來PLC對(duì)反饋到的商品種類進(jìn)行數(shù)據(jù)處理和計(jì)算,將商品重量與預(yù)設(shè)單價(jià)相乘存入PLC VD70-VD78寄存器中,在對(duì)其取兩位小數(shù),即得到了商品的總價(jià)。打印程序采用了發(fā)送指令,將得到的商品種類、單價(jià)、重量、總價(jià)轉(zhuǎn)換為打印機(jī)所接受的ASSCII碼形式發(fā)送。為了與終端收銀設(shè)備相聯(lián)系,打印機(jī)還需要具備條碼打印功能,條碼打印功能為打印機(jī)預(yù)設(shè),將PLC內(nèi)儲(chǔ)存條碼信息的數(shù)據(jù)經(jīng)過取模、取余、取整依次發(fā)送給打印機(jī),即可打印出條碼同時(shí)進(jìn)行機(jī)械打包過程,至此,PLC程序全部完成,如圖3。
圖3 自動(dòng)程序流程圖
本系統(tǒng)中采用了PLC作為商品機(jī)械機(jī)構(gòu)的控制元件,通過Matlab與PLC的數(shù)據(jù)傳輸實(shí)現(xiàn)系統(tǒng)對(duì)商品的識(shí)別與打包[3]。系統(tǒng)的構(gòu)建主要分為三個(gè)部分,接收PLC數(shù)據(jù)、圖像識(shí)別、反饋PLC數(shù)據(jù)。程序運(yùn)行后,先載入預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò),加載OPC服務(wù)器連接至PLC,隨后等待PLC給出指令,當(dāng)PLC中的寄存器VB0值為1時(shí),MATLAB開始進(jìn)行圖像識(shí)別最后將識(shí)別結(jié)果與果蔬種類的字符串進(jìn)行比較將結(jié)果傳回給PLC中果蔬種類寄存器VB1,同時(shí)給PLC中果蔬開始識(shí)別標(biāo)志VB0賦值為0,等待下一次識(shí)別,至此,MATLAB一個(gè)周期運(yùn)行結(jié)束,如圖4所示。
圖4 系統(tǒng)構(gòu)建圖
自動(dòng)程序中除了對(duì)電機(jī)的流程控制,其重點(diǎn)在于對(duì)數(shù)據(jù)的處理,為了取出價(jià)格的兩位小數(shù),先將實(shí)數(shù)型的總價(jià)擴(kuò)大102倍,采用截?cái)嘀噶钊≌?,再將其轉(zhuǎn)化為實(shí)數(shù),縮小102倍,即實(shí)現(xiàn)了取出兩位小數(shù)的過程,。條碼顯示的7位數(shù)據(jù),前兩位為商品種類,后五位為價(jià)格數(shù)據(jù),為了分離出五位數(shù)據(jù),程序中采用了取模取整的方式。在打印有兩位小數(shù)的單價(jià)及總價(jià)時(shí),采用了RTA轉(zhuǎn)換指令,將實(shí)數(shù)轉(zhuǎn)化為ASCII碼發(fā)送給打印機(jī)。
在給打印機(jī)發(fā)送數(shù)據(jù)時(shí),所用到的XMT發(fā)送指令一共發(fā)送了143個(gè)字節(jié)的數(shù)據(jù),其所包含了識(shí)別得到的結(jié)果種類、物品的單價(jià)、總價(jià)、重量、條碼等信息。
在自動(dòng)程序下,當(dāng)按下啟動(dòng)按鈕,設(shè)備開始運(yùn)行,在此前放置任意果蔬整個(gè)系統(tǒng)將不會(huì)運(yùn)作。放入果蔬后,觸摸屏顯示當(dāng)前果蔬重量并且服務(wù)器內(nèi)運(yùn)行識(shí)別程序,將結(jié)果反饋給PLC,PLC內(nèi)對(duì)當(dāng)前果蔬的總價(jià)進(jìn)行計(jì)算,并且顯示在觸摸屏上,并打印出條碼。
在手動(dòng)程序下,PLC程序可實(shí)現(xiàn)對(duì)所有電機(jī)、加熱絲的點(diǎn)動(dòng)控制,便于對(duì)整機(jī)設(shè)備姿勢(shì)的調(diào)整。
本文所研制的智能計(jì)量系統(tǒng),調(diào)用了攝像頭對(duì)視野內(nèi)的商品拍攝圖片,在軟件中進(jìn)行處理識(shí)別出商品類型。使用了PLC作為主要控制系統(tǒng)[4],PLC提供起始信號(hào)使得MATLAB開始進(jìn)行圖像識(shí)別,MATLAB提供果蔬種類信號(hào)回傳于PLC,PLC獲取商品的種類和重量后,在CPU內(nèi)計(jì)算商品總價(jià)執(zhí)行打包機(jī)構(gòu),實(shí)現(xiàn)了散裝商品購物自助化與互聯(lián)化,所以自助設(shè)備無論在生產(chǎn)生活中都有著重要的作用和發(fā)展前景。