一種智能門(mén)禁控制器的軟件設(shè)計(jì)
3 軟件的實(shí)現(xiàn)
門(mén)禁系統(tǒng)的軟件主要由管理中心計(jì)算機(jī)上的軟件和門(mén)禁控制器上的軟件組成. 為敘述方便,以下門(mén)禁控制器簡(jiǎn)稱(chēng)為門(mén)控器.
在門(mén)禁系統(tǒng)中,門(mén)控器上的軟件所執(zhí)行的主要功能有建表,添加、更改和刪除表內(nèi)容,對(duì)讀卡事件做判斷處理和存儲(chǔ)各種事件. 與門(mén)禁系統(tǒng)有關(guān)的任務(wù)有門(mén)禁系統(tǒng)任務(wù)(也就是讀卡事件處理任務(wù)) 、網(wǎng)絡(luò)數(shù)據(jù)接收任務(wù)、數(shù)據(jù)存儲(chǔ)任務(wù)、系統(tǒng)間聯(lián)動(dòng)任務(wù),還有數(shù)據(jù)采集的中斷服務(wù)程序. 另外,還有個(gè)根任務(wù),它執(zhí)行硬件設(shè)備的初始化,定義幾個(gè)表的結(jié)構(gòu)數(shù)組,創(chuàng)建各任務(wù)、信號(hào)量、消息隊(duì)列、實(shí)時(shí)數(shù)據(jù)緩沖池. 根任務(wù)完成這些事情后把自己刪除掉,使當(dāng)前優(yōu)先級(jí)最高的就緒任務(wù)進(jìn)入運(yùn)行態(tài)[3 ] .
3. 1 讀卡事件處理任務(wù)
讀卡事件處理任務(wù)的過(guò)程:首先,采集數(shù)據(jù)的中斷服務(wù)程序發(fā)來(lái)的事件標(biāo)志激活該任務(wù),從緩沖池中讀取卡號(hào)和讀卡器號(hào),或者還有密碼;其次,根據(jù)卡號(hào)、讀卡器號(hào)和當(dāng)前的讀卡時(shí)間,到持卡人信息表、讀卡器表、群組表里去檢索信息;然后,根據(jù)群組表里的門(mén)屏蔽字去查門(mén)的時(shí)段表、門(mén)的時(shí)段屬性;最后,根據(jù)所得信息執(zhí)行命令并保存事件內(nèi)容、修改使用次數(shù)和人員位置數(shù)據(jù)等. 該任務(wù)的優(yōu)先級(jí)為200 ,用獲取信號(hào)量的辦法與網(wǎng)絡(luò)接收數(shù)據(jù)任務(wù)互斥開(kāi). 因?yàn)樵撊蝿?wù)涉及到幾個(gè)表,數(shù)據(jù)量比較大,所以堆??臻g較大,為500 K.通過(guò)發(fā)巡更事件與巡更任務(wù)通信[3 ] . 超級(jí)卡程序比普通卡的程序少一項(xiàng)時(shí)段判斷的過(guò)程,其它的與普通卡程序一樣;維護(hù)卡程序?qū)崿F(xiàn)解除門(mén)控器防拆報(bào)警使之恢復(fù)正常工作狀態(tài);巡更卡程序發(fā)送巡更標(biāo)志給巡更任務(wù). 關(guān)于是否違反防反傳規(guī)定,要視具體工程和客戶(hù)的要求而定.
3. 2 巡更任務(wù)
操作員在監(jiān)控管理中心設(shè)置巡更路線(xiàn)和巡更時(shí)間表,而后下傳到門(mén)控器上. 巡更任務(wù)通過(guò)接收讀卡事件處理任務(wù)發(fā)來(lái)的巡更事件標(biāo)志,根據(jù)當(dāng)前時(shí)間和巡更時(shí)間表,判斷巡更是否到位,并向監(jiān)控管理中心計(jì)算機(jī)發(fā)送信息,決定是否報(bào)警. 巡更站就是讀卡機(jī),在規(guī)定的時(shí)刻和誤差范圍內(nèi)讀卡,表示巡更到位,否則表示巡更不到位. 巡更任務(wù)的優(yōu)先級(jí)較低, 取100 , 堆棧取6 000 ,該任務(wù)可搶占,時(shí)間片為50 ns.
3. 3 網(wǎng)絡(luò)數(shù)據(jù)接收任務(wù)
網(wǎng)絡(luò)數(shù)據(jù)接收任務(wù)的功能為接收管理中心計(jì)算機(jī)或其它門(mén)控器發(fā)來(lái)的數(shù)據(jù)和命令,根據(jù)這些命令和數(shù)據(jù),執(zhí)行相應(yīng)的建表、添加、更改、刪除、維護(hù)和讀事件等操作. 該任務(wù)的優(yōu)先級(jí)取190 ,堆棧設(shè)為600 K,可搶占. 采用客戶(hù)/ 服務(wù)器的通信模式,接受數(shù)據(jù)的門(mén)控器為服務(wù)器,發(fā)送數(shù)據(jù)的管理中心計(jì)算機(jī)為客戶(hù).為了通信方便,我們自己定義了一套數(shù)據(jù)傳輸?shù)母袷?具體格式如下:
因?yàn)椴荒軐?duì)flash 存儲(chǔ)器進(jìn)行單個(gè)字節(jié)的擦除和改寫(xiě),只能一個(gè)一個(gè)模塊整塊擦除,再重新寫(xiě),所以門(mén)禁控制器上的數(shù)據(jù)表只采用新建和重建兩個(gè)命令(flash 的擦除次數(shù)可達(dá)100 萬(wàn)次) .
3. 4 數(shù)據(jù)存儲(chǔ)任務(wù)和系統(tǒng)間聯(lián)動(dòng)任務(wù)
數(shù)據(jù)存儲(chǔ)任務(wù)的主要功能是定期把SDRAM 里的事件數(shù)據(jù)保存到flash 存儲(chǔ)器和管理計(jì)算機(jī)上. 系統(tǒng)間聯(lián)動(dòng)任務(wù)主要是響應(yīng)其它系統(tǒng)的要求,比如火災(zāi)報(bào)警系統(tǒng)報(bào)警時(shí)要求把有關(guān)的門(mén)打開(kāi),而安全防范系統(tǒng)在遇盜時(shí),需把有關(guān)的門(mén)關(guān)閉. 該任務(wù)的優(yōu)先級(jí)要求比較高,取230.
持卡人信息表、群組表、時(shí)段屬性表和讀卡器表的數(shù)據(jù)結(jié)構(gòu)定義的程序清單如下
4 結(jié) 語(yǔ)
本文主要闡述了門(mén)禁控制器軟件的設(shè)計(jì)及實(shí)現(xiàn).詳細(xì)說(shuō)明了門(mén)禁控制系統(tǒng)的組成、基本結(jié)構(gòu)、工作方式及功能功述;系統(tǒng)分析了門(mén)禁控制系統(tǒng)的工作原理. 門(mén)禁控制器系統(tǒng)應(yīng)用于出入口管理系統(tǒng),提供了較高的安防保障,并日益被推廣.
評(píng)論