建筑工地基于IC卡读写技术网络式考勤系统设计

2017-09-06 08:50滕佳启
世界家苑 2017年3期
关键词:读写器IC卡上位

滕佳启

摘要:本文主要介绍施工现场基于IC卡读写技术、VB、SQL数据库以及AVR单片机技术的网络式工人考勤管理系统的设计方法。内容包括软件和硬件两部分,软件以VB6.0为主,SQL数据库、MAX485通讯为辅。硬件以Atmega32为主,RC522模块为辅。

网络式考勤系统与传统的现场手工登记式考勤相比较,其优越性不言而喻,传统的现场手工登记式考勤效率慢、人情关系牵涉复杂、考勤班组单一,并不能实现快速有效、资源共享。对于现在的工程管理要求和工程特点来说,已经更不上时代发展,而网络式工人考勤管理系统则是发展的必然需求。

本设计上位机采用的VB6.0编写的软件,下位机系统采用ICCAVR编写的程序,烧录至单片机。上位机包含多种功能模块,下位机只包含信息采集和信息上传,论文将逐个模块进行了论述,包括其功能、优点及实际出现的问题。本设计重在网络式工人考勤管理系统的信息通信的设计。论文首先介绍了工人考勤管理系统的现状和发展趋势,接着详细介绍了软件、硬件各功能模块部分的设计原理,最后简要的对IC卡读写卡模块进行技术简介。

本设计应用的技术有:VB6.0编程技术、SQL数据库编程技术、AVR单片机接口技术、以及基于MAX485总线的通信技术等。系统开发的最终软件成果是可以在WIN7系统运行的工人考勤管理软件,硬件成果是一个可以实现网络式通信和读卡识别的考勤管理设备,软件和硬件通過MAX485总线实现了数据通信和远程考勤。

关键词:网络式考勤系统

第1章 绪论

1.1设计目的

在数字技术网络技术飞速发展的今天,考勤管理技术得到了迅猛的发展。考勤管理系统早已超越了单纯的出勤统计管理,它已经逐渐发展成为一套完整的管理支配系统。但是提及考勤管理,似乎都是HR部门,此片论文讲述的考勤管理对象则是建筑工地的施工工人。作为一线的施工管理人员,对此有着深刻的感触。施工管理以人、机具和材料为重点,考勤管理系统如果能把这三点融合为一体,将大大节约我们的管理成本,降低材料损耗,节约资金。

1.2设计的主要内容

通过VB编写的计算机平台考勤软件与以Atmega32为核心的读卡硬件通讯,实现考勤自动记录与统计,最终实现对工人的考勤管理。

设计内容大致可分为管理人员使用的用户界面软件、安装在服务器上的通讯界面软件、工人信息录卡软件以及读卡器硬件。

用户使用界面软件包含登录模块,权限模块,人为录入考勤模块,信息查询模块,报表模块。

硬件通讯界面软件包含通讯接口设置模块,数据库更新设置模块,读卡器设置模块,显示模块,从机选择模块,考勤时限设置模块。

读卡器硬件包含通讯模块,时钟模块,存储模块等。

1.3设计的实际意义

首先,国内绝大部分的建筑公司都是管理公司,并没有自己的一线劳务工人,而是把工程分包给各个工种的劳务公司,为了把控现场施工质量与进度,掌控劳务公司的施工人员的出勤信息,是十分有必要的。

其次,随着中国的发展,我们面临的机遇无限大,工程的承接也多样化,工程管理也必须加快步伐,甚至迈向国际,实现管理的透明化,数字化,智能化,以及办公的无纸化是大势所需,潮流所向,在管理上开拓进取,必是我们迈向成功的一枚牢固基石。

第2章 网络式工人考勤管理系统的设计方案

2.1系统基本方案

起初设计时的想法,仍然是人为考勤,但不同的是通过电脑批量考勤,这样省去了手写登记的繁琐,又能快速统计工时,按照这样的要求做出了第一款软件,实践时发现还是需要人为的确定工人是否已进场工作,所以就产生想通过一种媒介来自动记录工人考勤。

参照市面上的设备,想到了三种媒介用来考勤,一是人脸识别技术、二是指纹识别技术、三是IC卡识别技术。人脸识别技术对硬件要求较高,对于识别的存储数据不利于交换,可作为单机考勤机,但不适合用于多机联网,因此放弃人脸识别技术。指纹识别技术对硬件要求不高,但对于识别的存储数据同样不利于网络交换,特别是对于施工工人而言,每天的高强度作业,会破坏指纹,所以指纹识别技术不可取。IC卡识别技术被广泛用于各行各业,技术成熟,价格低廉,同时还可以兼门禁卡用,最终确定IC卡识别技术为最优选择。

选择IC卡识别技术后,为了实现功能的整合,又编写两款读卡写卡软件。

2.2系统扩展方案

2.2.1门禁功能的整合扩展

既然选择IC卡为考勤媒介,就很自然的想到把门禁系统整合进来,这样工人进出门岗,刷卡机就自动记录工人在场信息,并在门岗的大屏幕上时时显示,工种,人数,再设置一个小屏幕,用于显示进出人员的照片,姓名,用于门卫核对。

2.2.2库房管理功能的整合扩展

项目工程中,将库房内所有的工具材料采用条形码管理,来库房取材料,工长要在电脑上,上传流程,流程信息中包涵工人的Ic卡信息、材料信息和工长信息,发起流程后,工人就可以到库房刷IC卡取工具或材料了,这样就保证了出库信息的实时记录,便于后期的追溯,以及材料的补缺。

2.2.3工程收发资料统计功能的整合扩展

一个工程下来,会产生上百份的联系单和工程签证,为保证联系单和签证单编号不重复,就需要做收发文台账,每次发联系单或签证单时,都要去翻台账,很是费时,把收发资料统计功能整合到系统中,就可以自动为联系单或签证单编号,这样不同的专业的工长再发起联系单或签证单时,只要登录系统申请单号,就会自动为其分配单号,系统会记录该单号发起的简易内容、时间和发起人。

第3章 网络式工人考勤管理系统的软件设计

3.1整体方案流程

系统操作流程:首先管理人员通过用户使用软件,将工人信息批量录入本地服务器的数据库中,工人信息包括工人工号、姓名、性别、身份证号和银行卡号等,然后管理人员再通过信息写卡软件和IC卡读写器,将数据库中已有的工人工号写入到IC卡中,录入后,工人每天上下班刷卡考勤时,IC卡读写器会记录工人工号和考勤时间,在通讯畅通时会通过硬件通讯软件,把考勤信息自动上传到服务器的数据库中,通过用户使用软件,管理人员就可以查看考勤报表,这就完成了工人考勤的全部过程。

3.2用户使用软件设计

用户使用软件主要功能有工人信息的录入与删除,工人考勤信息统计报表,工人班组划分,管理人员职能划分,部分扩展功能,如库房管理、资料收发文管理等。用户使用软件分为登录模块,权限模块,人为录入考勤模块,信息查询模块和报表模块。

登录模块的作用就是对登录者权限进行核实。并且同一时间同一帐号不允许两地登录,登录者必须为管理人员。

权限模块是对所有管理人员进行权限分配,使其具有相应的权限进入相应的模块,进行规定内的权限操作。进人权限模块也是需要权限的,软件系统起始帐号admin,具有最高权限,当设置完真实管理人员权限后,可以将admin帐号删除。

人为录入考勤模块是软件设计最初想法,让记录考勤更快捷方便,后来系统扩展后,其变为辅助功能,当Ic卡读写器出现故障时,可用此功能考勤。

信息查询模块包括项目管理人员信息查询和工人信息查询。

报表模块包括工人个人考勤报表、班组形式的考勤报表以及总工时报表。

3.3硬件通讯软件设计硬件通讯软件设计界面如图3-1所示。

硬件通讯软件的作用就是把工人的刷卡考勤信息录入到服务器的数据库中,为统计报表提供数据。硬件通讯软件包括通讯接口设置模块,数据库同步设置模块,读卡器设置模块,显示模块,从机选择模块,考勤时限设置模块。

通讯接口设置模块是设置串口参数的模块,用以匹配考勤读卡器的通讯参数。包括端口选择,波特率选择,奇偶校验位选择等。

数据库同步设置模块包含两个功能,一是将远程数据库中的工人信息同步到本地计算机,二是将本地的考勤信息传送到远程的数据库中。这两个功能都是用于数据库连接调试用的,正常情况下,这个两个功能的实现都是自动的。

读卡器设置模块包括选择读卡器读卡密码,A密码还是B密码,读卡器读卡地址的选择,以及读卡器的读卡秘钥。

显示设置模块是设置显示窗体的显示格式,包含是否以十六进制格式显示,是否允许表格显示,清空文本框,清空表格等。

从机选择模块共有8个读卡器可用于选择,最多可以8个读卡器同时工作。

考勤时限设置模块,包含3个时段考勤时间设定,有上午考勤,下午考勤,加班考勤。每个考勤又有起始时间设定、终止时间设定、迟到时限的设定,以及正常权值,迟到权值设定。

同时硬件通讯软件还有系统时间同步的功能,让每一个IC卡读写器的时间与系统同步,此功能是手动的,只在读写器初次使用时,同步一次,读写器会自动保存时间。

3.4信息写卡软件设计

信息写卡软件其界面如图3-2所示。

信息写卡软件作用就是把数据库中工人工号发送给读卡器,读卡器把其记录到IC卡中。其包含通讯设置模块,IC卡基础操作模块,数据库操作模块,读写卡操作模块,钱包设置模块。

通讯设置模块就是设置软件与IC卡读写器的通讯参数的,包括端口、波特率、奇偶校验等。

IC卡基础操作模块是为了验证所选IC卡是否可用,只在读卡出现错误时使用。其包含了4个读卡基本功能,寻卡、防冲突、选择、终止。这4个功能是读卡的4个基础步骤。

数据库操作模块有一个显示窗口,其可以调出数据库中的工人信息,包括工人工号,姓名,身份证号等,也可以调出管理人员信息;在调出的工人信息中选择要录入IC卡的工人,其信息就会填充到信息录入窗口。

读写卡操作模块包括读写卡操作、选择读写卡地址、更改IC卡的密码。

钱包设置模块是扩展功能,其将IC卡指定的扇区变为钱包模式,预用于工人就餐等后续扩展功能。

第4章 网络式工人考勤管理系统的硬件设计

4.1硬件设计的系统框图

硬件系统主要以Atmega32单片机为主,辅以USB串口模块CH340G、DS1302时钟模块、AT24C512扩展的E2PROM存储模块、RS-485通信模块、电源模块以及IC卡读写模块RC522,它们共同作用组成了IC卡读写器。MCU(微控制器)采用ATmega32(其开发简单,运行稳定),与上位机的通信采用RS-485通信模式,或者USB通讯模式,RS-485通信距离可以达1200m左右。

硬件系统可以实现两个功能,一是实现远程考勤,二是用于工人信息录卡。硬件系统框图如图4-1所示。

在本系统中,ATmega32单片机为主控芯片,负责各部分功能的总体控制和实现。

当用做考勤机功能时,RC522模块(IC卡读写模块)会自动读取IC卡相应地址中的数据(工人工号),并将其发送给单片机,单片机会把接收来的数据和系统此刻的时间合并为新的数据,如果网络不忙,就会发送给上位机,如果忙,就会存储到AT24C512中,待网络空闲时,再发送给上位机。

当用作工人信息写卡器时,RC522模块不自动读卡,需要上位机发送指令给单片机,单片机再发送指令给RC522模块,從而实现把工人的信息写入到指定地址的IC卡扇区中。

4.2系统中各子模块的硬件电路设计

读卡器硬件包含最小系统构架,通讯模块,时钟模块,存储模块,蜂鸣显示模块,电源模块。

4.2.1ATmega32为主的最小系统构架

ATmega32是AVR单片机中ATmega系列中的一款,选用的原因如下:

性价比高的AVR芯片之一,零售价低,货源充足;

32KB的Flash,满足绝大部分的实际要求;

内置资源丰富、功能强大,几乎涉及AVR芯片的所有功能;

支持JTAG仿真,特别适合AVR初学者和需要繁琐调试的低成本系统应用。而且DIY或购买JTAG很经济,不需要购买昂贵的仿真器。

运行速度快,大多数指令执行时间为单个时钟周期。

AVR单片机有自动上电复位电路、独立的看门狗电路、低电压检测电路BOD,多个复位源(自动上下电复位、外部复位、看门狗复位、BOD复位),可设置的启动后延时运行程序,增强了嵌入式系统的可靠性。

AVR单片机还具有多种省电休眠模式,且可超宽电压运行.(18V~5.5V,不同单片机略有不同),抗干扰能力强,可降低一般8位机中的软件抗干扰设计工作量和硬件的使用量。

4.2.2通信模块

通讯模块在硬件上设计采用两个芯片,一个是RS485通讯,另一个是CH340G串口转USB通讯。RS485用于刷卡考勤,因其对通讯时限要求不高;CH340G用于工人信息写卡,用其工作时要求距离近,通讯时限性高。

(1)工人刷卡考勤的通讯协议:

上位机发送问询,单片机应答,一对多的关系,1台上位机,多台IC卡读写器(硬件地址码只做到了8台),轮番的问询,当有一台读写器有考勤信息时,这台读写器会与上位机保持通讯,直至考勤信息上传完成,此时其他读写器会存储新产生的考勤,等待上位机的问询。

上位机问询格式:第一个字节是固定值,是一串数据的起始码,第二个字节为下位机的标示码,让在总线上的读写器知道上位机是否在问自己,第三个字节是指令代码,它告诉下位机上位机想要什么,第四个字节是发送的数据长度值,接下来就是数据字节,数据字节后就是CRC校验字节,校验字节后就是数据串的最后一个字节,结束码,其也为一个固定值。

单片机应答格式与上位机的问询格式相同,但其第二个字节为自己的标示码。此处就规避了下位机与下位机之间的通讯。同时建议单片机发上位机的字节数为固定值,这是上位机与单片机的时序的问题,比如单片机在所有情况下,最多需要发送22个字节,那么建议单片机发送上位机的字节数设为30个字节,多出的字节用零补充,上位机做30个字节的接收固定值中断,避免上位机接收出错。

(2)工人信息写卡的通讯协议:

上位机发送问询,单片机应答,一对一的关系,1台上位机,1台IC卡读写器。上位机发送指令,下位机回答对应的指令。

上位机问询格式:第一个字节是发送的字节数(不包括此字节);第二个字节CMD值,可以理解为按钮值或功能代号;接下来的字节就是CMD值所要发送的内容;最后一个字节是8位的CRC校验字节,其校验对象是CMD值和CMD值内容。

单片机应答格式:第一个字节是作为应答需要发送的字节数(不包括此字节),同样建议单片机发上位机的字节数为固定值,避免上位机接收出错;第二字节是单片机接收到上位机指令执行动作后,所处的状态值,分为正常值和各种错误值;接下来就是发送此状态值对应的数据;最后一个字节就是发送状态值及其所对应的数据的一个8位CRC校验码字节。

4.2.3存储模块设计

存储功能主要用于刷卡考勤,因为上位机与多个下位机的通讯是轮巡模式,存在时差,为确保每一个数据都准确无误的传输给上位机,下位机IC卡读写器就必须有自己的存储功能。

存储芯片选用的是AT24C512,它有65536个存储字节,如果一个考勤信息占用22个字节,那么他可以存储2978个考勤信息。

4.2.4时钟模块设计

时钟功能主要用于刷卡考勤,因为网络通信具有时差性,为确保考勤时间准确性,设置了时钟模块,时钟模块选用的是DSl302芯片,其具有宽操作电压,2V~5.5V,且在2V电压下的工作电流小于300nA,同时具备备用电源,在失去读写器主电源时,能为时钟保持电源,让时间保持运行。考虑到时钟芯片干扰能力比较强,单独配有两个引脚作为数据传输。时钟模块的时间同步来自上位机,为确保了时间记录的客观性,在IC卡读写器上不能人为设置时间。

4.3IC卡读写模块RC522功能说明

IC卡读写模块选用的是深圳优信电子推出的RC522模块,该模块适用于S50卡,也称M1卡,市面上用的大部分Ic卡都属于此种类型卡。

M1卡为8K位的EEPROM,也就是1024个字节,其分为16个扇区,每个扇区4个块,每块16个字节,以块为存储单位。每个扇区有独立的一组密码及访问控制。每张卡有唯一的32位序列号,数据保存期为十年,可改写十万次,读无限次,工作频率在13.56MHz。

每个扇区的4个块,分别为3个数据块加1个控制块,控制块的16个字节分别为6个字节的A密码加4个字节的存取控制,再加6个字节的B密码。每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。

IC卡与读写器通信流程如图4-2所示。

复位应答:M1射频卡的通讯协议和通讯波特率是定义好的,当有卡片进入读写器的操作范围时,读写器以特定的协议与它通讯,从而确定该卡是否为M1射频卡,即验证卡片的卡型。

防冲突机制:当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作,未选中的则处于空闲模式等待下一次选卡,该过程会返回被选卡的序列号。

选择卡片:选择被选中的卡的序列号,并同时返回卡的容量代码。

三次相互验证:选定要处理的卡片之后,读写器就确定要访问的扇区号,并对该扇区密码进行密码校验,在三次相互认证之后就可以通过加密流进行通讯。(在选择另一扇区时,则必须进行另一扇区密码校验。)

在验证之后,就可以对卡的数据块进行操作,包括读数据块,写数据块,对数据块加值减值,存储、传输、暂停等操作。

结论

本设计是建筑工地基于IC卡读写技术网络式考勤系统的设计。论文中已詳细论述了系统的各个软件、硬件组成部分以及构架流程,并结合实际遇到的问题,讨论了如何加以改正的方法。

这次设计让我学到最多的地方是做通讯的编程上,人们都说只有经历了付出,才能体会到收获的喜悦,我体会到了。因为它迫使我去考虑问题,不管问题出现在哪,我都必须找到它的根源,一旦问题被破解,就如石破天惊,恍然大悟。这次做板前,没有进行CH340G试验,导致板子生产后,串口的两个管脚接反,这是我的一个惨痛的教训!

最后,经过联机调试证明,本次设计所采用的软件、硬件,都满足自己预期的设计要求,完成了本次设计任务。但由于一些客观因素的存在,系统中仍有不足之处,这也是不可避免的。总的来说,本次设计简洁明了的完成了设计任务,达到了预期设计要求,网络式IC卡考勤系统能够长期稳定可靠地工作。

感谢吉林建筑大学陈伟利老师的技术指导,感谢深圳优信电子技术支持。

猜你喜欢
读写器IC卡上位
一场史无前例的乐队真人秀
基础油“上位”
基于国家标准的UHF RFID读写器数字基带系统设计
RFID技术在固定资产管理中应用研究
高频RFID技术在图书馆中的应用
长春开通公交IC卡充值平
论基层央行推进金融IC卡行业 应用发展的困境与建议
和-库高速公路IC卡管理及防范IC卡流失对策
基于VC的PLC数据采集管理系统
基于Intel R1000的超高频RFID读写器设计