1 导言
非触摸式lC卡又称射频卡,由lC芯片、感应天线组成,封装在一个规范的PVC卡片内,芯片及天线无任何显露部分,是近几年发展起来的一项新技能。因为射频IC卡具有存储容量大、抗干扰能力强、便于带着、安全性高级长处,在公交、金融等许多范畴都得到了广泛的运用。本文首要以某旅游景点门禁处理体系为例,介绍依据射频IC卡的运用体系的开发思路和规划进程。
2 体系需求以及规划思路
目前我国大部分旅游景点仍遵从传统的处理形式,门票一般选用纸质票,这种办法不只在售票与验票进程中存在较大的财政缝隙,简略发生偷票、漏票、重复运用票的现象,也无法及时、精确计算游客的数量、流量以及区内的消费状况等。在旅游景点门票发行中选用射频IC卡,不只能够有用地消除这些危险、堵绝缝隙,还有利于年卡和月卡的发行。别的,一般景点都有许多的游乐项目,特别是节假日,游乐场的售票亭前总会呈现长长的人龙,为了避免游客排队购票的时刻糟蹋以及或许的消费丢失,进入景点的游客能够在进场时购暂时卡用于刷卡游乐,到进场时再退卡。这样游客在游乐的时分,就能够省去排队购票的费事,大大进步了消费热心和消费强度。能够看出,在大型旅游景点开发依据射频IC卡的门禁处理体系,不只能够较好地完结景点的自动化处理,并且还能够经过射频IC卡的发行来影响游客的消费,完结游客不同文娱项目的自动收费。
该旅游景点有一个正门,设2个验卡通道,4个首要的游乐场所,考虑用5台电脑组成局域网。因为景点占地面积较大,不同游乐场所相距较远,选用R5485串行网络无法完结长距离的衔接,所以体系对各游乐场均装备一台电脑和读卡器。挑选一台功用较好的电脑A,放在景点入口处,用来完结发卡和进正门的刷卡功用,其间读卡器和发卡操控器别离接入其COM1口和COM2口:别的四台电脑B、C、D和E别离设置在4个游乐场所用于刷卡消费,相应的读卡器接入上位机的COM1口,在两个首要的游乐场中增设充值点,用2台发卡器别离衔接到上位机的COM2口。因为本体系挑选具有存储功用的射频IC卡,金额的扣除在射频IC卡上完结,后台数据库首要用于存储信息完结查询和计算等操作,对实时性要求相对不高,所以考虑将电脑A作为服务器,寄存会集数据库的信息,电脑B、C、D、E客户端程序的登录验证、IC卡有用性验证等都需求拜访电脑A中数据库才能够完结,其本地数据库中只寄存在指定游乐场所刷卡消费的信息,可挑选相对闲暇的时刻对会集数据库的信息进行更新。
依据需求,咱们大致确认了体系完结的首要功用,别离是卡发行功用、刷卡功用、卡充值、挂失宽和挂、查询计算、数据库保护、用户处理等,履行流程是:游客能够在进入景点之前经过发卡功用处理永久或暂时IC卡,相关信息存入会集数据库相应的永久或暂时IC卡表中;在进入景点或玩耍某个游乐项目之前,依据永久卡仍是暂时卡拜访相应的表,查看卡是否是有用卡,假如不是,给出相应的提示信息,回绝其进入,不然经过刷卡程序依照事前设定好的金额,判别IC卡中的余额是否足够,假如余额缺乏,则提示相应的信息,不允许进入,不然更改IC卡中的余额,并将该刷卡信息记载在本地数据库中,作为今后更新会集数据库中消费表信息的依据;暂时卡在退园时能够依据余额交还,为了查询计算便利,退卡后除了将暂时卡表的对应记载删在外,还应在相应的消费表中将该操作记载下来。
3 具体完结
因为Visual Basic对串口和数据库的拜访操控均供给了丰厚的功用,且具有简略易学的特色,所以本体系选用Visual Basic 6.0作为开发环境。
3.1拜访IC卡发卡器和读卡器
在VB中,上位机对串口的通讯可选用两种办法,一种是调用W indows的API函数,另一种是运用VB的通讯控件。本体系选用VB供给的MSComm通讯控件完结对IC卡发卡器和读卡器的拜访。留意,因为体系的规划触及上下位机的通讯,需事前为每一个下位机分配一个仅有的机号,在处理时还能够依据刷卡机的机号确认刷卡的事务。
在一切供给和下位机通讯功用的程序界面上放置MSComm控件,为了完结上下位机的通讯,MSComm控件在运用前有许多参数需求设置,比方确认下位机和上位机的哪个端口衔接,设置波特率等,假定MSComm控件的名称为MSComml,IC卡读写器与串口2衔接,则具体特点设置参阅以下程序段:
MSComm1.CommPort=2设置串标语
MSComm1.Settings = ”9600,N,8,1” 串口的特点
设置InputLen为0时,用Input将使?MSComm 控件读取接纳缓冲区中悉数的内容
MSComm1.InputLen = 0
MSComm1.InpulMode = comlnputModeBiary 二进制承受办法
MSComm1.RThreshold =1,每1个字节呼应音讯
MSComm1.InBuferSize=1024设置接纳缓冲区的字节长度
MSComm1.Po~Open=True,翻开开通讯串口
一般将以上程序段放置在窗体的Load事情中,当履行卡发行功用或运转刷卡程序时,一运转程序就能够翻开串口,只要将lC卡接近发卡器或读卡器,它们就能够读出保存征 C卡中的卡号和余额等信息,MSComm控倬会自动触发OnComm事情进程,在该进程中,能够读取接纳缓冲区中的数据,取得相关的卡号和余额等信息,依据要求对数据库进行操作。
3.2 串行网络中多读卡器的拜访操控
因为对每个游乐项目的刷卡消费只要一台读卡机经过RS232串口和计算机相连,所以在读卡程序操控时选用被迫形式,只要读卡器接纳到信息后,才触发上位机对其进行处理。假如是大型游乐场所,或许需求设置多个读卡器一起进行刷卡,应该怎么处理呢?假如多个游客一起刷卡怎么办?本体系中,在景点入口处,因为人流量比较大,为削减等候时刻,进步检票的速度,设置了两个读卡通道,这两个读卡器经过RS485网络并联,运用RS4851RS232转接器和上位机的串口衔接。为避免一起读卡形成的抵触,对RS485网络并联的多个读卡器的操控,一般不再被迫等候读卡器触发事情,而是选用自动形式编程。咱们运用定时器控件Timerl来操控程序依照必定的时刻距离次序拜访多个读卡器,取得了杰出的处理作用。参阅程序段如下:
Private Sub Command1_Click()‘拜访指定读卡器程序段
m = m + 1
‘o数组中保存RS485网络中每个读卡器的机号,UBound(a)取得读卡器的个数,读卡时按指定的次序顺次拜访每个读卡器
If m > UBound(a)Then
m = 1
End If
If Not MSComm1.PortOpen Then MSComm1.PortOpen= True
3.3会集数据库的更新处理
本体系为了进步处理速度,削减多台设备并行拜访对体系功用发生的影响,将每个客户端程序处理的刷卡信息保存在本地数据库中,但一起也带来了一系列的问题,比方对会集数据库刷卡数据的及时更新,数据库更新时异常状况的处理等。为进步体系的安全性,会集数据库的更新处理选用存储进程完结。客户端程序经过调用事前编制好的存储进程,完结对长途数据库的更新操作。与规范的SQL句子不同,因为存储进程由数据库服务器编译和优化,能够有用进步程序的运转速度,别的,存储进程中的SQL句子归于事务处理范畴,即存储进程中的一切SQL句子要么都履行,要么都不履行,然后确保了数据的完整性和一致性。
4 结束语
本文依据某旅游景点IC卡事务的需求,从体系的规划思路、读卡器的拜访操控以及数据库的更新处理等几个方面具体叙说了体系的规划进程和完结的技能。除了能够运用于门禁处理,本文所介绍的Ic’卡运用体系的开发技能具有必定的普及性,可运用于停车场、电影院、学校一卡通等范畴,具有广泛的运用远景。从已有体系的投入运转状况来看,体系的开发运用均收到了杰出的经济效益和社会效益。
参阅文献:
[1].RS232datasheethttp://www.dzsc.com/datasheet/RS232_585128.html.
[2].RS485datasheethttp://www.dzsc.com/datasheet/RS485_585289.html.