1 系統(tǒng)方案分析
按照當(dāng)前國(guó)內(nèi)外技術(shù)水平來(lái)分類(lèi),,排隊(duì)管理系統(tǒng)可以分為有線(xiàn)系統(tǒng)和無(wú)線(xiàn)系統(tǒng),它們所實(shí)現(xiàn)的功能是完全一樣的,。無(wú)線(xiàn)通信方式,,最大的優(yōu)點(diǎn)是安裝方便快捷。除主機(jī)外,,任何設(shè)備出現(xiàn)故障時(shí),,都可實(shí)時(shí)在線(xiàn)更換和維修。但該方式容易受到頻率干擾和電磁波干擾,。
2 系統(tǒng)整體方案設(shè)計(jì)
各個(gè)窗口終端CPU通信的信息量不大,,實(shí)現(xiàn)的功能較簡(jiǎn)單。主機(jī)采用32位EasyARM615可以滿(mǎn)足要求,,充分利用主機(jī)自帶的RS485總線(xiàn)資源,。從機(jī)采用8位的單片機(jī)即可實(shí)現(xiàn)所需功能。雖然在穩(wěn)定性上可能稍有影響,,編程上略為復(fù)雜,,但是大大地降低了生產(chǎn)成本,而且對(duì)系統(tǒng)穩(wěn)定性方面的影響,,可以通過(guò)軟件設(shè)計(jì)來(lái)盡量克服,。
基于以上方案分析,主機(jī)采用32位EasyARM615開(kāi)發(fā)套件,,從機(jī)采用8位單片機(jī)作為控制芯片,。搭建基于EasyARM615的分布式排隊(duì)系統(tǒng),具體框架如圖1所示,。
排隊(duì)系統(tǒng)的基本服務(wù)流程是:當(dāng)顧客進(jìn)入服務(wù)大廳,,選擇自己需要的服務(wù)類(lèi)別,從“號(hào)票打印機(jī)”抽取打印號(hào)票,,上面打印出該顧客的排隊(duì)代號(hào),。主機(jī)根據(jù)服務(wù)類(lèi)別及緊急程度處理數(shù)據(jù),,形成隊(duì)列。當(dāng)工作人員服務(wù)完畢后只需按一下從機(jī)鍵盤(pán)上的呼叫按鈕,,主機(jī)將先來(lái)的顧客代號(hào)通過(guò)窗口顯示屏和語(yǔ)音信息,,呼叫顧客前來(lái)辦理。
3系統(tǒng)硬件電路設(shè)計(jì)
基于單元化思想設(shè)計(jì),,系統(tǒng)硬件由主機(jī)控制器,、從機(jī)控制器、人機(jī)交互界面,、鍵盤(pán)輸入系統(tǒng),、嵌入式打印機(jī)、語(yǔ)音播放系統(tǒng),、自制電源模塊組成,。
3.1 主機(jī)控制器
EasyARM615主機(jī)是系統(tǒng)控制和管理的核心,,完成號(hào)票的打印和號(hào)碼的存儲(chǔ),、管理,、顯示,、發(fā)送及語(yǔ)音播放等功能,。顧客來(lái)到后,,在主機(jī)上按“取號(hào)”鍵,,系統(tǒng)將排隊(duì)人數(shù)和排隊(duì)號(hào)碼加1,,同時(shí)打印顧客的號(hào)碼并存儲(chǔ),。當(dāng)窗口工作人員按“下一位”鍵取號(hào)時(shí),,主機(jī)將排在最前的號(hào)碼發(fā)往呼叫器、相應(yīng)的窗口顯示屏和主顯示屏,,并通過(guò)語(yǔ)音模塊播放語(yǔ)音,,同時(shí)將系統(tǒng)的排隊(duì)人數(shù)減l;當(dāng)窗口工作人員按“重呼”鍵或“暫停”鍵時(shí),,從機(jī)向主機(jī)送出該窗口數(shù)據(jù),,主機(jī)收到后立即將該數(shù)據(jù)發(fā)往呼叫器、相應(yīng)的窗口顯示屏和主顯示屏,,并通過(guò)語(yǔ)音模塊播放語(yǔ)音,。主機(jī)控制器電路如圖2所示。
3.2 從機(jī)控制器
系統(tǒng)的從機(jī)控制器采用Atmel公司低功耗,、高性能的CMOS 8位AT89S52單片機(jī),。其內(nèi)置8 KB Flash片內(nèi)程序存儲(chǔ)器,256 B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),,5個(gè)中斷優(yōu)先級(jí),、2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,,看門(mén)狗(WDT)電路等資源,。
3.3 其他模塊設(shè)計(jì)
主顯示屏采用帶中文字庫(kù)的液晶模塊LCDl2864,用于向在休息區(qū)等待的顧客提示被呼叫的號(hào)碼和相應(yīng)的窗口號(hào),。窗口顯示屏采用字符型液晶顯示模塊LCDl602,,用于顯示窗口的受理顧客號(hào),引導(dǎo)顧客到該窗口來(lái)辦理業(yè)務(wù),。
語(yǔ)音播報(bào)系統(tǒng)采用廣州唯創(chuàng)科技有限公司的可編輯語(yǔ)音芯片WT588D系列語(yǔ)音單片機(jī),。
嵌入式打印模塊采用WH-A6熱敏嵌入式微型打印機(jī),串行接口控制,。
4 軟件設(shè)計(jì)
系統(tǒng)的設(shè)計(jì)理念是基于數(shù)據(jù)隊(duì)列原理,,遵循先來(lái)先辦的原則。智能排隊(duì)系統(tǒng)的“智能”體現(xiàn)在系統(tǒng)對(duì)“排隊(duì)”的處理是根據(jù)運(yùn)籌學(xué)中的排隊(duì)論來(lái)設(shè)計(jì)的,,管理中心查詢(xún)各個(gè)服務(wù)臺(tái)空閑情況,,根據(jù)服務(wù)臺(tái)總數(shù)目進(jìn)行輪詢(xún)算法,以確認(rèn)下一個(gè)取得客戶(hù)的服務(wù)臺(tái)號(hào),。
4.1 通信方式
系統(tǒng)采用RS485總線(xiàn),工作于半雙工方式,。RS485為差分平衡數(shù)字通信接口,,系統(tǒng)采用主從式通信方式,主機(jī)采用查詢(xún)工作方式,,從機(jī)采用中斷工作方式,。通信總是由主機(jī)開(kāi)始,循環(huán)地給從機(jī)發(fā)送查詢(xún)命令,,從機(jī)返回相應(yīng)的應(yīng)答信息,。除非主機(jī)呼叫從機(jī),從機(jī)在其他情況下不能主動(dòng)向通信總線(xiàn)上送出信息,。
4.2 窗口優(yōu)先級(jí)和平衡分配算法設(shè)計(jì)
在多隊(duì)列多窗口,、業(yè)務(wù)優(yōu)先級(jí)辦理的情況下,需要將客戶(hù)按照“先來(lái)先辦,,平均分配”的原則分配到各個(gè)窗口,。為了解決各業(yè)務(wù)的多窗口平均分配,系統(tǒng)在優(yōu)先級(jí)排隊(duì)系統(tǒng)輸入隊(duì)列調(diào)度算法的基礎(chǔ)上,,改進(jìn)并設(shè)計(jì)了一種窗口優(yōu)先級(jí)和平衡分配算法[2]來(lái)解決該問(wèn)題,,基本步驟如下:
①獲得當(dāng)前窗口可辦理的業(yè)務(wù)列表。
②判斷最高優(yōu)先級(jí)的一個(gè)或多個(gè)業(yè)務(wù)的隊(duì)列中是否有排隊(duì)號(hào),。
③若存在排隊(duì)號(hào),,判斷當(dāng)前窗口是否是同類(lèi)窗口中最早請(qǐng)求的;若不是,則跳轉(zhuǎn)到⑤,。
④若是,,從最高業(yè)務(wù)級(jí)別的隊(duì)列中取得排隊(duì)時(shí)間最早的排隊(duì)號(hào)。
⑤繼續(xù)查找次優(yōu)先級(jí)隊(duì)列,,直到取得排隊(duì)號(hào)或查找所有隊(duì)列完畢,;若無(wú)排隊(duì)號(hào),返回,。
4.3 程序設(shè)計(jì)
主程序流程如圖3所示,。主機(jī)初始化后,從01號(hào)從機(jī)(即呼叫器,,地址=02H)開(kāi)始查詢(xún),,如有應(yīng)答命令請(qǐng)求,根據(jù)命令作相應(yīng)處理,。
(1)請(qǐng)求發(fā)送
主機(jī)將最靠前的顧客號(hào)碼發(fā)送到該機(jī),,并置發(fā)送標(biāo)志F=1。
(2)請(qǐng)求接收
當(dāng)呼叫器重呼或暫停時(shí),,向主機(jī)發(fā)送數(shù)據(jù),。此時(shí),主機(jī)接收該從機(jī)數(shù)據(jù),,接收完成后,,立即查詢(xún)從機(jī)并發(fā)送數(shù)據(jù),置F=l,。若從機(jī)不應(yīng)答,,表示該機(jī)無(wú)請(qǐng)求服務(wù)或沒(méi)有該設(shè)備,則清F=0,。
主機(jī)通信完成后將顯示更新的數(shù)據(jù)于LCD屏,,根據(jù)發(fā)送標(biāo)志決定是否將數(shù)據(jù)送到該從機(jī)對(duì)應(yīng)的窗口顯示屏、主顯示屏及播放語(yǔ)音,,然后地址+2并判斷是否開(kāi)始新的查詢(xún),。
結(jié) 語(yǔ)
本文設(shè)計(jì)了由主機(jī)EasyARM615、從機(jī)AT89S52單片機(jī)及其外圍電路構(gòu)成的智能排隊(duì)管理系統(tǒng),。以高性能的32位EasyARM615開(kāi)發(fā)套件為主機(jī)控制器,,以?xún)r(jià)格低廉的單片機(jī)為從機(jī)搭建起來(lái)的智能排隊(duì)系統(tǒng),既能解決無(wú)序排隊(duì)問(wèn)題,,又能提高服務(wù)質(zhì)量,,可以對(duì)多個(gè)窗口和隨機(jī)出現(xiàn)的客戶(hù)流進(jìn)行自動(dòng)排隊(duì)管理,順序呼叫顧客到對(duì)應(yīng)的窗口辦理業(yè)務(wù),。