基于ISO15693协议的RFID智能货架管理系统设计
2019-02-22张成吉景为平
张成吉 ,景为平
(南通大学,江苏省专用集成电路设计重点实验室,江苏南通 226019)
0 引言
RFID技术是一种非接触式的自动识别技术,它通过射频信号在空间磁场耦合进行远距离通信[1]。RFID系统主要由应答器、阅读器、应用软件系统组成,企业通过RFID中间件将RFID系统与企业现有的制造执行系统和制造信息管理系统相连,实时获取产品在各个环节中的信息,提高企业生产率并节省生产成本。目前,RFID在制造业上的应用层出不穷。如工厂的资产管理、仓储管理、生产线的数据采集及人员定位的管理。
本文针对企业待加工物品难管理的问题,设计了一套基于RFID智能货架管理系统。系统结合企业实际的应用场景,以RFID技术为核心并辅以手持式智能终端的使用进行数据采集,将得到数据清洗存入数据库软件并传递给MES系统。基于B/S结构,通过ASP.NET开发平台开发网络应用程序,便于实时查询物品信息。
1 系统总体结构
智能货架管理系统是根据企业对于待加工物品实时管理的需求,利用RFID技术和自动控制技术开发而成的智能化管理系统。本系统主要以企业货架环境为应用对象,由RFID标签、RFID阅读器、手持式智能终端以及应用支撑软件4部分构成。企业目前有80个电子货架,每个电子货架分3层,每层固定3个存货位置,每个存货位置上叠放2个料箱,共1 440个料箱位置。本系统中,每个料箱装贴电子标签,标签内写入UID号唯一标识料箱。货架背板上安装RFID阅读器,每个存货料箱对应位置上安装RFID读写天线。系统工作流程如图1所示,周转库操作员用手持式智能终端从电子随工单上读取待加工物品的Lot ID号,送入服务器。服务器判断是否有同一批次的物品并通过扬声器进行播报。若没有同一批次的物品,周转库操作员选取空料箱并读取料箱上电子标签的UID号,将此物品放入料箱并进行数据关联,送入服务器并放入货架。如果存在同一批次的物品,服务器判断该物品是否能够并批。若能并批,扬声器播报料箱号,周转库操作员进行并批操作并放入货架相应位置。若不能并批,周转库操作员选取一个空料箱并读取料箱的UID号,将此物品放入料箱中并进行数据关联,送入服务器。扬声器播报料箱应放入的位置,周转库操作员按指令放入货架。料箱在货架上放到位后服务器通过相应货位RFID阅读天线将料箱的UID号送入控制服务器,从而得知料箱的位置。控制服务器将随工单号、料箱RFID号和料箱号码关联起来,并生成本料箱履历表,履历表包括料箱的基本信息,如ID号、组装批号、品名、客户名、加工速度等级、时间、料箱在货架的位置等并送入MES系统。
图1 系统工作流程图
2 系统硬件设计
系统中的RFID阅读器是基于ISO15693协议进行设计的,硬件主要由微控制器、可编程逻辑器件、电源模块、调制模块、检波及滤波放大模块、载波抑制模块、天线发送接收模块和双向比较模块组成[2]。其功能结构如图2所示。
图2 阅读器原理图
微控制器选用STC15W4K系列单片机,其具有丰富的资源、超低功耗、可靠性高、成本较低。采用面向对象的设计思想,采用C语言进行程序设计,实现串口(RS232)与网口(RJ45)通信、控制CPLD进行数据编码、解码,对收到的信号进行防碰撞处理及天线轮询等功能。可编程逻辑器件选用EPM240系列,成本低、功耗小。采用Verilog HDL语言进行RTL级建模,完成信号编解码。RFID阅读器硬件部分主要由射频前端电路、MCU逻辑控制电路以及电源产生电路等组成,最终实现基于ISO15693协议的发送功率可调的可读写RFID阅读器。
2.1 射频前端电路设计
射频前端电路主要分为发送和接收2部分,部分原理图如图3所示。
图3 射频发送、接收部分原理图
射频接收部分,RFID阅读器通过天线接收射频已调信号,经检波后消除13.56 MHz载波,得到调制信号。经过滤波放大电路后,滤除了调制信号中的高频噪声和干扰并进行了放大。为便于分析,通过载波抑制电路,保留正相信号。再次经过滤波放大电路,滤除杂波,增大功率。最后经过双向比较器,将信号整形、优化变为数字信号。
射频发送部分,上位机将命令发送给微控制器,微控制器控制CPLD产生数字基带信号。时钟产生模块产生13.56 MHz载波与基带信号进行调制,变为已调信号送入放大器。然后经过滤波电路滤除杂波送入天线发送模块,传输到标签中。
2.2 通信接口电路设计
微控制器(MCU)STC15K4W单片机选用LQFP3封装形式,有30个I/O引脚。所需工作电压为3.3 V,由电源电路产生。外接24 MHz的石英晶振,为电路提供所需时钟信号。为便于RFID阅读器与服务器、客户端进行数据通信,本设计采用W5500嵌入式以太网控制器进行通信电路设计[3]。通过在W5500的SCSn的引脚上串联一个10 kΩ电阻并接入3.3 V电压来选择W5500的SPI接口模式,配置MCU为SPI主模式而W5500为SPI从模式。在SPI总线模式下,P3.6、P3.7、P2.0分别与SCLK、MISO、MOSI信号线直接相连,使得MCU通过SPI对W5500进行读写操作。通信电路原理图如图4所示。
图4 通信电路原理图
2.3 电源电路设计
电源电路产生微控制器、可编程逻辑器件及射频前端电路所需的电压和电流,维持电路正常工作,电源电路部分原理图如图5所示。电源电路产生的电压有6.8、5、3.3 V及可调电压VCCPA。本电源电路主要由线性稳压器、开关电源芯片等组成。电源适配器将电压从220 V变为12 V,12 V电压经过变压器转换为9 V,再依次通过线性稳压器与开关电源,输出电路所需的电压。射频发送电路的电源由可调电压VCCPA提供,从而实现RFID阅读器发送功率可调[4]。可调电压电路选用开关电源芯片TPS54340DDA进行电压转换。该芯片具有宽输入电压,效率高的特性。芯片输入9 V电压,而在芯片输出的SW脚接上滑动变阻器R91与两分压电阻串联,根据式(1),通过改变R91值,得到可调的VCCPA电压值并提供给射频发送电路,从而实现发送功率可调。
图5 电源电路部分原理图
(1)
3 系统软件设计
系统以B/S(Browser/Server)为架构,采用面向对象的思想设计程序。手持式智能终端型号为PDA3501,操作系统为Android4.2,集成了条码扫描、NFC(Near Field Communication)、WLAN(Wireless Local Area Network)等功能模块。在智能终端上开发一款App读取条形码和RFID标签数据实现待加工物品与料箱的绑定,固定在电子货架上阅读器通过RFID中间件读取料箱的标签数据并对数据清洗、整合。网络应用程序采用ASP.NET框架,具备开发网站应用程序的一切解决方案,包括验证、缓存、状态管理、调试和部署等全部功能。
3.1 Android App程序设计
App程序在Eclipse环境下开发,主要完成读取待加工物品上的条码数据以及料箱上的RFID标签数据,把物品与料箱进行绑定并通过无线网络传送给本地计算机[5]。手持式智能终端及App程序界面如图6、图7所示。在APP界面中增加一个绑定按钮,用于表示完成一次数据绑定并将数据实时传送给本地计算机。App界面的读取条码、读取标签数据以及绑定数据按钮分别与手持式智能终端上的按键关联,便于操作。App程序依据TCP/IP协议与本地计算机通信,开辟两个子线程进行发送、接收工作。
图6 手持式智能终端
图7 Android App界面图
3.2 RFID中间件设计
RFID中间件是RFID应用系统中介于读写器与企业应用之间的支撑软件,其主要任务是对读写器传来与标签相关的事件和数据进行过滤、清洗、汇集、计算和抽象。单个货架上位机界面图如图8所示。RFID中间件首先通过以太网口连接阅读器,并进行工作模式、命令模式、UID传输模式、波特率选择等参数配置。打开阅读器,读取标签UID。为过滤阅读器读取的冗余数据,设置一个由若干个基本周期组成的读取周期并定义标签识别率:
式中:ni,k为第k个读取周期中标签i读到的次数;nk为读取周期中所含基本周期的个数[6]。
当料箱放入货架的具体位置时,标签的识别率应保持在一定范围内。当料箱离开货架位置时,标签识别率急剧下降。RFID阅读器与标签的一次数据交互为一个简单事件,记为(R,O,T)。其中R为阅读器名,O为标签名,T为时间戳。标签识别率为一个复杂事件,记为(O,B,T),其中B为标签识别率。设定一个阈值,当标签识别率小于此阈值,系统认为料箱离开位置。
图8 货架中间件界面
3.3 网络应用程序设计
针对电子货架的应用场景进行数据库表的设计,系统采用的数据库软件为SQLServer 2014。采用Entity Framework的code first模式来进行数据库表的设计、迁移及更新表结构。数据库中表分为3种:静态实体表、静态关系表和动态关系表。静态实体表记录了RFID阅读器、电子货架、料箱、用户个人信息等实体的具体信息,如ID、名称、描述信息等。静态关系表记录了RFID阅读器与电子货架之间的对应关系、天线与阅读器的对应关系、天线与货架各位置的对应关系等静态实体间映射信息。动态关系表记录了手持式智能终端采集的数据、RFID阅读器实时读取的数据等带有时间戳的数据[7]。ASP.NET编程模式采用MVC(model view controller),包含3个逻辑层:业务层(模型逻辑)、显示层(视图逻辑)和输入控制(控制器逻辑)。在Controller中增加系统所需的控制逻辑,并在View中,利用HTML5、CSS语言构建相应的用户登录、系统主界面、用户增加删除界面以及阅读器相关信息配置等界面。采用JavaScript来为各个界面创建动态事件,并适当美化界面。在控制逻辑中,通过连接字符串与SQL Server2014相连,从各个表中进行数据的增加、删除、更新、查询以及相关的数据处理算法等操作来提取数据填充到视图中。最后通过Web Service技术将相关信息送入企业的MES(manufacturing execution system)系统中[8],高效实现生产自动化。网络应用程序如图9所示。
图9 货架网络应用程序界面
4 系统测试和验证
测试五通道RFID阅读器在天线轮询模式,结果表明各通道能够准确无误地读取相对应的标签并显示在上位机中。测试手持式智能终端传输数据,通过选用10张不同清晰程度的条形码,以不同的方式扫描条码实时上传至服务器。测试结果表明,手持式智能终端能基本准确地把条码号传至服务器。针对电子货架固定RFID阅读器及天线的位置。选取8个待加工物品和6个料箱。周转库操作员通过扫描条形码与读取料箱标签ID号进行货物绑定,并放入货架任意位置。当待加工物品需进入下一道工序时,操作员通过本地计算机获取物品放入的位置送入下一道工序。测试结果表明,采用RFID技术管理物品,节省了大量的人力,提高生产效率,便于数据查询与保存。货架实物图10所示。
图10 货架实物图
5 结束语
本文设计了基于RFID的智能货架管理系统,详细阐述了系统的工作原理和运行方式。基于STC单片机的强大的控制能力及低功耗和CPLD的实时并行控制能力和高速数据处理的优势,实现基于ISO15693协议的RFID阅读器硬件电路设计。结合简洁的上位机界面和Android App的高灵活性、辅以复杂事件处理的算法及分布性强大的网络应用程序,最终实现一个全自动化、高效率、操作便捷的RFID智能货架管理系统。该系统已应用于企业货架管理的示范工程中,提高了企业生产效率,节省了大量的动力。