智能門禁控制系統(tǒng)是保安監(jiān)控系統(tǒng)的一個(gè)重要組成部分。 在機(jī)關(guān)單位、工廠、公司等多種場(chǎng)所,為了工作、生活的安全,需要進(jìn)行封閉式管理。 傳統(tǒng)的方法是
由警衛(wèi)人員對(duì)進(jìn)出口進(jìn)行驗(yàn)證或登記后才放行,這種方法效率低,而且占用人力。 本文介紹一種智能門禁控制器的軟件設(shè)計(jì)。
1 系統(tǒng)組成
門禁控制系統(tǒng)是在建筑物內(nèi)的主要管理區(qū)的出入口、電梯廳、主要設(shè)備控制中心機(jī)房、貴重物品庫房等重要部位的通道口安裝門磁開門、電控鎖、讀卡器等控制裝置,系統(tǒng)框圖如圖1 所示。 由中心控制室監(jiān)控,系統(tǒng)采用計(jì)算機(jī)多重任務(wù)的處理,能夠?qū)Ω魍ǖ揽诘奈恢?、通過對(duì)象及通過時(shí)間等進(jìn)行實(shí)時(shí)控制,以適應(yīng)小區(qū)、辦公樓的公共安全管理。
2 控制器軟件的設(shè)計(jì)
門禁系統(tǒng)的主要工作過程是:先從讀卡器讀取卡號(hào),并獲得讀卡器號(hào),接著根據(jù)卡號(hào)和讀卡器號(hào)到持卡人信息表、讀卡器表、群組表里去檢索信息,然后根據(jù)門屏蔽字查門的時(shí)段表,再查門的時(shí)段屬性,最后根據(jù)所得信息發(fā)送命令并保存事件信息。 為此,門禁系統(tǒng)可劃分為五個(gè)表: (以一個(gè)能容納20 000 人,1 000 個(gè)組,32 個(gè)門,每門64 個(gè)時(shí)段的控制器來設(shè)計(jì)) 。
(1) 持卡人信息表:
其中,卡號(hào)為一個(gè)6 位的十進(jìn)制數(shù),卡類型包括卡片種類和卡片狀態(tài)[2 ] 。 卡片種類(級(jí)別) 分為四種:
普通卡———受時(shí)限(日期或次數(shù)) 、時(shí)段限制的卡片;
巡更卡———只記錄讀卡時(shí)間無其它功能的卡片;
超級(jí)卡———受時(shí)限(日期或次數(shù)) 限制,不受時(shí)段限制的卡片;
維護(hù)卡———除具有普通卡的功能,還能用于解除控制器防拆報(bào)警使之恢復(fù)正常工作狀態(tài)的卡片。
卡片狀態(tài)有5 種:
正??ㄆ哂姓9πУ目ㄆ? 掛失卡片———聲明遺失的卡片;禁用卡片———被停止使用的卡片;失效卡片———超過使用時(shí)限的卡片;待用卡片———
未到啟用日期的卡片。
群組號(hào)表示該持卡人屬于哪個(gè)群組。 時(shí)限有限天、限次和既限天又限次3 種。 其中時(shí)限中的限次和持卡人當(dāng)前位置在程序中動(dòng)態(tài)變化,其它項(xiàng)在程序中固定不變。 以上每個(gè)持卡人信息占用16 個(gè)字節(jié),按10 000人計(jì)算,共占用160 K字節(jié)。
(2) 群組表: (平均10 人為1 組,共2 000 組)
群組表主要是用于確定每一個(gè)組所能出入的有效門和有效時(shí)段。 包括以下幾個(gè)部分:
門屏蔽字節(jié):每1bit 代表1 個(gè)門的屏蔽位,1 代表此門有效,表示本群組能使用此門。 0 表示無效,本群組不能使用此門。 共4 字節(jié)。 時(shí)段屏蔽字節(jié):同上,每1bit 代表1 個(gè)時(shí)段有效或無效,每個(gè)門最大有64 個(gè)時(shí)段,占用8 字節(jié)。 最多32個(gè)門,占用256 字節(jié)。
以上每個(gè)組占用260 字節(jié),1 000 個(gè)組共占用260K字節(jié)。
(3) 時(shí)段表: (每天8 個(gè)時(shí)段,8 天(1 周7 天+ 節(jié)假日1 天) )
時(shí)段表用于記錄具體的每一時(shí)段的起始時(shí)間和終止時(shí)間,以及每一時(shí)段的屬性。 包括以下部分:
以上每個(gè)時(shí)段占用6 個(gè)字節(jié),每天8 個(gè)時(shí)段,8天,32 個(gè)門,共用12 K字節(jié)。
(4) 讀卡器表: (最大64 個(gè)讀卡器)
讀卡器號(hào)用于讀卡器地址和門號(hào)的對(duì)照;物理源地址表示持卡人所在區(qū)的區(qū)號(hào);目的地址表示持卡人要前往區(qū)的區(qū)號(hào);邏輯源地址是在要防反傳時(shí)用的,表示持卡人可直接從這些區(qū)到該讀卡器讀卡。 每1bit 表示一個(gè)區(qū),為1 時(shí)表示有效,為0 表示無效,最多可表示64 個(gè)區(qū)。
(5) 事件表:
事件表用于存放每一條事件信息。 包括以下幾部分:
卡號(hào)(3 個(gè)字節(jié)) 門地址(1 個(gè)字節(jié)) 事件種類(1 個(gè)字節(jié)) 讀卡時(shí)刻
其中,門地址一個(gè)字節(jié)可表示250 個(gè)門(只用32個(gè)門) ;
事件種類可表示32 種事件,現(xiàn)已定義的事件如下:
讀卡引發(fā)事件:1. 介質(zhì)出門;2. 介質(zhì)開門;3. 維護(hù);4. 超時(shí)限;5. 巡更;6. 掛失
非讀卡引發(fā)事件:7. 非法開門;8. 遙控開門;9. 機(jī)箱打開;10. 機(jī)箱關(guān)閉;11. 讀卡器防拆; 12. 讀卡器恢復(fù);13. 設(shè)防;14. 撤防;15. 電池失效;16. 電池投入;17.市電掉電;18. 進(jìn)入常開;19. 退出常開;20. 超時(shí)未關(guān);21. 關(guān)門。
每條事件消息將占用6 個(gè)字節(jié)(不超過4 min) ,或12 個(gè)字節(jié)(超過4 min) ;
讀卡時(shí)刻的表示方法如下:
讀卡時(shí)刻字節(jié)存儲(chǔ)的是本次讀卡時(shí)刻和上一次讀卡時(shí)刻的差值,若差值大于254 (4. 2 min) ,則將此字節(jié)置為255 (FF) ,同時(shí)在下一個(gè)連續(xù)的6 個(gè)字節(jié)存放本次讀卡的絕對(duì)時(shí)刻(年月日時(shí)分秒) 。
3 軟件的實(shí)現(xiàn)
門禁系統(tǒng)的軟件主要由管理中心計(jì)算機(jī)上的軟件和門禁控制器上的軟件組成。 為敘述方便,以下門禁控制器簡(jiǎn)稱為門控器。
在門禁系統(tǒng)中,門控器上的軟件所執(zhí)行的主要功能有建表,添加、更改和刪除表內(nèi)容,對(duì)讀卡事件做判斷處理和存儲(chǔ)各種事件。 與門禁系統(tǒng)有關(guān)的任務(wù)有門禁系統(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. 1 讀卡事件處理任務(wù)
讀卡事件處理任務(wù)的過程:首先,采集數(shù)據(jù)的中斷服務(wù)程序發(fā)來的事件標(biāo)志激活該任務(wù),從緩沖池中讀取卡號(hào)和讀卡器號(hào),或者還有密碼;其次,根據(jù)卡號(hào)、讀卡器號(hào)和當(dāng)前的讀卡時(shí)間,到持卡人信息表、讀卡器表、群組表里去檢索信息;然后,根據(jù)群組表里的門屏蔽字去查門的時(shí)段表、門的時(shí)段屬性;最后,根據(jù)所得信息執(zhí)行命令并保存事件內(nèi)容、修改使用次數(shù)和人員位置數(shù)據(jù)等。 該任務(wù)的優(yōu)先級(jí)為200 ,用獲取信號(hào)量的辦法與網(wǎng)絡(luò)接收數(shù)據(jù)任務(wù)互斥開。 因?yàn)樵撊蝿?wù)涉及到幾個(gè)表,數(shù)據(jù)量比較大,所以堆棧空間較大,為500 K.通過發(fā)巡更事件與巡更任務(wù)通信[3 ] 。 超級(jí)卡程序比普通卡的程序少一項(xiàng)時(shí)段判斷的過程,其它的與普通卡程序一樣;維護(hù)卡程序?qū)崿F(xiàn)解除門控器防拆報(bào)警使之恢復(fù)正常工作狀態(tài);巡更卡程序發(fā)送巡更標(biāo)志給巡更任務(wù)。 關(guān)于是否違反防反傳規(guī)定,要視具體工程和客戶的要求而定。
3. 2 巡更任務(wù)
操作員在監(jiān)控管理中心設(shè)置巡更路線和巡更時(shí)間表,而后下傳到門控器上。 巡更任務(wù)通過接收讀卡事件處理任務(wù)發(fā)來的巡更事件標(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ī)或其它門控器發(fā)來的數(shù)據(jù)和命令,根據(jù)這些命令和數(shù)據(jù),執(zhí)行相應(yīng)的建表、添加、更改、刪除、維護(hù)和讀事件等操作。 該任務(wù)的優(yōu)先級(jí)取190 ,堆棧設(shè)為600 K,可搶占。 采用客戶/ 服務(wù)器的通信模式,接受數(shù)據(jù)的門控器為服務(wù)器,發(fā)送數(shù)據(jù)的管理中心計(jì)算機(jī)為客戶。為了通信方便,我們自己定義了一套數(shù)據(jù)傳輸?shù)母袷剑唧w格式如下:
因?yàn)椴荒軐?duì)flash 存儲(chǔ)器進(jìn)行單個(gè)字節(jié)的擦除和改寫,只能一個(gè)一個(gè)模塊整塊擦除,再重新寫,所以門禁控制器上的數(shù)據(jù)表只采用新建和重建兩個(gè)命令(flash 的擦除次數(shù)可達(dá)100 萬次) 。
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)的門打開,而安全防范系統(tǒng)在遇盜時(shí),需把有關(guān)的門關(guān)閉。 該任務(wù)的優(yōu)先級(jí)要求比較高,取230.
持卡人信息表、群組表、時(shí)段屬性表和讀卡器表的數(shù)據(jù)結(jié)構(gòu)定義的程序清單如下
4 結(jié)語
本文主要闡述了門禁控制器軟件的設(shè)計(jì)及實(shí)現(xiàn)。詳細(xì)說明了門禁控制系統(tǒng)的組成、基本結(jié)構(gòu)、工作方式及功能功述;系統(tǒng)分析了門禁控制系統(tǒng)的工作原理。 門禁控制器系統(tǒng)應(yīng)用于出入口管理系統(tǒng),提供了較高的安防保障,并日益被推廣。
責(zé)任編輯:gt
-
控制器
+關(guān)注
關(guān)注
112文章
16398瀏覽量
178544 -
控制系統(tǒng)
+關(guān)注
關(guān)注
41文章
6635瀏覽量
110687 -
讀卡器
+關(guān)注
關(guān)注
2文章
417瀏覽量
39397
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論