物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  其他  >  正文

基于ASP.NET的RFID刷卡系统设计

作者:谢尚剑 王桂棠 杨振麒
来源:电子产品世界
日期:2015-09-01 14:15:46
摘要:本文针对热处理行业生产流程的复杂性和货物的多样性,设计一种以ASP.NET C#为基础,采取B/S模式[1]架构,利用终端读卡器读取数据,通过CAN总线传输,结合服务器和SQL Server 2005数据库相连的智能刷卡管理系统。整个智能刷卡管理系统简化了生产流程中信息输入的过程,而且客户端只需要浏览器支持,通过IP地址绑定,就可以刷卡记录信息了。该系统不但有良好的页面用户体验,让工作人员可以更好地管理及跟踪货物,而且还适合用于智能移动设备。

  引言

  目前,中国热处理行业存在一些有很明显的特点:生产流程的复杂度高,货物的零散度大,而且最重要的是货物在生产流程的入炉、出炉的过程记录必须由工作人员来完成。在很多热处理行业的管理系统中,基于RFID射频技术的刷卡管理系统[2]已经在使用了,但它们存在一些弊端:读卡机直接与客户端相连,加大了客户端的硬件需求;没有和客户端相连的读卡机在读取信息时不能在任意的客户端显示信息,刷卡记录信息不精确。针对这种比较固定的刷卡系统,随着移动终端设备的快速普及,必须引入能够融合不同移动设备的RFID刷卡系统。

  RFID电子标签技术是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据[3],识别工作不需要人工干预,作为条形码的无线版本,RFID技术因为具有条形码所不具备的防磁、防水、耐高温、使用寿命长、标签上数据可以加密、读取距离大、存储信息更改自如、存储数据容量更大等优点,其应用将给物流、零售等产业带来巨大的变化。

  ASP.NET 是微软公司的一项技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。 指 Active Server Pages(动态服务器页面) ,运行于 IIS 之中。ASP.NET C#拥有自己的后台代码,具有比一般的PHP更为强大的后台管理能力,适合热处理生产流程中复杂的操作输入,同时可以嵌入应用程序到IIS管理器中。因为ASP .NET的实现完全依赖于虚拟机,是基于通用语言编译运行的程序,所以它具有很好的跨平台性,ASP .NET构建的应用程序几乎可以运行在所有的平台上。

  CAN是ISO国际标准化的串行通信协议,CAN总线具有传输距离远、传输速度快、类似局域网的冲突处理、实时性强、可靠性高、后期工程维护工作量少等优点[2],由于采用短帧结构使得该总线具有较高的可靠性和实时性,是本系统设计中替代485总线的最佳选择。

  本系统利用RFID读卡器终端读取数据简化生产流程中的信息输入过程,通过CAN总线传输,以ASP.NET C#技术开发前后台程序,可以方便地在支持浏览器的终端上查看生产流程信息。

  1 RFID刷卡管理系统设计与实现

  1.1 系统架构

  本文所设计的原型系统基于ASP.NET C#,通过CAN总线与读卡器相连,配合服务器与移动客户端进行生产管理,系统组成图如图1所示。

基于ASP.NET的RFID刷卡系统设计

  刷卡系统流程如2所示。

基于ASP.NET的RFID刷卡系统设计

  1.2 信息刷卡读取与保存流程与实现

  为了减少客户端对读卡器的依赖性,采用CAN总线的联接方式实现大量读卡器相连。当客户端是移动设备的时候,可以将设备的IP地址与临近的读卡机绑定,此时就可以刷卡读取信息,再登入管理系统进行信息的写入。流程图如图3所示。

基于ASP.NET的RFID刷卡系统设计

  RFID刷卡信息是16进制的数据流,通过CAN总线传输到服务器。然后调用智能刷卡管理系统的RFID数据转换模块转换成RFID卡唯一的标识号。

  RFID数据转换模块[4]中,先通过判断serialport端口有没有收到数据,如果收到数据把储存到buff缓冲区中,然后再分析buff缓冲区中每条数据是从哪个地址、用哪种协议发送,接着将得出的RFID卡唯一的标识号放到相对应的新缓冲区中。此时新缓冲区保存的数据并不是我们需要的数据,它们仅仅是RFID卡唯一的标识号。最后要连接SQL Server 2005数据库,通过查找数据表记录,找出对应绑定的货物批号输出。整个流程如图4所示。

基于ASP.NET的RFID刷卡系统设计

  当数据保存后,客户端就可以获取数据显示了。客户端独立于读卡器,客户端可以绑定任何的读卡器。通过查找SQL Server数据库中IP绑定读卡器地址的记录,就能将数据发送到客户端显示,假如是智能移动设备,设置绑定IP地址,就可以临近的读卡器刷卡读取信息了。

  考虑到整个刷卡系统的可扩展性,可以对显示信息进行选择,满足不同用户的显示需求。

  1.3 服务器端三层结构

  该系统服务器端实现结构图如图5所示,参照SOA架构[5]完成各个功能模块的实现,接口层通过monitor监听不断检测读卡器发到服务器的数据,同时将处理完的数据通过http协议格式返回给对应IP地址的请求客户端。业务层将接口的数据根据CAN传输协议的格式解析出RFID卡唯一的标识号,并调用程序把数据放到相对应的缓冲区中。数据层负责将业务层的数据通过SQL数据库转化成客户想要的数据。

基于ASP.NET的RFID刷卡系统设计

  1.4 服务器端关键技术实现

  该刷卡系统是通过B/C模式与服务器端进行数据交换的。工作人员浏览完数据并关掉网页后,服务器端就会相应地把对应客户端的页面文件从内存清除,删除所有页面的变量内存空间,并且不再运行后台文件cs的代码。因此为了能够一直运行监听读卡信息的模块,必须在Global.asax[6]启动监听模块的线程。

  Global.asax是ASP.NET的一个全局文件,一直保存在内存中,能够一直运行代码。因此把监听模块的开始线程放到Global.asax下。

基于ASP.NET的RFID刷卡系统设计

  Monitor是监听模块的开始线程。这个线程在服务器开始运行的时候就开始执行,一直保存在InProc的运行进程中。这样就可以保证系统能够一直监听刷卡数据的输入并进行处理。Monitor线程与页面代码相互独立,不受各自影响,也就是就算用户不浏览网页,也可以刷卡通过读卡器查看数据。

  Application是全局变量,也就是保存数据缓冲区。如果直接采用客户读取端口数据的方法,那么同时只能一个用户读取,而且这位用户读取完之后,数据就消掉,因此要放在全局变量中,这样就能够同时让多终端查看数据。

  当线程发现有数据输入的时候,马上读取每个字节的数据,并且通过判断协议判断读卡器地址取出唯一的RFID标志号。过程如图6。

基于ASP.NET的RFID刷卡系统设计

  1.5 RFID绑卡识别货物过程

  热处理设备的处理温度能够达到1000摄氏度以上,正常情况下至少也有几百摄氏度,而RFID芯片的工作温度一般在-2摄氏度到85摄氏度之间,在这种极端温度下RFID卡是不能跟随货物进入设备进行作业的。这种情况下,在货物完成作业后,工人们如何将RFID卡与对应的货物进行配对成为货物跟踪的最大问题。本文RFID刷卡系统采取的方法是通过拍照识别货物。每批货物在刚开始与RFID卡绑定的时候,都要拍该货物的照片,并且上存到服务器,如图7。

基于ASP.NET的RFID刷卡系统设计

  在货物与RFID卡绑定成功后,在货物进入设备作业时,车间大屏幕会显示所有进行生产的货物的图片和对应的卡号。在货物作业完后,工人们通过观看大屏幕上的货物与RFID卡的对应关系,再把RFID卡与货物放在一起,这样就能解决前面提到的货物与RFID卡对应的问题了。同时,工人们也可以通过刷卡在电脑或者其他移动终端查看RFID卡绑定货物的图片,这样也能够识别货物。

  2 实验结果

  系统的服务器端使用IIS服务器,客户端浏览网页刷卡获取数据,读卡器通过CAN总线与服务器相连。只要将设备IP与读卡器绑定,客户端就可以通过任意的读卡器刷卡,特别适合大量移动智能设备,而且用户可以选择哪些设备终端显示信息。在某些场合下,工作人员在车间刷卡操作的同时,办公室的管理人员也可以查看刷卡的信息,方便管理人员管理货物。在无线网络的环境下,工作人员的工作可以更灵活,移动设备配合读卡器可以让工作人员随时随地工作和记录信息,提供效率。该系统目前已在深圳市先力得热处理有限公司稳定运行。

  3 结束语

  随着移动互联网的发展与RFID技术的成熟,提高热处理行业的生产效率和掌握货物生产的实时性和准确性是很重要的工作。通过刷卡登记信息可以大大提高工作人员的工作效率,随时随地都可以记录货物的现场信息,而且货物信息的准确度大大提高,能够更好地跟踪货物。只有充分掌握货物整个生产流程的走向,才能作出对应的生产调度。节能减排和提高差能比是热处理行业的趋势,只有掌握精确的货物信息生产流程走向,才能作出更好的能源调整。