门禁系统原理与VB串口通信_第1页
门禁系统原理与VB串口通信_第2页
门禁系统原理与VB串口通信_第3页
门禁系统原理与VB串口通信_第4页
门禁系统原理与VB串口通信_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、门禁系统原理来源:/ 作者:2007-2-19 18:59:33 点击:次【摘要】国内安防领域主流供应商,考勤系统,门禁系统,一卡通系统等.最佳的解决方案和贴心的服务!为办 公室综合安全解决方案提供更高的安全保护.门禁系统是最近几年才在国内广泛应用的又一高科技安全设施之一,现已成为现代建筑的智能化标志之一。 在越来越注重商业情报和安全的今天,对进出一些重要机关、科研实验室、档案馆、以及关系到国计民生 的公用事业单位的控制中心、民航机场等场所的工作人员,给予进出授权控制。经济的增长有时引发犯罪的发生,对安全感的追求导致现代化楼宇对保安系统的要求也越来越高。楼 宇保安系统不仅包括闭路电视及防盗报警

2、,此外还包括一些门锁、防盗门、防盗网及保安人员等,以满足 不了人们日益增加的安全要求。-保安管理功能,可以设置使用人的权限和进出时间,可以将使用人的姓名、年龄、职务、相片等 多达18种内容的数据输入电脑中,便于查询统计及验证身份;-考勤功能,可以根据实际情况将人员编组分类,针对各种节假日,工作日进行考勤记录;-巡更功能,可以记录保安员巡更的路线,时间以及巡更点发生的事件如房门损坏,电梯故障等;-多种门禁方式组合,可以设置门锁为只进不出,长开,定时开关等多种功能及各种组合;-应急及统计功能,本系统可以在电脑上显示出指定持卡人所处的物理位置,便于及时联系。发生 火警等紧急情况时,防火门会自动打开,

3、便于逃生,出入口也可以自动打开;当发生非法进出时,会自动 报警;本系统还可以根据客户的需要,打印出各种统计报表。门禁系统属公共安全管理系统范畴。在建筑物内的主要管理区、出入口、电梯厅、主要设备控制中心 机房、贵重物品的库房等重要部位的通道口,安装门磁开关、电控锁或读卡机等控制装置,由中心控制室 监控,系统采用计算机多重任务的处理,能够对各通道口的位置、通行对象及通行时间等实时进行控制或 设定程序控制,适应一些银行、金融贸易楼和综合办公楼的公共安全管理。门禁系统作用在于管理人群进出管制区域,限制未授权人仕进出特定区域,并使已授权者在进出上更 简捷。系统可用感应卡、指纹、密码等,作为授权识别,通过

4、控制机编程,记录进出人仕时间日期,并可 配合警报及闭路电视系统以达致最佳管理。适用于各类型办公室、计算机室、数据库、停车场及仓库等。出入口门禁控制系统采取以感应卡来取代用钥匙开门的方式。使用者用一张卡可以打开多把门锁,对门 锁的开启也可以有一定的时间限制。如果卡丢失了,不必更换门锁,只需将其从控制主机中注销。出入口 门禁控制系统是通过对出入口的准入情况进行控制、管理和记录的设备,对何人何时在何地进行详细跟踪, 以实现中心对出入口的24小时控制、*作、监视及管理。每一个出入口设置一个读卡器,所读取的门禁卡参数经由控制器判断分析:准入则电锁打开,人员可 自行通过。禁入则电锁不动作而且立即报警并作出

5、相应的记录;用户可以选择各种类型的读卡器:磁卡读 卡器、韦根式读卡器、感应式读卡器、免持式读卡器、遥距式红外线读卡器,也可选用数字密码键盘开锁; 管理软件不仅可以对不同出入口读卡器的开启时间、准入时间进行编程,还可以对每一张门禁卡允许进入 的区域、时间进行限制防止人员“误入歧途”,并可随时查询出入情况;可根据用户的具体要求定做考勤软 件,统计加班时间、迟到时间、次数,并计算当月应得工资、应扣工资及实得工资等;对于单位领导等特 别人员,可以有特殊的权限设定,从而达到对每个出入口和每个出入人员的单独编程、统一管理;对于整 个系统的每个动作,如哪扇门开启,时间多长,是谁在开门等情况,管理中心全部记录

6、在案。一旦有事故 发生,这些记录将成为有力和无法更改的证据。系统具有防返传功能:防止有人进入某区域后,将卡回传给区域外企图用同一张卡进入的另一人员; 具有人员追踪功能:在外门未关闭之前,无法打开内门;若发生强行破门、恶意破坏读卡器或键盘、无效 卡或错误密码企图开门等不正常事件,管理中心立即获知并提醒值班警卫。系统同时启动现场探照灯、录 像机等相关设备。感应卡特点因为感应卡的上市,使用者再也不需要携带钥匙,更免除了钥匙被复制的烦恼,再也不必耽心财物可 能蒙受损失。感应式讯号发送器的封装形式有许多种,包括卡片式、钥匙圈式、笔心式、玻璃管式、麦克 笔.等等,体积有大小差别,而体积的大小往往与感应距离

7、成正比,一般来说,使用人员于门禁及停车 场管制时,为了方便携带,通常做成卡片式,故俗称感应卡。动作原理:感应卡(Promixity Card)一般以接触卡称之,磁卡在使用时要有刷卡的动作以达到管制目的。通常一张感应卡中有IC芯片、感应线圈及电容原件。感应卡为发射应答端,而感应式卡片阅读机为接收端, 类似发电机,持续发送频率。当卡片靠近卡片阅读机发射频率的范围内时,卡片内的线圈会接受此频率并 产生能量,此能量储存在电容器内,当能量到达激磁的状态时,会将卡片中IC芯片上所烧录的密码发送 给卡片阅读机卡片阅读机辨识过后,便可开门,坊间各厂牌的卡片阅读机所发射出的频率不同,故卡片不 会有互通并可使用状

8、况发生。设置门禁管理系统主要目的是保证上述区域及区域内设备安全,便于人员的合理流动,对进入这些重 要区域的人员实行各种方式的进出许可权管理,以便限制人员随意进出。当员工要进入被管制的区域时, 必须先在门旁的读卡器中刷卡,门才能被打开。每道门边的读卡器均通过现场控制介面单元和系统集中控 制器受到监控终端的控制。每一张卡根据系统设置,只能在规定时间内打开规定范围的门。同时防止外来 人员随便闯入,如有人强行破门或下班没有关门,门禁装置将发出报警信号,监控终端上马上显示报警的 门号。门禁系统设计之目的是为实现人员出入权限控制及出入信息记录。门禁系统原理1、对需控制的出入口,安装受电锁装置和感应器(如:

9、电子密码键盘、读卡器、指纹阅读器等)控制 的电控门;2、授权人员持有效证卡,或密码和自己的指纹,就可以开启电控门;3、所有出入资料,都被后台计算机记录在案;通过后台计算机可以随时修改授权人员的进出权限;4、该系统还可以加入考勤系统功能;系统要求高度集成化:实现与其他系统的完全联动,包括:消防报警系统、CCTV系统、电梯系统、资讯通讯系统、 停车场系统及楼宇控制系统等。高保安性:要求整个系统性能稳定、安全可靠,防伪性强。冗余率大:具备大容量的可扩充性,如需扩充设备,不用另外增加主控部分,只需增加前端设备和现场控 制单元即可。系统功能权限管理:对人员出入权限设置、更改、取消、恢复。存储功能:存储人

10、员出入的日期、时间、卡号、是否非法等相关信息。集中管理功能:后台管理工作站可建立用户资料库,定期或实时采集每个出入口的进出资料,同时可 按各用户进行汇总、查询、分类、打印等。异常报警:非法闯入、门锁被破坏等情况出现时系统会发出实时报警信息传输到管理中心。联动功能:可实现消防联动,当出现火警等情况时,由中心统一开启出入通道,可启动CCTV实现联 运实时监控。门禁系统的微机管理功能系统管理:这部分软件的功能是对系统所有的设备和数据进行管理,有以下几项内容设备注册比如在增加控制器或是卡片时,需要重新登记,以使其有效;在减少控制器或是卡片遗失、人员变动 时使其失效。级别设定在已注册的卡片,哪些可以通过

11、那些门,哪些不可以通过。某个控制器可以让哪些卡片通过,不允许 哪些通过。对于计算机的*作要设定密码,以控制哪些人可以*作。时间管理可以设定某些控制器在什么时间可以或不可以允许持卡人通过;哪些卡片在什么时间可以或不可以通 过哪些门等。数据库的管理对系统所记录的数据进行转存、备份、存档和读取等处理。事件记录:系统正常运行时,对各种出入事件、异常事件及其处理方式进行记录,保存在数据库中, 以备日后查询。报表生成:能够根据要求定时或随机地生成各种报表。比如,可以查找某个人在某段时间内的出入情 况,某个门在某段时间内都有谁进出等,生成报表,并可以用打印机打印出来。进而组合出“考勤管理”、“巡 更管理”、

12、“会议室管理”等。网间通信:系统不是作为一个单一的系统存在,它要向其它系统传送信息。比如在有非法闯入时,要 向电视监视系统发出信息,使摄像机能监视该处情况,并进行录象。所以要有系统之间通信的支持。管理系统除了完成所要求的功能外,还应有漂亮、直观的人机界面,使人员便于*作。门禁系统的组成被控制的门;控制器;门磁锁;读卡器及卡片;手动按钮;钥匙;指示灯;与上位机通讯的线缆;上 位PC机;专用软件门禁系统的功能刷卡开门:若卡号不对或属黑名单将闭门并报警手动按钮开门:门内人员出门用钥匙开门:门禁系统管理员使用上位机指令开关门:在特殊情况下由上位机指令门的开关门的状态及被控信息记录到上位机中:可方便的进

13、行查询上位机负责卡片的管理:发放卡片及登录黑名单走入门禁市埸传统的个人身份鉴别手段已不能完全满足现代社会经济活动和社会安全防范的需要。从消除人为不安 全因素看,只有不易被他人代替、仿制、甚至其本人也无法转让的身份识别凭证才能胜任。因此,从易用 性、安全性、成熟性和造价等方面综合比较,随着IT (信息技术)的不断前进,随着识别技术的不断成熟, 随着计算机技术的飞速发展,门禁技术发展迅猛,正以惊人的迅度从传统的键盘、磁卡式向感应卡、智能 卡及多功能卡的方向发展。现在门禁系统甚至可以利用卫星网络提供全球门禁服务。从门禁系统迅猛的成 长迅度可以看出该产品的市埸已逐渐成熟,一改往日报警和监控产品一统天下

14、的局面,由专家最近执行的 预测表明:感应式门禁系统的市埸正以每年300%的惊人速度增长。门禁技术的发展大部分人认为门禁仅是一种进行出入门控制的设备,最典型的就是传统的门边安装的键盘控制器或磁 卡读卡器,出入者为了获得进入权必需先刷卡。然而现在门禁已有更先进的技术和新的应用市埸,现在应 用于门禁系统的技术有:条形码、图形ID、磁条形码、韦根式、感应式、智能码、生物辨识等。其中感应 式门禁和生物辨识门禁将成为门禁发展的两大趋势。这些门禁系统所采用的技术及所能达到的安防级别互不相同。例如:光学技术应用于条形码及图形ID 系统中以辨别贮存在条形码及图形ID中的信息;电磁技术则应用于磁卡门禁系统中,当持

15、卡人刷磁卡时系 统将读取允许进入的磁特性;韦根技术极为巧妙,仍属电磁学的范畴;感应式技术通常使用的频率一般在 110125KHz,频率越强,感应式门禁系统的读卡距离越远,随着技术的不断完善,频率为13.56MHz 感应式门禁系统的读卡距离已可达到将近1米,这种门禁系统已有了许多其它的应用领域,例如:停车场、 各种收费系统等。当然最安全的门禁系统应是能辨识人体生物特征,而不是辨识人所持物体特征的系统, 例如:利用人体独有的生物特征的生物辨识系统可辨识指纹和瞳孔结构,这将是门禁系统的最高境界,但 价格极为昂贵,难以为广大用户所接受。VB串口通信目前,Visual Basic (简称VB)已成为WI

16、NDOWS系统开发的主要语言,以其高效、简 单易学及功能强大的特点越来越为广大程序设计人员及用户所青睐。VB支持面向对象的程 序设计,具有结构化的事件驱动编程模式并可以使用无限扩增的控件。在VB应用程序可以方便地调用WINDOWS API函数,使得编程效率提高,应用功能增强。利用VB提供的这些功能,我们可以有三种方法完成串口通信。一种是用VB提供的具有 强大功能的通信控件;另一种方法是调用WINDOWS API函数,使用WINDOWS提供的通 信函数编写移植性强的应用程序;第三是利用文件的输入/输出完成,该方法简便易行,但 有一定的局限性。一、利用通信控件(MSCOMM)完成串口通信VB提供了

17、通信控件MSCOMM,文件名为MSCOMM. VBX。该控件可设置串行通信的数 据发送和接收,对串口状态及串行通信的信息格式和协议进行设置。在通信过程中可以触发 OnComm事件,在该事件过程进行数据检验处理及检错,还可以通过编程访问CommEvent 属性来了解通信的情况,进行收发数据的处理。每个通信控件对应一个串口,如果要访问多 个通信口,则要设计多个通信控件。1、通信控件的事件及基本属性(1)事件OnComm:通信控件只提供了一个事件,该事件的触发可以对串口的通信事件及错误进行处 理。通过对CommEvent属性的判断可知当前的通信错误和事件,分别对每个CommEvent值 进行编程就完

18、成了对各个错误和事件的处理。如:CommEvent = MSCOMMEVSEND表 示发送事件。这些信息可从VB提供的常量文件CONSTANT. TXT中查出。(2)属性CommPort :设置通信控件与哪个串口相连接,设置并返回通信口号。Setting :设置通信的信息格式,为字符型。顺序为:波特率、校验、数据位、停止位。PortOpen :布尔型、开关通信口。InputLen :从接收缓冲区读取字符个数。Input , Output :读取接收缓冲区或写入发送缓冲区字符。以上五种属性对串口完成基本的设置和操作,下面的三种属性是描述如何利用VB提供的 事件驱动机制来实现通信。CommEven

19、t :返回通信过程中产生的错误信息及事件,了解通信状况。SThreshold :设置并返回不触发OnComm事件时发送缓冲区被允许的最少字符数。当缓冲 区的字符少于设置的值时,则触发OnComm事件,并把CommEvent设为 MSCOMMM EVSEND。当 SThreshold = 0 则禁止发送触发OnComm 事件,当 SThreshold =1则发送缓冲区为空时就触发OnComm事件。利用这一属性,就可完成发送数据后的一 系列操作。如:对刚发送的数据进行处理,当串口是和MODEM通信时,发送完数据后可 进行拆除线路联接、挂机等操作。RThreshold :设置并返回不触发OnComm

20、事件时接收缓冲区被允许的最多字符数。当缓冲 区的字符多于设置的值时,则触发OnComm事件,并把CommEvent设为 MSCOMMEV RECEIVE,当 RThreshold = 0 则禁止接收触发 OnComm 事件,当 RThreshold = 1则接收缓冲区有一个或更多字符时就触发OnComm事件。利用这一属性, 就可完成对串口接收数据的处理。2、利用通信控件的实例Sub Form1 load ()form1. show设置COM1comm1. commport = 1comm1. Setting = 9600,o,8,1”波特率:9600奇校验,8位数据,1位停止位comm1. I

21、nputlen = 0 读取接收缓冲区的所有字符comm1. OutBufferSize = 512 设置发送缓冲区为512字节comm1. InBufferSize = 512 设置接收缓冲区为512字节comm1. SThreshold = 0,禁止发送事件comm1. RThreshold = 1 每一个字符到接收缓冲区都触发接收事件设置COM2comm2. commport = 2comm2. Setting = 2400,e,8,1波特率:2400偶验,8位数据,1位停止位comm2. Inputlen = 0 读取接收缓冲区的所有字符comm2. OutBufferSize = 5

22、12 设置发送缓冲区为512字节 comm2. InBufferSize = 512 设置接收缓冲区为512字节 comm2. SThreshold = 1 发送缓冲区空触发发送事件comm2. RThreshold = 0 禁止接收事件打开 COM1,COM2comm1. Portopen = True comm2. Portopen = True Timer1. interval = 5000End SubSub Comm1 OnComm ()Dim Inbuff as stringDim i as integer,n as integer,t as integerSelect Case

23、Comml. CommEven case MSCOMMEVRECEIVEInbuff = Comml. Inputn = len ( Inbuff)For i = 1 to nt = Asc (Mid ( Inbuff , i , 1) ) or &HFFprint fNext iEnd SelectEnd SubSub Comm2 OnComm ()Select Case Comm2. CommEventCase MSCOMM EVSENDPrint timeEnd SelectEnd SubSub Timer1Timer ()Comm2. output = Second (Now)End

24、sub二、通过调用API函数实现通信以上说明了用VB提供的控件实现通信的方法,只要理解了 VB控件的机制就很容易完成 对串口的操作,但可移植性差。但VB可以很容易调用API函数实现通信。1、VB对API的调用VB使用动态链接库DLL (Dynamic Link Libraries)的能力,大大扩展了其功能。WINDOWS 本身提供了 API函数包括三大动态链接库:KERNEL库、GDI库、USER库,通过VB用 户可以直接调用这些库中的函数。调用之前,必须首先在VB中声明。该声明可为模块级 或窗体级,当作为模块级声明时,其作用域为所有FORM和MODULE,而作为窗体级声明 时其作用域为该声明

25、所在的FORM。VB调用DLL的格式:Declare Sub 过程名 Lib库名 Alias 别名(ByVal 参数 As 类型)Declare Function 函数名 Lib库名 Alias 别名(ByVal 参数 As 类型)As 类型 在声明中:DECLARE表示声明DLL中的函数,当声明是不具有返回值的过程时用SUB关 键字,而如果调用的函数具有返回值,则必须用FUNCTION关键字将其声明为函数并在声明语句的最后用AS指明函 数返回值的类型。LIB关键字表示当前声明的过程或函数是库名所指定的库中函数而非VB 本身的函数。库名,就是对应动态链接库的名称,其中通信函数在USER库中。B

26、yVal关 键字将原参数数据类型一一对应到VB类型中。WINDOWS的HELP文件 WINSDK. HLP中包含了完整的 WINDOWS API函数信息,可 用该文件查看联机函数、数据结构及错误信息。2、API提供的通信函数为了方便说明,我们将有关通信的函数及相关的数据结构放在全局模块中,文件名为COMM.BAS (见API编程函数实例)。以下是这些函数的基本介绍:OpenComm ( IpComName As String , wInQueue As Inte-ger , wOutQueue As Integer) IpComName :设备名,以“COMn”的形式来说明,n为设备号;wIn

27、Queue、wOutQueue : 分别以字节为单位说明发送、接收缓冲区的大小。该函数调用成功返回打开的设备号,否则 返回一负数代表错误信息码。SetCommState ( IpDCB As DCB)IpDCB :是DCB结构存放设备所希望的通信设置(DCB结构如COMM.BAS中所示), 其中DCB的ID成员必须标识该设备。如果函数调用成功返回0 ;否则,返回值小于0。ReadComm(nCid As Integer, IpBuf As String,nSize As Integer)WriteComm(nCid As Integer, IpBuf As String,nSize As In

28、-teger)这是用来对通信设备进行读写的函数,nCid :说明要读写的通信设备号,IpBuf :为读写 缓冲区,nSize :为要读写的字节数。如果读写成功,返回读写的字节数,否则是小于0的 值,并且其绝对值为读写的字节数。Closecomm (nCid As Integer)该函数关闭nCid所指定的通信设备,并且释放分配给设备的发送,接收缓冲存储器,调用 成功返回0 ;否则,返回值小于0。BuildCommDCB( IpDef As String,IpDCB As DCB)lpDef :为一字符串指定设备控制信息,此字符串具有MS-DOS中MODE命令所使用的 参数形式。IpDCB :为

29、一 DCB数据结构。该函数将IpDef字符串转换成串行设备控制块 (DCB) 代码。GetCommError (nCid As Integer,IpStat As COMSTAT)该函数检取nCid指定的设备最近的错误值和当前状态,IpStat :是COMSTAT结构,具体 形式如COMM.BAS中所定义的。返回值为COMM.BAS中带CE-的常量的某种组合。3.用API函数编程实例这个例子是一仿真发送机,将从键盘输入的字符发送给COM端口。在FORM中加一按钮 COMMAND1来关闭通信口。Type DCBId As String 3 1BaudRate As IntegerByteSize

30、 As String 3 1Parity As String 3 1StopBits As String 3 1RlsTimeout As IntegerCtsTimeout As IntegerDsrTimeout As IntegerBits1 As String 3 1Bits2 As String 3 1XonChar As String 3 1XoffChar As String 3 1XonLim As IntegerXoffLim As IntegerPeChar As String 3 1EofChar As String 3 1EvtChar As String 3 1TxD

31、elay As Integer End TypeType COMSTATBits As String 3 1 cbInQue As Integer cbOutQue As Integer End TypeDeclare Function OpenComm Lib User( ByVal IpComName AsString , ByVil wInQueue As Integer , ByVil wOutQueue As Integer) As IntegerDeclare Function SetCommState Lib User7( IpDCB As DCB)As IntegerDecla

32、re Function ReadComm Lib User7 (ByVal nCid As Integer , ByMl IpBuf As String , ByVal nSize As Integer) As IntegerDeclare Function WriteComm Lib User7 (ByVal nCid As Integer , ByMl IpBuf As String , ByVal nSize As Integer) As IntegerDeclare Function Closecomm Lib User ( ByVal nCid As Integer) As Inte

33、gerDeclare Function BuildCommDCB Lib User7(ByVal IpDef AsString , IpDCB As DCB) As IntegerDeclare Function GetCommError Lib User7(ByVal nCid AsInteger , IpStat As COMSTAT) As IntegerGlobal IpDCB As DCBGlobal nCid As Integer Sub Forml load ()Dim comset As Stringcomset =COM2”nCid = OpenComm (comset ,

34、512 , 512)打开COM2设置接收,发送缓冲区为512字 节If nCid 0 Then 处理错误MsgBox “不能打开 COM: + Str (nCid) + “Error Num2 ber : + Str (nCid) , 16 end end ifCommand1. Caption = “关闭通信口”,设置串口 DCB设备控制块 comset = “COM2 :9600 , n , 8 , 1If (BuildCommDCB (comset , LpDCB) ) ThenMsgBox “不能建立 COMM DCB” , 16 end end ifLpDCB. Id = Chr (

35、nCid)If (SetCommState (LpDCB) ) Then 设置串口状态MsgBox不能设置串口状态”,16 end endifEnd SubSub Forml-keyPress (keyAscii As Integer)Dim nsend As integer , x As integerDim Lpstate As COMSTAT 通信状态块Static inbuff as stringinbuff = imbuff + Chr ( KeyAscii)x = GetCommError (ncid , Lpstate)读取当前串口错误或状态if lpstate. cbOutQue 512 Then 送缓冲区有空间否?Nsend = WriteComm(nCid,i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论