搜索 Search
你的位置:首页 > 行业快讯 > 安装门禁

BACnet智能门禁系统软件设计

2014/8/25 18:00:14点击:

4.1面向对象的软件设计思想

由第2章介绍可知,BACnet协议采用了先进的面向对象分析和设计的方法,将智能建筑领域的所有设备进行了抽象分类,形成了对象的概念。本系统是基于BACnet标准为通信协议的,因此软件设计必须采用面向对象的设计方法。在BACnet网络中,将所有设备进行抽象,看作由一定基本控制功能单元所组成,且任何设备均可用有限数量的基本控制单元进行描述和表述。这些基本控制单元BACnet中就称为对象。同理,将智能门禁系统中的各个设备也抽象成各种各样的对象,定义这些对象包含的属性,并且将门禁设备的访问和操作映射为对象的识别和访问。在以下的软件设计中将充分体现面向对象的方法,同时我们也应看到面向对象设计给我们带来的好处:与传统软件设计一方法相比,在可靠性,易重用性、易维护性等方面的有了明显的提高效果。

4.2门禁控制器软件设计

BACnet设备实现互操作的关键在于面向对象分析和设计方法的应用。首先定义了楼宇自控设备的互操作表示方法对象;其次,定义了互操作楼宇自控设备的命令或信息的语义服务;然后定义在互操作楼宇自控设备间传输服务的工具通信网络:最后定义互操作信息的语法和格式编码。下面将分别从这四个方面来分析。

4.2.1BACnet门禁系统对象模型

4.2.1.1系统对象关系图

2006619,ASHRAE发布了基于BACnetfl禁系统的自皮书,正式将门禁控制系统融合到BACnet协议中,此次门禁系统白皮书中,在慕于已有的对象和服务的基础之上又定义了7个新的对象(AuthenticatinnFactorlut,AeeessPoint,AceessZone,AeeessCredential,Aeeessghts,AeeessUser,Aecess Door)来完成门禁系统中可能会用到的服务,而门禁系统中服务的扩展正是基于在对象的扩展的基础之上13'l。根据BACnet协议,一个门禁系统可以根据其要完成的功能可分为:读卡过程、鉴别和认可过程、机械门控制和监视过程三个部分,每个部分分别提供-个接口来与其他部分相连,从而构成一个系统,系统的运行正是通过读/写这些接口中的BAcnet对象中的属性来实现的132]

(l)读卡器接口

读卡器接口的主要功能就是读取卡中的数据信息(或生物特征信息)并将这些信息传输给鉴别和认可的过程。这里有一点需要注意的是,所说的是用于识别目标的介质抽象,技术包括条形码、射频识别、生物信息识别,介质可能有纸张、接触式卡、非接触式卡或者指纹等。本次设计的门禁系统选用的是射频信号识别。在读卡器接口中用到鉴别因素输入(AuthenticationFactorlut)对象,当读卡器读取卡片信息时,即读取了鉴别因素输入对象的属性,此时设备对象会收到一个COV(Change_of--Vaue)报告。

(2)鉴别和认可接口

鉴别过程是验证持卡人的身份,认可过程是执行是否允许此人进入。在这个接口中定义了用于确定地理位置的对象:入门点(AccessPoint);用于鉴别认可的对象:入门用户(eessUser)、入门权限(Aeeessghts)和时I'riJ安排(Sehedule)。如果想要成功的开门,必须至少满足以下三个条件:①时间是在规定的有效时间;②地点是在规定有效门:③最大的威胁是在可以允许的范围以内(例如是否允许防返传等)

(3)入门接口

入门接口只有一个入门(AccessDoor)对象。这个是一个抽象设备的概念,它包括了出门按钮(用二进制输入对象表示),门锁状态(用二进制输出对象表示)等控制门的所有特性。门通常是由的上面所说的鉴别和认可过程来控制的,但也可由其他楼宇控制系统来控制,如火灾报警控制系统。另外,如卡返传,强制开门等事件发生时,也是通过BACnet标准中的状态改变算法(Change--of--state)引用AccessDoor对象属性参数来产生一个报警信号。

其中,一致性代码说明标志的含义是:R表示属性必需,而服务可读;w表示属性必需,且服务可读、可写;O表示属性可选。一部分属性是为了满足BACnet一般性要求所必需的,另一部分足用来提供通用事件和报警功能。其他为AccessDoor对象设备自身特点的功能属性,如门标识符用于识别此门的唯一标识号码;当前值用于指定AccessDo:设备处于的工作状态,是开门状态还是关门状态;所属成员,指明该设备作为·个生命安全相关的设备具体所属的生命安全区域对象。AccessDoor设备是一个生命安全设备,它支持BACnet报警和事件功能中的生命安全改变事件类型。

(2)AutheniieationFaetorInput对象

读卡器接口中的鉴别因素输入(AuthenticationFactorInPut)对象描述了读卡器所读入的鉴别信息,有数据信息和生物信息等。为节省篇幅,在此省略了其他BACnet对象的共同属性,只说明与其他BACnet对象不同属性的意义,如识别类型说明了用何种自动鉴别技术;是否加密及加密算法属性为一个枚举类型,表明用户选择的当前加密算法。

(3)AeeessUser对象

入门用户(AccesSUser)对象用于描述一系列用于识别的目标(包括群组、单个人员、货物等)的信息,用以实现对其操作和管理。这个对象可以被其他系统(HRMS,CMSIDMS)所引用。入门用户(AeeessUser)对象可以如表43来定义。在此仅列出与AceessUser对象自身特点有关的功能属性。如User--ID,用于用户的唯一标识号码;MembersMember--of这两个可选属性用来表示入门用户间的层次结构,表明它包含了哪些其他入门用户对象和它自身又属于哪些入门用户对象。

(4)Aeeessghts对象

Accessghts对象,用于确定用户所能出入的有效门和有效时段,当前值表示Accessghts对象状态,逻辑状态分活动和非活动两种,用以表示是否授权,如果未授权,则不能进行开门服务。

(5)AeeessPoint对象

AccessPnint对象是用以说明鉴别和认可过程发生地理位置的对象。其中需要说明的属性是,鉴别模式是可能随时间的改变而改变的,就是说可能在上班时间只需要刷卡,而在下班的时间进入却不仅需要刷卡还要提供生物鉴别信息,这样安全更有保证;入门模式分为进门和出门两种,有时出门只需按下出门按钮而无须鉴别和认可过程:威胁等级说明了可允许的最大威胁。AccessPoini对象可以如表45来定义。

4.2.2系统程序流程设计和服务原语

以上AeeessDoor对象、AuthentieationFaetorInput对象、AeeessUser对象、Aceessghts对象、AccessPoini对象实现了基本的智能化管理的功能单元的描述。为了完成在BACnet网络下的实际应用和需要,本文设计了与门禁系统有关的服务:有读卡请求(ReadCardRequest)服务、巡更任务(PatrolMission)服务、报警任务(AlannMission)服务和记录登录(ReeosEnrollment)服务13,l

4.2.2.1读卡请求任务

读卡事件任务的过程:当有要求进入时,调用ReadcardRequest服务。首先,采集数据的中断服务程序发来的事件标志激活该任务,调用已有标准的Readproperty服务从AeeessUser对象和Aeeesspoint对象中读取卡号和入门点号;然后,将卡号、入门点号和当前的读卡时间封装成一个数据帧,用加密算法对其进行加密,发送时将密文发送出去,向安全中心的服务器进行验证,在服务器解密后,查找是否存在该用户,是否是有效时间和有效门,是否在通信过程中遭到了攻击,若通过了该请求,就将有关参数写入AceessDoor对象的属性中,返回Result(+)原语(表明请求成功),如果请求不符合要求,则返回Resuh()原语,给出错误类型。最后,根据所得信息向门控制器发送执行命令并保存事件内容、修改次数和人员位置数据等。