一种智能门禁控制器的软件设计
(2) 群组表: (平均10 人为1 组,共2 000 组)
![](http://m.amcfsurvey.com/editerupload/fetch/20130823/159718_2_0.jpg)
群组表主要是用于确定每一个组所能出入的有效门和有效时段. 包括以下几个部分:
门屏蔽字节:每1bit 代表1 个门的屏蔽位,1 代表此门有效,表示本群组能使用此门. 0 表示无效,本群组不能使用此门. 共4 字节. 时段屏蔽字节:同上,每1bit 代表1 个时段有效或无效,每个门最大有64 个时段,占用8 字节. 最多32个门,占用256 字节.
以上每个组占用260 字节,1 000 个组共占用260K字节.
(3) 时段表: (每天8 个时段,8 天(1 周7 天+ 节假日1 天) )
时段表用于记录具体的每一时段的起始时间和终止时间,以及每一时段的属性. 包括以下部分:
![](http://m.amcfsurvey.com/editerupload/fetch/20130823/159718_2_1.jpg)
以上每个时段占用6 个字节,每天8 个时段,8天,32 个门,共用12 K字节.
![](http://m.amcfsurvey.com/editerupload/fetch/20130823/159718_2_2.jpg)
(4) 读卡器表: (最大64 个读卡器)
读卡器号用于读卡器地址和门号的对照;物理源地址表示持卡人所在区的区号;目的地址表示持卡人要前往区的区号;逻辑源地址是在要防反传时用的,表示持卡人可直接从这些区到该读卡器读卡. 每1bit 表示一个区,为1 时表示有效,为0 表示无效,最多可表示64 个区.
(5) 事件表:
事件表用于存放每一条事件信息. 包括以下几部分:
卡号(3 个字节) 门地址(1 个字节) 事件种类(1 个字节) 读卡时刻
其中,门地址一个字节可表示250 个门(只用32个门) ;
事件种类可表示32 种事件,现已定义的事件如下:
读卡引发事件:1. 介质出门;2. 介质开门;3. 维护;4. 超时限;5. 巡更;6. 挂失
非读卡引发事件:7. 非法开门;8. 遥控开门;9. 机箱打开;10. 机箱关闭;11. 读卡器防拆; 12. 读卡器恢复;13. 设防;14. 撤防;15. 电池失效;16. 电池投入;17.市电掉电;18. 进入常开;19. 退出常开;20. 超时未关;21. 关门.
每条事件消息将占用6 个字节(不超过4 min) ,或12 个字节(超过4 min) ;
读卡时刻的表示方法如下:
读卡时刻字节存储的是本次读卡时刻和上一次读卡时刻的差值,若差值大于254 (4. 2 min) ,则将此字节置为255 (FF) ,同时在下一个连续的6 个字节存放本次读卡的绝对时刻(年月日时分秒) .
评论