Implementation of an Information Pretreated Electronic Attendance System
张 彪 杨永杰 许 鹏(南通大学电子信息学院,江苏南通 226019)
一种信息预处理电子考勤系统的实现
江苏省科技厅项目(编号: BY2014081-08)。
修改稿收到日期:2015-08-10。
第一作者张彪(1990-),男,现为南通大学信息与通信工程专业在读硕士研究生;主要从事数据采集与传输、嵌入式系统的研究。
考勤系统是企业信息与智能化进程中不可或缺的一部分,它主要用来辅助企业的人力资源管理,提高工作效率,从而降低企业的投入产出比[1]。目前在大多数企业中,针对三班制工人的考勤系统主要是预先将员工的工作计划存入数据库,考勤终端负责将考勤员工的身份信息送服务器。在服务器上,以身份信息接收的时间作为实际考勤时间,再与工作计划中正常上下班时间作比较,最终获得考勤处理结果[2]。
此类考勤系统的不足之处在于:需要事先将考勤员工的工作计划(例如工作的班种信息等)存入数据库,增加了人力资源管理者的工作量,也增加了服务器的工作量;服务器上的考勤处理流程通常是在数据汇总时才执行,具有一定的滞后性;考勤处理结果未及时回送考勤终端显示,考勤员工不清楚自己的考勤结果,容易出现本人预期与人力资源部门阶段考勤汇总不一致的情况,从而导致纠纷与矛盾。此外,员工实际考勤时间与服务器端的接收时间也存在偏差,例如,正好准点上班考勤的员工可能由于服务器端接收时间的滞后,而被误判为迟到。
本文介绍的考勤系统有两个创新点:一是将传统的考勤终端向服务器单向数据传送模式转变成考勤终端与服务器双向数据交互模式,对系统部件的功能进行了调整,将考勤处理流程从服务器端移植到了考勤终端,大大减少了服务器端的工作量,服务器端只需要进行简单的存储操作即可,并采用了结合历史考勤数据的考勤自动处理方法;二是本考勤系统特别针对三班制员工的考勤特点设计了相应的算法,所以特别适用于对三班制员工进行考勤。
本系统是一种基于局域网的员工电子考勤系统,它不仅可用于常日班员工的考勤,更适用于对三班制(早班、中班、晚班)员工的考勤。系统包括与局域网相连的多个考勤终端和一个数据服务器,系统整体结构示意图如图1所示。考勤终端包括微处理器、RFID数据采集模块、系统时钟模块、无线通信模块和显示模块;服务器不仅运行有数据库系统,还运行有双向的数据接口模块。该接口模块一端以TCP方式通过局域网与所述考勤终端进行数据交互,另一端使用数据库组件访问数据库系统。
图1 电子考勤系统整体结构示意图Fig.1 Overall structure of electronic attendance system
系统的硬件包括考勤终端和服务器,这里主要介绍考勤终端的硬件设计。考勤终端的硬件结构框图如图2所示。它主要包括微处理器、RFID数据采集模块、无线通信模块、显示模块和系统时钟模块。微处理器在无线通信模块的辅助下,将RFID数据采集模块采集的员工信息与系统时钟模块提供的时间信息进行处理,并将处理结果送到显示模块进行实时显示和送到服务器中进行存储。
图2 考勤终端硬件结构框图Fig.2 Hardware structure of the hardware of attendance terminal
2.1微处理器
本文设计的电子考勤系统将考勤处理流程从服务器端移植到了考勤终端,所以对考勤终端微处理器的程序处理能力有较高的要求,它应具备在短时间内完成复杂程序快速处理的能力。因为是车间员工的日常考勤,所以它的抗干扰能力和稳定性要强。本系统主要应用于工业化生产线,所以微处理器的性价比和功耗也要考虑在内。
本系统选用的微处理器是STC生产的STC12C5A60S2。STC12C5A60S2是高速、低功耗、超强抗干扰的新一代8051单片机,内置看门狗(WDT)功能,售价与传统8051单片机相差不多,所以性价比也很高。
2.2 RFID数据采集模块
RFID数据采集模块在整个考勤系统中具有很重要的位置,考虑到车间的工作环境,选择芯片时首先要考虑它的抗干扰能力和稳定性。因为是员工考勤,保密性就显得尤为重要。为了方便考勤,选择非接触式IC卡[3]作为考勤卡,所以数据采集模块对非接触式IC的读卡距离也要能满足应用的要求。
RFID数据采集模块选用的是MFRC522高度集成的非接触式(13.56 MHz)读写卡芯片[4],可以与兼容ISO 14443A/MIFARE的卡进行非接触式通信[5-6],通信距离达到8 cm。每位员工都配备一张MiFare one识别卡,并事先将对应的员工卡号写入卡中。RFID数据采集模块与微处理器之间采用SPI方式进行通信,微处理器将卡内信息通过无线通信模块发送至服务器。
MF RC522的硬件电路图如图3所示。图3中,SDA是从机选择端,SCK是数据时钟输出端,MOSI是数据输出端,MISO是数据输入端,RST用于模块的休眠控制。
图3 MF RC522硬件电路图Fig.3 Hardware circuit of MF RC522
2.3无线通信模块
因为考勤结果要送到服务器进行存储,且考虑到车间的特殊环境,在选择无线通信模块时,对它的信号传输稳定性、抗干扰能力都具有较高的要求。
系统选用的无线通信模块是WiFi232-X系列的WiFi232-B芯片,它可以实现串口到WiFi数据包的双向透明转发[7],具有稳定、信号好、抗干扰能力强的优点。用户无需关心具体细节,通过简单设置即可指定工作细节[8]。硬件电路图如图4所示。图4中,RXD为数据接收端; TXD为数据发送端; D1为网络连接指示灯; S1用于复位,使模块恢复到默认设置。
图4 WiFi232-B硬件电路图Fig.4 Hardware circuit of WiFi232-B
2.4显示模块
表1为考勤处理结果显示字的格式。表1中,员工卡号为具体的某6位数字;上下班状态中0表示下班,1表示上班;工作班种中0表示早班,1表示中班,2表示晚班;考勤状态中ZC表示正常,CD表示迟到,ZT表示早退。考勤时间即为员工刷卡时当前的实时时间。
表1 显示字格式Tab.1 Format of displaying word
由显示字的格式可以看出,显示模块选用字符型液晶LCD1602[9]就能满足要求,硬件电路图如图5所示。图5中,R7用于调节液晶的显示亮度。
图5 LCD1602硬件电路图Fig.5 Hardware circuit of LCD1602
2.5系统时钟模块
当前大多数企业的考勤系统以服务器端接收到考勤员工身份信息的时间作为该员工的实际考勤时间,再与工作计划进行比较分析得出考勤处理结果[10]。但是如果服务器本身的时间不准确,或因为网络阻塞等原因使得来自考勤终端的考勤员工身份信息延迟了一段时间才被服务器接收,那么员工实际考勤时间就会出错,导致考勤处理结果出错,从而引发不必要的劳资纠纷。
为了弥补上述的不足,本文设计的考勤系统在考勤终端增设了具有精度高、稳定性好、性能强等优点的SD2405AL时钟芯片模块,硬件电路图如图6所示。图6中,P20和P21通过模拟I2C接口来读写时间数据。
图6 SD2405AL硬件电路图Fig.6 Hardware circuit of SD2405AL
本系统可借助局域网实现对员工的现场考勤、自动判定和实时显示存储的功能。在考勤终端上采集完员工身份信息后,就立即运行考勤处理流程,并将考勤结果存储与显示,提高了考勤系统的实时性。此外,还在考勤终端中增设了系统时钟模块,提高了考勤系统的准确性。图7所示为该考勤系统考勤过程示意图。
员工考勤时,考勤终端执行考勤识别流程701:以系统时钟模块的时间数据作为本次考勤时间,并将员工身份与本次考勤时间,再加相应识别符组帧为考勤查询数据包,经局域网送服务器。
服务器的数据接口模块从TCP端口接收数据,根据数据包中的识别符确定为考勤查询数据包,先执行异常判定流程702:计算服务器系统时间与数据包中的本次考勤时间的差异值,如果差异值大于3 min,认定考勤终端的系统时间异常,直接以相应识别符组帧为时间异常数据包经局域网回送考勤终端;如果差异值不大于3 min,则认定考勤终端的系统时间正常,此时执行数据库查询流程703。
①数据库查询流程703:使用数据库组件用SELECT语句查询同一身份员工的上次考勤时间、上下班状态和工作班种信息;再计算上次考勤时间与本次考勤时间的偏差值,如果所述偏差值小于5 min,则认定是同一员工的重复刷卡情况,直接以相应识别符组帧为考勤重刷数据包经局域网回送考勤终端;如果所述偏差值大于5 min,则认定刷卡正常,此时将上次考勤时间、上下班状态和工作班种信息,加上相应识别符组帧为考勤历史数据包经局域网回送考勤终端。
图7 考勤系统考勤过程示意图Fig.7 Schematic diagram of attendance process of the system
②考勤终端接收数据包后,执行异常验证流程704:根据数据包的识别符判定接收的数据包的种类,如果收到时间异常数据包,则直接执行结果显示流程707,显示时间异常警告,并结束本次考勤过程;如果收到考勤重刷数据包,也直接执行结果显示流程707,显示已考勤,无需重复刷卡,并结束本次考勤过程。如果收到考勤历史数据包,则执行考勤处理流程705。
③考勤处理流程705:以考勤历史数据包中的信息结合本次考勤时间完成考勤处理流程,并清除显示信息,再将本次考勤的员工身份、考勤时间、考勤结果存入暂存区,并加相应识别符组帧为考勤判定数据包,第二次经局域网送服务器。
服务器的数据接口模块从TCP端口接收数据,根据数据包中的识别符确定为考勤判定数据包后,执行数据库存储流程706:使用数据库组件用INSERT语句将本次考勤的员工身份、考勤时间和考勤结果存入数据库中,并以相应识别符组帧为考勤完成数据包,第二次经局域网回送考勤终端。
考勤终端接收数据包后,执行结果显示流程707:根据数据包的识别符确定为考勤完成数据包后,将暂存区的考勤结果显示,并清空暂存区,完成本次考勤过程。
考勤处理流程第一种算法流程如图8所示。
上述考勤处理流程705采用了以历史考勤数据与本次考勤时间相结合的方法,能够自动判定考勤结果。实际应用中,我们根据需求为考勤处理流程705设计了2种算法。
图8 考勤处理流程第一种算法流程图Fig.8 Flowchart of the first algorithm for attendance processing
在实现考勤处理流程705的第一种算法中,考勤终端设置了各个工作班种(早班、中班、晚班)的标准考勤时段且互不重叠,各班种员工刷卡时间点应该在对应班种的标准考勤时段内。
在实际情况中,员工还可能会出现下班遗忘考勤的情况,如果根据考勤处理流程第一种算法来考勤判定,将会导致该员工下次上班的考勤被错判为下班状态,并且错判工作状态的情况将一直延续下去。为避免上述情况的出现,我们又设计了实现考勤处理流程705的第二种算法。
在实现考勤处理流程705的第二种算法中,考勤终端不仅设有工作班种的标准考勤时段,还设有最长工作时间值。在实际场合中,结合劳动法相关要求,三班制最长工作时间为连续做两班,一般该值可设定为16 h。实现考勤处理流程705的第二种算法流程图如图9所示。
图9 考勤处理流程第二种算法流程图Fig.9 Flowchart of the second algorithm for attendance processing
与第一种算法不同,在第二种算法的开始部分,增加了判定本次考勤时间与上次考勤时间的差值是否大于最长工作时间值。当出现大于的情况,可认定为下班遗漏考勤的情况,从而直接判定本次考勤为上班状态。
综上可见,该电子考勤系统能够借助局域网另一端服务器中的数据库历史信息,直接在考勤终端上完成对员工的考勤处理流程,因此不再需要在服务器上事先存入员工的工作计划,大大减少了人力资源管理者和服务器的工作量,考勤处理也从事后处理变成了现场处理。其实时性与准确性都显著提高,较好地解决了现有电子考勤系统的上述技术问题。
根据中天科技车间员工管理制度的要求,早班上班刷卡时间段为6: 45~7: 15,如果不在此时间段内刷卡,就判定为早班上班迟到。同理,中班上班刷卡时间段为14: 45~15: 15,晚班上班刷卡时间段为22: 45~23: 15。与此对应,设定早班下班刷卡时间段为15:45~23:00,如果在15: 45之前刷卡就判定为早班下班早退。同理,中班下班刷卡时间段为23: 45~8:00,晚班下班刷卡时间段为7:45~16:00。
表2为数据库显示字格式。表2中,stime表示系统时间,即员工实际刷卡时间; s-id表示考勤终端的编号; work-id表示员工的卡号; w-flg表示上下班状态(0表示下班,1表示上班); c-flg表示工作班种(0表示早班,1表示中班,2表示晚班); s-flg表示考勤状态(0表示正常,1表示迟到,2表示早退)。
表2 数据库显示字格式Tab.2 Format of display word in database
我们从数据库随机调取了一名卡号为001586的员工的近一个星期的考勤处理数据,分析数据可知,该员工在2014年8月24号这天刷卡时间为上午07:07,在早班上班刷卡时间段06:45~07:15内,所以考勤处理结果应该是早班上班正常。数据库中w-flg的值为1,c-flg的值为0,s-flg的值为0,所以考勤处理结果正确。该员工在2014年8月29号这天刷卡时间为下午16:14,不在中班上班刷卡时间段14: 45~15: 15内,所以考勤处理结果应该是中班上班迟到。数据库中w-flg的值为1,c-flg的值为1,s-flg的值为1,所以考勤处理结果正确。由上述分析可以看出,本款电子考勤系统非常适用于对三班制员工的考勤,且准确率高。
本文介绍了一种信息预处理电子考勤系统的实现,尤其可用于对三班制员工的考勤,并且提出和设计了一款基于三班制考勤的算法。系统包括与局域网相连的多个考勤终端和一个服务器。考勤终端不仅包括微处理器、RFID考勤采集模块、无线通信模块和显示模块,还增设了系统时钟模块。服务器不仅运行有数据库系统,还运行有数据接口模块以实现双向通信。本考勤系统将传统的从考勤终端向服务器单向数据传送模式转变成考勤终端与服务器双向数据交互模式,对系统部件的功能进行了调整,将考勤处理流程从服务器端移植到考勤终端,并采用了结合考勤历史数据的考勤自动处理方法,达到了提高考勤系统实时性,准确性和智能性的目的。目前该电子考勤系统在中天科技的车间流水线运行良好,验证了上述优点,具有广泛的应用前景和推广价值。
参考文献
[1]梁龙,王春雪.基于RFID和ZigBee网络的分布式考勤系统设计[J].制造业自动化,2012,34(14):14-16.
[2]章通,陈金玉.网络指纹考勤系统的设计与实现[J].计算机应用与软件,2011,28(2):73-75.
[3]张柯,张琦.非接触式IC卡技术原理与应用[J].办公自动化,2011(201):30-31.
[4]单莹,刘旭儒,史仪凯.非接触式13.56MHz读卡器的设计[J].工业仪表与自动化装置,2010,21(3): 27-29.
[5]王贞.基于智能卡的考勤系统的设计与实现[D].成都:电子科技大学,2011.
[6]罗巍巍,徐晓.基于ZigBee和RFID的环形流水线监测系统设计[J].传感器与微系统,2013,32(11):98-100,104.
[7]刘金生,高勇峰.基于Wi-Fi技术的公交IC卡数据采集系统[J].自动化与仪表,2013,28(10):26-30.
[8]刘军良.WiFi技术在温湿度远程监测系统中的应用[J].自动化仪表,2014,35(6):79-82.
[9]于志赣,刘国平.液显LCD1602模块的运用[J].机电技术,2009(3):21-23.
[10]罗春娅,朱周全.基于RFID的考勤系统的研究与开发[J].价值工程,2013(21):229-230.
Implementation of an Information Pretreated Electronic Attendance System
张彪杨永杰许鹏
(南通大学电子信息学院,江苏南通226019)
摘要:针对现有的电子考勤系统在实时性和准确性方面的不足,设计并实现了一款基于局域网的电子考勤系统。系统以STC12单片机为控制核心,配以高性能的非接触式IC卡读写芯片MF RC522和系统时钟芯片,借助WiFi232-B无线通信模块和液晶模块,完成了考勤人员的实时数据录入和无线传输,同时给出了系统各模块的具体软硬件设计。中天科技车间员工的现场测试表明,该考勤系统具有准确性高、实时性强和数据传输可靠等优点,具有很好的市场应用前景。
关键词:考勤系统STC12 WiFi MF RC522数据交互无线通信RFID TCP
Abstract:Aimed at the deficiencies of real-time performance and accuracy in existing electronic attendance systems,an electronic attendance system based on LAN is designed and implemented.In the system,STC12 single chip computer is selected as the control core,the highperformance and non-contact IC R/W chip MF RC522 and system clock chip are accompanied,and with help of WiFi232-B wireless communication module and LCD module,real-time data entry and wireless transmission of the attendance staff are completed.The specific design of hardware and software of each module in the system is given.The on-site test by ZTT workshop staff shows that the system has the advantages of high accuracy,strong real-time performance and reliable data transmission,as well as has good market and application prospects.
Keywords:Attendance systemSTC12 WiFi MF RC522 Data interaction Wireless communication RFID TCP
中图分类号:TH-39; TP274
文献标志码:A
DOI:10.16086/j.cnki.issn1000-0380.201603013