盛洪江+孔德超
摘要:為了降低成本,提出了基于LabVIEW LabSQL的小型超市收銀機(jī)的設(shè)計(jì)方案。實(shí)際應(yīng)用表明應(yīng)用該方案的收銀機(jī)具有操作快捷、簡(jiǎn)便的特點(diǎn),在低成本小型超市有一定的應(yīng)用前景。
關(guān)鍵詞:收銀機(jī);LabSQL;ODBC
中圖分類號(hào):TP319 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)14-0219-02
收銀機(jī)(ECR)是現(xiàn)代商業(yè)管理必備電子設(shè)備之一,具有智能化、網(wǎng)絡(luò)化、多功能的特點(diǎn),成為在商業(yè)銷售上進(jìn)行勞務(wù)管理、會(huì)計(jì)帳務(wù)管理、商品管理的有效工具和手段,廣泛應(yīng)用于超市,連鎖店,餐館,賓館等中小企業(yè)。ECR的發(fā)展經(jīng)歷了原型的機(jī)構(gòu)式現(xiàn)金收銀機(jī)、與電腦通信聯(lián)網(wǎng)程序固化芯片專用及用戶干預(yù)程度低的智能化收銀機(jī)[1,2],到增加了信息處理的能力要配合進(jìn)銷存軟件基于PC的第三代電子收銀機(jī)POS機(jī)[3,4]。目前,國(guó)內(nèi)各大超市以及商場(chǎng)的POS刷卡機(jī),大多是基于點(diǎn)到點(diǎn)撥號(hào)接入方式的POS系統(tǒng)以及部分高級(jí)餐廳在顧客用餐完畢之后,服務(wù)員可以利用移動(dòng)POS收銀終端直接在客戶的桌前實(shí)現(xiàn)結(jié)賬。
市面上收銀機(jī)價(jià)格大概幾千到一萬(wàn)之間,小型超市承受不起,本課題在LabVIEW LabSQL基礎(chǔ)上設(shè)計(jì)的一個(gè)簡(jiǎn)易收銀機(jī),硬件只需一臺(tái)一百多元的U口激光條碼掃描儀及通用PC機(jī),可完成基本的收銀功能。
1 LabSQL簡(jiǎn)介及安裝
LabSQL是一個(gè)基于LabVIEW的免費(fèi)、多數(shù)據(jù)庫(kù)、跨平臺(tái)的數(shù)據(jù)庫(kù)訪問(wèn)工具包,支持Windows操作系統(tǒng)中任何基于OBDC的數(shù)據(jù)庫(kù),將復(fù)雜的底層ADO及SQL操作封裝成一系列的LabSQL VIs。利用LabSQL幾乎可以訪問(wèn)任何類型的數(shù)據(jù)庫(kù),對(duì)記錄進(jìn)行各種操作。它的優(yōu)點(diǎn)是易于理解,操作簡(jiǎn)單。只需進(jìn)行簡(jiǎn)單地編程,就可在LabVIEW中實(shí)現(xiàn)數(shù)據(jù)庫(kù)訪問(wèn)。
只有PC機(jī)安裝了包涵ADO ActiveX類的MDAC (Microsoft Data Access Components), LabSQL才能正常使用。使用者需要先創(chuàng)建一個(gè)DSN(Data Source Name),才能在Windows下讓LabView和MySQL(或Access)相連接。用ODBC(Open Database Connectivity)來(lái)創(chuàng)建DSN,在Windows開(kāi)始→運(yùn)行中輸入odbcad32.exe。在創(chuàng)建DSN之前,你需要確保你的系統(tǒng)安裝了MySQL Connector ODBC或Microsoft office Access(mdb),你就可以為你的數(shù)據(jù)庫(kù)創(chuàng)建DNS了[5]。
2 程序的設(shè)計(jì)思路
激光條形掃描器是以光束掃描貨物的條碼來(lái)生成相應(yīng)的字符串。硬件提供了三種接口來(lái)獲取信息,本次設(shè)計(jì)根據(jù)最簡(jiǎn)單實(shí)用的原則選擇USB2.0接口來(lái)獲取條形碼信息。用戶只需激活條碼信息編輯框掃描條碼即自動(dòng)生成條碼文本。
下圖1是本程序程序設(shè)計(jì)思路。
3 前面板及程序框圖設(shè)計(jì)
儀器操作面板由掃描信息區(qū)、付款信息區(qū)、商品清單區(qū)及功能按鈕區(qū)等四個(gè)功能區(qū)構(gòu)成、如圖2(a)所示。
掃描信息區(qū)的條碼輸入文本框在掃描條碼時(shí)應(yīng)激活(F11)以即時(shí)顯示商品條碼,商品價(jià)格顯示文本框顯示數(shù)據(jù)庫(kù)查詢后對(duì)應(yīng)商品價(jià)格。商品清單區(qū)顯示本次購(gòu)買所有商品信息,含編號(hào)、條碼、名稱、價(jià)格及數(shù)量。付款信息區(qū)實(shí)付款輸入文本框(F10)輸入用戶待找零款項(xiàng),應(yīng)付款顯示文本框顯示本次購(gòu)買所有商品總價(jià)格,找零顯示文本框顯示找零款項(xiàng)。按鈕功能區(qū)結(jié)款按鈕完成本次購(gòu)買結(jié)束后按下計(jì)算找零及清除商品清單功能,停機(jī)退出程序。
圖2(b)停止按鈕事件分支用于退出程序,系退出LabVIEW程序的標(biāo)準(zhǔn)方式。
下圖是條碼輸入按鍵值改變及付款按鈕按下通知事件分支。
(b) 付款按鈕按下通知事件
在程序框圖中首先初始化程序:各控件清零及數(shù)據(jù)庫(kù)(MyDB.mdb)的建立與連接。
圖3(a)系條碼輸入按鍵值改變事件分支:激光槍掃碼后自動(dòng)響應(yīng),連接字符串構(gòu)建SQL的SELECT語(yǔ)句查找條形碼對(duì)應(yīng)記錄并將第四個(gè)字段即商品價(jià)格取出傳給商品價(jià)格顯示框同時(shí)循環(huán)與應(yīng)付款相加;創(chuàng)建數(shù)組節(jié)點(diǎn)將商品清單表格循環(huán)添加記錄以顯示新掃入的商品記錄。
程序退出事件后執(zhí)行關(guān)閉數(shù)據(jù)庫(kù)工作。
4 結(jié)論
本課題提出并設(shè)計(jì)了一種基于LabVIEW LabSQL小型超市收銀機(jī)的設(shè)計(jì)方案,該方案為了降低成本簡(jiǎn)化了設(shè)計(jì),商品信息數(shù)據(jù)表增添可在數(shù)據(jù)庫(kù)平臺(tái)下完成,也可在LabSQL中完成。在采用二手PC機(jī)的情況下,整機(jī)成本能壓縮到千元以內(nèi),有一定的市場(chǎng)應(yīng)用前景。
參考文獻(xiàn):
[1] 吳凌燕,王翠珍,王思臣.基于ARM的簡(jiǎn)易超市收銀機(jī)[J].儀表技術(shù), 2009(9): 65-66.
[2] 唐永鋒,張宇林.基于LPC2138的超市收銀機(jī)設(shè)計(jì)[J].電腦知識(shí)與技術(shù), 2009, 5(36): 10310-10311.
[3] 李巖,岳俊華.基于VB的超市POS前臺(tái)收銀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].價(jià)值工程, 2014(33): 235-236.
[4] 曹偉.移動(dòng)收銀POS機(jī)系統(tǒng)前置機(jī)設(shè)計(jì)與實(shí)現(xiàn)[M].上海交通大學(xué)工程,2012.
[5] 特拉維斯,克林. LabVIEW大學(xué)實(shí)用教程[M].北京:電子工業(yè)出版社, 2008.