近年來,POS機(刷卡機)為提高人們的生活水平帶來了極大的便利,得到力量迅速的推廣和應(yīng)用。各個大學(xué)的學(xué)生食堂在近幾年幾乎都使用上了POS機。從早期的打孔的金龍卡到現(xiàn)在各種各樣的IC卡及相應(yīng)的POS機,它們都無一例外地采用了RS-485總線。這是由RS-485總線的特點決定的:傳輸距離遠(1200米)、軟件簡單(RS-232協(xié)議)。
現(xiàn)在隨著食堂越來越多、POS機越來越多,距離越來越遠,POS機的可靠聯(lián)網(wǎng)成為一個新的問題。本文介紹了典型的某大學(xué)東校區(qū)的食堂POS機聯(lián)網(wǎng)解決方案。本方案經(jīng)過承包廠家的反復(fù)比較、試驗、實施,最后成功地應(yīng)用并且長期穩(wěn)定運行了多年。
東校區(qū)的食堂POS機聯(lián)網(wǎng)解決方案如圖。機房位于1食堂內(nèi)并且距離寶石花餐廳很近。但是2食堂和3食堂距離機房比較遠,并且是兩個大食堂,POS比較多。
作為控制POS機的PC機配了一塊4串口擴展卡,擴展出了4個RS-232口。每個RS-232口用于一個食堂或者寶石花餐廳。其中2路RS-232通過U485A型號的光電隔離RS-232/RS-485轉(zhuǎn)換器轉(zhuǎn)為RS-485口、另外2個RS-232口通過OPT232-9型號的RS-232/光纖轉(zhuǎn)換器轉(zhuǎn)為光纖傳輸。
在實施過程中遇到的一個典型問題就是RS-485總線中能夠掛接的POS機的數(shù)量。如果一條RS-485總線中掛的RS-485過多,就會出現(xiàn)無法通信的問題。波仕電子的解決方案是在光纖線路中串接型號OPT485EX的光纖中繼轉(zhuǎn)換器,將過多的POS機從原來的全部掛在OPT485上改善為分別掛在OPT485和OPT485EX上。在同一個光纖網(wǎng)中,OPT485EX的數(shù)量不受限制,這樣擴展掛接多個POS機都沒問題。在1食堂和寶石花餐廳的RS-485總線擴展POS機數(shù)量的方法是用型號HUB4485G的RS-485集線器將RS-485總線擴展為4路。
采用串口光纖傳輸?shù)膬?yōu)點:通信距離遠,多模光纖4000米,每加一個光纖中繼轉(zhuǎn)換器再增加4000米,在這樣的傳輸距離下通信速率可以高達115200bps。
系統(tǒng)軟件
系統(tǒng)軟件分成PC機和POS機兩部分。
PC機多串口卡實現(xiàn)對各個POS機的控制。為了操作方便,PC機控制軟件設(shè)計了一個虛擬鍵盤,所有操作均通過點擊鼠標實現(xiàn)。PC機與POS機的握手協(xié)議也較為簡單,8位數(shù)據(jù)中位7為“1”時表示傳送的是地址信息,為“0”時表示傳送的是數(shù)據(jù)信息,各個POS機通過讀取各自的地址設(shè)備碼來確定PC機是否要求與其通信。圖2為PC機的主程序流程框圖。
各個鍵的功能分述如下,點擊地址選擇鍵將彈出一個窗口,供用戶輸入1~32的地址,以選擇需要通信的POS機。周期設(shè)置鍵可以設(shè)置連續(xù)測量,或每10分鐘至每天測量一次。通過時鐘設(shè)置鍵可以設(shè)置POS機的時鐘信息。通過點擊測量/停止鍵,可以啟動或停止POS機的工作。點擊接收數(shù)據(jù)鍵可以接收當前被選中的POS機的所有測量數(shù)據(jù),并生成一個由用戶定義文件名的數(shù)據(jù)文件。如果要查看接收到的數(shù)據(jù),可以點擊顯示數(shù)據(jù)鍵。在顯示數(shù)據(jù)的窗口內(nèi)還可以完成打印功能。
POS機的軟件主要完成數(shù)據(jù)采集、處理、存儲以及和PC機通信的任務(wù),分為如下幾個模塊:數(shù)據(jù)采集、數(shù)據(jù)通信、數(shù)據(jù)顯示、數(shù)據(jù)打印以及鍵掃描。圖3所示的是POS機與PC機的通信軟件流程圖,POS機采用的是中斷處理方式。當POS機響應(yīng)中斷時,首先判斷PC機送來的是否為地址信息(即位“7”是否為“1”),如果是地址,則POS機讀取本機的地址設(shè)備碼進行判斷。若地址相符,就接收PC機以后發(fā)來的數(shù)據(jù),并根據(jù)送來的數(shù)據(jù),進行各種處理。
為便于對POS機中的讀卡器進行檢測和維護,硬件上設(shè)計了顯示接口、鍵盤接口和打印接口,軟件模塊中包含了顯示、打印以及鍵掃描程序模塊,這樣在需要對POS機維護時,接上系統(tǒng)配置的硬件,POS機就可以獨立工作。
該系統(tǒng)經(jīng)實際應(yīng)用證明,運行正常,數(shù)據(jù)測量準確。
|