1 主要技术简介
1.1 RFID简介
RFID是Radio Frequency Identification的缩写,即射频识别。它可以方的便对物品进行非接触式识别。一套RFID系统由阅读器与转发器组成,由阅读器发射一特定频率的无线电波能量给转发器,用以驱动转发器电路将其内部IDCode送出,此时阅读器便接收此ID Code,从而对物品批量的进行快速有效识别。
1.2 Zigbee简介
Zigbee作为一种近年来新兴的无线网络技术,主要用于近距离的无线连接。它利用自己的协议标准,在只需要很少能量的情况下,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,其通信效率非常高。
2 整体架构设计
本智能仓储管理系统主要由上位机与RFID手持读卡器两部分组成,其通信采用Zigbce协议。上位机程序包括上位机前台程序、后台程序两部分。前台程序可运行于多个PC,后台程序运行在服务器。整体架构如图1所示。
2.1 上位机前台程序
上位机前台程序包括操作界面与管理员界面。操作界面由入库操作与出库操作组成。管理员界面由标签注册、写入数据和读取数据等组成。
2.2 上位机后台程序
手持读卡器非接触式读取物品RFID标签后,把所读数据发送给后台程序,经过后台解析将物品的详细信息实时回传到手持读卡器的液晶屏上。数据采用GB2312编码,后台程序采用串口与各Zigbee节点通信。上位机工作流程如图2所示。
2.3 Zigbee通信协议
Zigbee节点主要负责数据的转发,包括上位机与固定节点和上位机与手持读卡器数据的转发。
2.4 手持读卡器
手持读卡器主要利用RFID技术负责对仓库内商品的出入库查询,其具有两个功能:单品识别和多品识别。单品识别不采用防碰撞机制一次只能识别一个商品上的RFID标签,多品识别采用防碰撞机制可以同时识别上千个RFID标签,识别的标签存储在队列中。手持读卡器在对仓库内的商品进行查询时首先进行标签识别和解析,解析标签的数据后获得标签的UII(唯一物品识别码)。通过标签的UII将数据库中的数据显示在手持读卡器上,以便仓库管理员能够方便地进行商品查询。
3 系统功能设计
3.1 手持读卡器系统设计
本系统手持读卡器采用ARM公司的STM32F103嵌入式处理器作为控制单元的主控制器,中软吉大JX200E系列的UHF 900M超高频阅读器芯片作为射频收发模块的核心,将uC/OS-II实时操作系统和FATfs文件系统移植到ARM处理器上,完成任务调度,并在此基础上控制高频阅读器芯片读取每个商品唯一的的RFID标签数据。使手持机读卡器与上位机通信,获取数据库中存储物品的详细信息,实时显示在其液晶屏上,进而实现基于RFID的智能仓储管理。手持读卡器系统结构如图3所示。
3.2 管理系统设计
仓储管理系统功能结构如图4所示,主要包括信息浏览,商品管理,人员管理。其中,信息浏览主要包括查看商品信息,注册信息,人员信息,入库信息,出库信息的功能。商品管理主要具有增加商品,删除商品及更新数据的功能。人员管理主要具有增加人员,删除人员及更新数据的功能。
4 系统功能实现
本系统采用Microsoft Visual Studio 2012的VC++6.0作为开发工具,以Microsoft SQL Server2012作为数据库管理系统实现,以下是对其主要功能的介绍。
4.1 用户登录
打开仓储管理系统进入登录页面,数据库用户信息表中有管理员和普通用户权限。其中用UserPermission字段用来存储是否有管理员权限,其数据类型为bit。如果判断为true则具有管理员权限,如果为false则为普通用户。数据库中主要涉及管理员对数据库中商品信息的浏览和查看。
4.2 系统管理操作
管理员直接面对的就是管理界面中的数据,通过对管理界面中商品信息的浏览进而有效管理仓库商品信息。首先是管理界面中的信息浏览,该界面包括商品信息,注册信息,人员信息,入库信息,出库信息等。在商品信息中可查看商品的编号,商品的名称,能够直观的了解商品,在所在商品行单击可查看商品的描述。在注册信息中可查看商品标签的UII,商品的名称,以便第一时间掌握商品注册信息。人员信息中包括用户名和密码等信息,其中用户可分为管理员和普通用户。入出库信息包含商品UII,入出库时间,商品名称,操作员等。系统管理界面如图5所示。
4.3 商品管理界面
商品管理是整个上位机操作的核心。为了获得数据库中的数据来填充数据集以显示具体信息,需在数据访问类StorageDB中构建成员函数,实现对各个表的调用从而显示表中的具体信息。这里入库出库信息的显示就是在成员函数中对入库出库表的调用,从而显示入库出库信息的目的。商品管理界面包含商品编号以及对应的商品名称。同时具有添加商品和删除商品的功能。
当库存货物中没有该商品时,可对该商品进行添加操作。当不再需要该商品时,可对该商品进行删除操作,及时更新数据。这里为了及时更新数据库中的数据,同样在StorageDB中构建了函数BooleanUpdateTable。
通过SqlCommandBuilder GoodsTableBurider=new Sql CommandBuilder(adapter)来实现对数据的更新。DataGrid控件绑定数据访问类GoodsTable属性,并实现增加商品,删除商品功能,其具体实现也是调用数据访问类中函数来实现。
应用双向数据绑定,从StorageDB对象中提取信息供界面显示、操作。减少后台代码复杂的操作,方便了数据的更新和多界面间数据的同步。各文本框分别绑定。
Text=“{Binding Path=GoodsNumber}”
Text=“{Binding Path=GoodsName}”
Text=“{Binding Path=GoodsDescription}”
在相关文本框中进行修改后点击更新调用数据访问类中的更新函数,即可更新到数据库中。如图6所示。在管理界面左上角显示的UII单品搜索文本框中输入标签的UII即可查询单个UII的详细记录。其详细记录包括商品的注册信息,入库信息和出库信息等。
5 结束语
本文主要介绍了一套RFID与计算机终端管理软件相结合的智能仓储管理系统。实现了货物智能化的入库出库,完整的货物信息浏览,对商品的分类管理和动态盘点,可以有效提高仓储效率,具有一定的应用价值。