孫歆鈺
(荊楚理工學(xué)院 電子信息工程學(xué)院, 荊門 448000)
基于RFID技術(shù)的人員定位系統(tǒng)研究設(shè)計(jì)
孫歆鈺
(荊楚理工學(xué)院 電子信息工程學(xué)院, 荊門 448000)
隨著科學(xué)技術(shù)的不斷發(fā)展,一些礦用設(shè)備在整體技術(shù)方面也有所提高,對(duì)礦業(yè)的安全生產(chǎn)起到了推動(dòng)性的作用,但是有些設(shè)備仍然存在著需要改進(jìn)的問題,例如在功能和安全性方面都需要有所改善。隨著礦業(yè)事故的頻繁發(fā)生,對(duì)人民的財(cái)產(chǎn)和生命都構(gòu)成了致命性的威脅,因此,越來越多的國(guó)內(nèi)外學(xué)者致力于礦用安全設(shè)備的研究生產(chǎn)當(dāng)中,本文就是針對(duì)井下工作人員所設(shè)計(jì)的定位系統(tǒng)。
該井下人員定位系統(tǒng)運(yùn)用RFID射頻技術(shù)、CAN總線技術(shù)、數(shù)據(jù)庫知識(shí)以及計(jì)算機(jī)網(wǎng)絡(luò)等技術(shù)于一體,設(shè)計(jì)出了一套實(shí)用性強(qiáng)、成本低廉、可擴(kuò)展性強(qiáng)、易于維護(hù)的人員定位系統(tǒng),最終實(shí)現(xiàn)了井下工作人員的實(shí)時(shí)定位,能夠通過上位機(jī)界面中的電子地圖進(jìn)行查詢監(jiān)測(cè),實(shí)現(xiàn)人員考勤及安全保障功能,當(dāng)有緊急事故發(fā)生時(shí)可以進(jìn)行有效救護(hù),另外該系統(tǒng)還有利于高層管理人員對(duì)員工進(jìn)行生產(chǎn)調(diào)度,達(dá)到人力資源的合理有效利用。該礦山井下人員定位系統(tǒng)要正常的工作,達(dá)到預(yù)期的設(shè)想,需要滿足以下兩個(gè)條件:
1)當(dāng)攜帶射頻卡的井下工作人員進(jìn)入讀卡器可以檢測(cè)到射頻信號(hào)的范圍內(nèi)時(shí),讀卡器和射頻卡之間可以進(jìn)行雙向通信,讀卡器能夠接收讀取到RFID卡內(nèi)的有效數(shù)據(jù)信息,將信息存入自身的處理單元并與CAN節(jié)點(diǎn)通信;
2)讀卡器能夠通過CAN總線和上位機(jī)進(jìn)行有效的數(shù)據(jù)傳輸,即串口通信部分能夠成功的將CAN智能節(jié)點(diǎn)上的有效數(shù)據(jù)通過串口線傳入到系統(tǒng)建立的數(shù)據(jù)庫中,記錄下攜帶RFID卡的員工實(shí)時(shí)信息,如經(jīng)過時(shí)間、地點(diǎn)等,這些信息可以自動(dòng)生成供日后查詢使用的考勤統(tǒng)計(jì)資料并存入后臺(tái)數(shù)據(jù)庫中。
圖 1 系統(tǒng)的結(jié)構(gòu)框圖
該井下人員定位系統(tǒng)可大致分為三部分:井上部分,井下部分以及傳輸網(wǎng)絡(luò)。井上部分可以視為該系統(tǒng)的數(shù)據(jù)中心,如數(shù)據(jù)服務(wù)器、監(jiān)控主機(jī)以及打印機(jī)等;傳輸網(wǎng)絡(luò)即采用CAN總線作為系統(tǒng)的傳輸路徑,系統(tǒng)中CAN總線采用的是總線型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),以此來滿足系統(tǒng)對(duì)通信的高實(shí)用性和高可靠性的要求;井下部分即井下基站子系統(tǒng),包括讀卡器,射頻卡和射頻天線,主要完成人員的信息采集。該系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。
該系統(tǒng)的硬件部分主要由井下基站子系統(tǒng),CAN總線傳輸系統(tǒng)以及電源電路組成。其中的基站子系統(tǒng)主要由MFRC500讀卡芯片,PCB射頻天線,電子標(biāo)簽和AT89S52單片機(jī)等組成, 在該系統(tǒng)中讀卡器工作頻率為13.56MHz。CAN總線傳輸系統(tǒng)由CAN傳輸節(jié)點(diǎn)和總線協(xié)議構(gòu)成,共同控制信息的收發(fā),CAN總線節(jié)點(diǎn)由MCP2515 CAN收發(fā)芯片、控制單元及其外圍電路構(gòu)成,每一個(gè)節(jié)點(diǎn)都有獨(dú)立的對(duì)等收發(fā)能力,大大增加了總線的靈活性和可擴(kuò)展性。在該人員定位系統(tǒng)中的電源部分采用的是LM2596電源控制芯片,該設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單,可拓展性強(qiáng),能夠讓其在6.5-15V之間都穩(wěn)定的工作,可適合于系統(tǒng)中各個(gè)模塊對(duì)電壓的不同需求,保證系統(tǒng)電路穩(wěn)定運(yùn)行。
軟件體系結(jié)構(gòu)的確立是一個(gè)應(yīng)用軟件的核心部分,所謂體系結(jié)構(gòu)是指系統(tǒng)的一個(gè)或多個(gè)結(jié)構(gòu),包括軟件的構(gòu)件、構(gòu)件的對(duì)外可見性及其之間的關(guān)系。確切的說軟件的體系結(jié)構(gòu)并不是一個(gè)可以運(yùn)行的軟件,而是一種表示。根據(jù)實(shí)際的需求找到最佳的實(shí)現(xiàn)方案,設(shè)計(jì)出合理的程序結(jié)構(gòu)。
C/S模式具有交互性很強(qiáng)、數(shù)據(jù)存取的安全性高、較強(qiáng)的數(shù)據(jù)處理能力和較少的網(wǎng)絡(luò)通信量等優(yōu)勢(shì),因此C/S模式適合用于安全性要求高、交互性強(qiáng)、小范圍的固定地點(diǎn)用戶和需要處理大量數(shù)據(jù)的系統(tǒng)使用,結(jié)合本系統(tǒng)的設(shè)計(jì)需求和設(shè)計(jì)目標(biāo),即對(duì)實(shí)時(shí)性、安全和穩(wěn)定性的要求,以及考慮到井下人員的位置和考勤信息無需以網(wǎng)絡(luò)的形式發(fā)布出去,綜合考慮該系統(tǒng)選用C/S模式作為軟件的體系結(jié)構(gòu),本系統(tǒng)軟件結(jié)構(gòu)可分為系統(tǒng)客戶端和系統(tǒng)服務(wù)器端兩個(gè)部分,作為該礦山人員定位系統(tǒng)操作平臺(tái)的系統(tǒng)客戶端,即系統(tǒng)的人機(jī)交互界面,主要完成的功能是用戶可以通過客戶端對(duì)系統(tǒng)進(jìn)行相應(yīng)的操作,其中包括系統(tǒng)設(shè)置,基本信息管理模塊,巷道圖設(shè)計(jì)實(shí)現(xiàn)模塊和監(jiān)測(cè)查詢模塊。
系統(tǒng)服務(wù)器部分的數(shù)據(jù)可分為兩類,一是數(shù)據(jù)庫服務(wù)器,所有的有效信息都是存儲(chǔ)在該數(shù)據(jù)庫中,包括人員基本信息,讀卡器射頻卡信息,巷道和節(jié)點(diǎn)信息等系統(tǒng)所必須的基本信息、井下員工實(shí)時(shí)定位信息、歷史記錄信息等,在該數(shù)據(jù)庫設(shè)計(jì)過程中可以根據(jù)需要設(shè)計(jì)一定的觸發(fā)器和存儲(chǔ)過程,以達(dá)到對(duì)數(shù)據(jù)的有效處理,提高利用率。系統(tǒng)用戶可以通過客戶端對(duì)數(shù)據(jù)庫發(fā)送SQL命令請(qǐng)求,該請(qǐng)求經(jīng)過數(shù)據(jù)庫處理之后能夠反饋給客戶端并進(jìn)行顯示。
串口接收到的數(shù)據(jù)是整個(gè)系統(tǒng)的數(shù)據(jù)來源,可以說是整個(gè)系統(tǒng)的核心部分,該部分主要負(fù)責(zé)射頻數(shù)據(jù)的采集與處理,通過串口與系統(tǒng)的硬件設(shè)備進(jìn)行數(shù)據(jù)通信,并將采集到的數(shù)據(jù)處理之后存到數(shù)據(jù)庫中,為該系統(tǒng)的功能實(shí)現(xiàn)提供理論依據(jù)。
為了能夠?qū)崿F(xiàn)該人員定位系統(tǒng)的功能需求,為系統(tǒng)的實(shí)時(shí)數(shù)據(jù)來源提供理論依據(jù),數(shù)據(jù)通信部分的設(shè)計(jì)成為該系統(tǒng)的不可或缺的重要組成部分,通信方式的好壞將會(huì)直接影響這個(gè)系統(tǒng)的性能。所以我們采用RS-232C作為該人員定位系統(tǒng)中智能節(jié)點(diǎn)和上位機(jī)的之間的通信方式。
在某個(gè)讀卡器的射頻識(shí)別范圍之內(nèi),因?yàn)樯漕l卡不斷地向外發(fā)送射頻信號(hào),讀卡器就會(huì)不斷地重復(fù)讀取射頻卡發(fā)送的射頻信息,并將信息通過CAN總線上傳給上位機(jī)數(shù)據(jù)庫中,在沒有發(fā)生校驗(yàn)錯(cuò)誤的情況下,上位機(jī)會(huì)回復(fù)一條確認(rèn)信息,“告訴”讀卡器可以繼續(xù)發(fā)送信息,如此循環(huán)往復(fù),如果井下工作人員長(zhǎng)時(shí)間的呆在某個(gè)固定節(jié)點(diǎn)處,就會(huì)有大量的重復(fù)數(shù)據(jù)被上傳到上位機(jī)的數(shù)據(jù)庫中,數(shù)據(jù)庫的容量有限,可能會(huì)導(dǎo)致數(shù)據(jù)庫崩潰,也不易于系統(tǒng)的維護(hù)。
針對(duì)本系統(tǒng)的實(shí)際需求分析可知,在某一節(jié)點(diǎn)處存入數(shù)據(jù)庫中的有用信息只有兩條,即首條信息和末條信息有效,因此在該部分的應(yīng)用程序設(shè)計(jì)時(shí)考慮只保留兩條有實(shí)用價(jià)值的首條和末條信息,而不是全部保留。對(duì)于本系統(tǒng)而言,因?yàn)槠渖衔粰C(jī)接收到相同數(shù)據(jù)信息的時(shí)間是不同的,所以可根據(jù)這一關(guān)鍵點(diǎn)來區(qū)分消息的先后順序,刪除掉中間的無效信息。在程序設(shè)計(jì)時(shí),認(rèn)為上位機(jī)首次接收到的信息為首條信息,其后接收到的同樣信息為末條信息,若出現(xiàn)第三條同樣信息,則更新數(shù)據(jù)庫表將第三條信息設(shè)為末條信息,其后以此類推,最后只保留有效的首條和末條兩條信息。
為了解決這個(gè)問題,在程序設(shè)計(jì)時(shí),可以使用數(shù)組來存儲(chǔ)首條和末條兩條有效信息,設(shè)計(jì)兩個(gè)數(shù)組M和N,分別用來存儲(chǔ)某員工在某個(gè)節(jié)點(diǎn)處的來去記錄,當(dāng)某讀卡器接收到某員工的數(shù)據(jù)信息時(shí),需要對(duì)該員工的上一條記錄進(jìn)行判斷,然后確定將此條信息存入M或者N中。
對(duì)于該方法,收到的人員信息數(shù)目與存儲(chǔ)首條或者末條信息數(shù)組的數(shù)目是相對(duì)應(yīng)的,對(duì)于上位機(jī)接收到的信息要不斷地進(jìn)行循環(huán)判斷,與上一條信息進(jìn)行比較,確定本條信息存入哪個(gè)數(shù)組,用舊記錄去覆蓋新的記錄,最終只保留某員工在某節(jié)點(diǎn)處的來去兩條記錄,解決了數(shù)據(jù)重復(fù)冗余的問題。這種方法雖然解決了數(shù)據(jù)庫存儲(chǔ)容量過大的問題,但是需要不間斷的對(duì)數(shù)據(jù)庫表進(jìn)行增刪改等操作,使該應(yīng)用程序的開銷變大,這種對(duì)數(shù)據(jù)庫的頻繁操作同樣會(huì)加重?cái)?shù)據(jù)庫的負(fù)擔(dān),影響對(duì)數(shù)據(jù)信息的查詢等操作,若突然發(fā)生斷電,還有可能導(dǎo)致數(shù)據(jù)丟失等嚴(yán)重問題。
圖2 串口信息處理流程圖
除使用設(shè)定數(shù)組之外,根據(jù)該程序的設(shè)計(jì),在數(shù)據(jù)庫中創(chuàng)建一個(gè)臨時(shí)表用來存儲(chǔ)員工信息,該表中包含著員工信息、區(qū)域位置信息、到達(dá)時(shí)間和離開時(shí)間,以及標(biāo)志信息等,當(dāng)接收的信息是同一員工相同節(jié)點(diǎn)處的信息時(shí),只需將臨時(shí)表中的離開時(shí)間更新即可;如果接收到的是同一員工不同節(jié)點(diǎn)處的數(shù)據(jù)信息時(shí),則需要對(duì)該條記錄的區(qū)域位置信息、到達(dá)時(shí)間、離開時(shí)間以及標(biāo)志位信息。該方法的基本設(shè)計(jì)思想是,當(dāng)上位機(jī)接收到一條新的數(shù)據(jù)信息時(shí),通過對(duì)臨時(shí)表中的記錄進(jìn)行查詢判斷操作,進(jìn)而根據(jù)需要更新相應(yīng)的字段信息。在進(jìn)行查詢操作時(shí)可以使用優(yōu)化SQL語句,這樣對(duì)查詢速度有很大的改進(jìn),一旦系統(tǒng)出現(xiàn)斷電時(shí),不會(huì)導(dǎo)致臨時(shí)表中的數(shù)據(jù)丟失,使該人員定位系統(tǒng)的穩(wěn)定性有所提高。
除了臨時(shí)表之外,該系統(tǒng)的數(shù)據(jù)庫中還需要?jiǎng)?chuàng)建一個(gè)主表,該表中記錄著員工的歷史數(shù)據(jù)信息,主要包括員工的基本信息以及從臨時(shí)表中有效信息記錄等,其中人員基本信息可以從人員基本信息表中獲得。對(duì)于臨時(shí)表中的員工的首條信息記錄要能夠及時(shí)的添加到數(shù)據(jù)庫的主表中以備日后查詢使用,當(dāng)收到相同員工的不同位置時(shí)的信息時(shí),要將臨時(shí)表中存儲(chǔ)的末條該員工信息添加到數(shù)據(jù)庫的主表中,然后才能將該員工新的記錄信息添加進(jìn)去,其后的信息處理依此類推。如果某員工在一段時(shí)間之后再次路過礦井的入井處,則認(rèn)為該員工已經(jīng)出井,要將臨時(shí)表中相應(yīng)的該員工信息刪除掉。
井下人員定位系統(tǒng)在煤礦生產(chǎn)的實(shí)際應(yīng)用中起著非常重要的作用,通過該系統(tǒng)的設(shè)計(jì),我們可以隨時(shí)查看井下員工的實(shí)際生產(chǎn)狀況,在事故發(fā)生之后可以立即采取相應(yīng)的措施進(jìn)行井下急救,能夠方便快捷的找到事故中受困員工,減少事故損失及最大限度的減少人員傷亡。
[1]張才.井下人員定位系統(tǒng)軟件研究與開發(fā)[D].湖北:湖北工業(yè)大學(xué),2007.
[2]刑雪.基于射頻的非煤礦山井下人員定位信息系統(tǒng)研究與開發(fā)[D].西安:西安建筑科技大學(xué),2009.
[3]柯建華.基于RFID與CAN的煤礦井下人員定位系統(tǒng)研究[D].北京:北京交通大學(xué),2006.
[4]姜琛.基于RFID化工企業(yè)人員定位的研究與設(shè)計(jì)[D].哈爾濱工程大學(xué),2008.
[5]金小輝,季琦,魯友紅,等.基于分布式C/S結(jié)構(gòu)的煙草行業(yè)過程監(jiān)控系統(tǒng)[J].自動(dòng)化技術(shù)與應(yīng)用,2008,27(10).
Based on RFID technology personnel positioning system study design
SUN Xin-yu
本系統(tǒng)是通過讀卡器對(duì)攜帶射頻標(biāo)簽卡的工作人員的信息進(jìn)行采集。RFID射頻卡的信息是唯一的固定不變的,可根據(jù)通信協(xié)議寫入,然后CAN總線上的智能節(jié)點(diǎn)將接收到的數(shù)據(jù)通過串口線傳輸?shù)缴衔粰C(jī),這些數(shù)據(jù)信息經(jīng)過后臺(tái)數(shù)據(jù)中心處理后可以存儲(chǔ)到相應(yīng)的數(shù)據(jù)庫表中,進(jìn)而實(shí)現(xiàn)對(duì)井下工作人員監(jiān)測(cè)查詢和模擬顯示的功能。
RFID;CAN總線
孫歆鈺(1981 -),女,湖北荊門人,講師,碩士,研究方向?yàn)橥ㄐ排c信號(hào)系統(tǒng)。
TP317
A
1009-0134(2011)5(上)-0031-03
10.3969/j.issn.1009-0134.2011.5(上).12
2010-11-12