华中科技大学材料科学与工程学院 / 黄俊强 陈柏金
基于手持PDA的仓储管理系统开发与应用
华中科技大学材料科学与工程学院 / 黄俊强 陈柏金
本文分析了某仓库现有立体仓库监控管理系统,结合用户实际需求,新增开发基于工业级手持PDA的仓储管理系统。该系统采用C#开发工具,实现了指纹识别、库存管理、查询操作、出入库业务操作等功能,通过Web Service的方式完成系统远程数据访问。同时,该系统在业务上采用物料人工操作存取的管理,对现有立体仓库系统的监控管理进行补充,实现库房业务信息化的全覆盖,提高了整个库房的仓储管理水平。
仓储管理系统、PDA、通信网络、Web Service
随着硬件终端水平的不断提高,工业级手持PDA(Personal Digital Assisant)凭借其智能化、便携性、移动化和集成化等特点得到广泛应用。物联网技术与仓储物流技术的深度交融,将工业级手持PDA引入到企业仓储物流环节中,充分利用手持PDA终端的优势,简化仓储操作流程,提高仓储管理水平。
某企业库房现有一套自动化立体仓库监控管理系统。该系统运行在固定操作PC终端上,控制下位物流设备实现物料在立体仓库中的存取自动化。库房中有些物料由于重量、尺寸、存储条件等原因无法使用现有系统完成物料存取,需要另行通过人工操作的方式完成存取。因此,新增开发了手持PDA端仓储管理系统,完成物料人工存取的管理,实现覆盖所有物料的全方位仓储管理。
本文中手持PDA端仓储管理系统是基于嵌入式WINCE操作系统,配备无线网卡模块、条形码扫描/识别模块和指纹采集模块,通过Web Service的方式与仓储管理系统数据库服务器进行数据交互,完成日常仓储管理业务。
该企业现有的自动化立体仓库监控管理系统采用C/S结构模式,仓库库区中的监控管理计算机终端、下位物流设备的控制器PLC和库房数据库服务器通过局域网实现数据的交互。在立体仓库监控管理系统通信网络的基础上,新增布局手持PDA端仓储管理系统的通信网络,实现整个库房仓储系统通信网络的有机融合。
1.仓储管理系统通信网络的架构分析
该企业的所有仓储物流库区作为一个整体,由集团ERP系统统一进行出入库及其他业务管理。整个库区共享一台库房数据库服务器。作为集团ERP系统的客户端,该数据库服务器通过接入企业网完成ERP任务的接收和反馈。
手持PDA端仓储管理系统采用B/S结构模式,在库房局域网中新增无线访问接入点(AP, Access Point),手持PDA终端通过AP实现与数据库服务器的数据交互。AP提供有线网和无线网之间的桥接,使PDA能够与库房有线局域网进行连接,实现信息的接收和采集等。仓储管理系统的通信网络架构如图1。
>> 图1 仓储管理系统通信网络架构图
整个仓储管理系统采用C/S模式为主,B/S模式为辅的体系结构。其中C/S结构具有较强的事务处理能力,比较适合内部快速的信息处理,B/S结构具有较好的兼容性和网络扩展性,比较适合Web信息处理。C/S和B/S的混合结构能集成两者优点,满足整个库房的数据通信需求。
2.PDA仓储管理系统数据访问方式
工业级手持PDA属于嵌入式系统,目前许多主流数据库均有对应版本的嵌入式数据库。但PDA仓储管理系统和立体仓库监控管理系统存在业务上的往来,均在集团ERP系统的规划下开展业务;且库区中存在多台手持PDA设备。在手持PDA上运行嵌入式数据库会从业务上割裂库房仓储管理系统的有机统一,同时还要考虑多台PDA设备的数据同步问题。因此,本文中手持PDA不使用嵌入式数据库,而是直接与库房数据库服务器完成数据交互。库房数据库服务器运行My SQL数据库,手持PDA通过Web Service的方式远程访问My SQL数据库。
Web Service也称作XML Web Service,是一种可以从Interent或Interent上其他系统中接收请求的通讯技术。WebService是面向服务(SOA)的体系结构,包括服务提供者(Service Provider)、服务注册中心(Service Registry)、服务请求者(Service Requestor)以及上述角色间发布、查找和绑定的三个动作。Web Service的使用步骤一般是:服务提供者向注册中心发布所提供的服务,发布的内容是使用WSDL (Web Service Description Language,web,服务描述语言)进行描述的服务接口;服务请求者通过SOAP (Simple Object Access Protocal,简单对象访问协议)到服务注册中心查找服务提供者提供的服务,注册中心将服务提供者提供的WSDL通过SOAP消息传递给服务请求者;服务请求者按照接收到的WSDL中定义的接口调用方式将服务绑定到服务提供者上。
本文中库房数据库服务器为服务提供者,其将库房数据库的数据服务发布到数据库服务器的IIS (Internet Information Services,互联网信息服务)中。手持PDA仓储管理系统为服务请求者,通过无线Wif与发布到库房局域网中的数据服务进行通讯,通过绑定调用相应数据接口函数,完成与数据库服务器的数据交互。
1.手持PDA的硬件组成
本文中的手持PDA采用嵌入式WindowsCE6.0系统。WindowsCE系统是Microsoft公司专门为嵌入式设备开发的系统环境,其发展非常成熟,凭借系统稳定性和Windows平台应用的可移植性在工业领域得到广泛使用。结合项目的实际需求手持PDA配备了无线网卡模块、条码扫描模块和指纹识别模块。
无线网卡模块基于IEEE802.11协议,手持PDA通过专门的驱动程序调用系统无线网卡,获取无线路由器创建的无线网信息,将解析到的无线SSID(Service SetIdentifier,服务集标识)和输入的访问密码进行匹配,系统将自动连接库房内部的无线局域网。
条码技术早已在仓储物流行业中得到使用,本仓库的所有物料在ERP系统中拥有唯一物料条码,在日常业务开展中用物料条码来追踪物料信息。PDA采用一维条码扫描模块,通过驱动函数启动条码扫描模块,模块扫描物料标签上的一维条形码,通过内置解码器向系统传输相应的物料条码。
指纹识别技术作为一种新兴的生物识别技术,在智能硬件中得到一定应用。本系统配备指纹识别模块,主要用于系统登录和业务经手人员(质检员、入库人员、领料人员等)签名。指纹模块会录入库房业务相关人员的信息,系统操作人员通过扫描指纹完成仓储系统登录;业务经手人员通过扫描指纹完成业务经手确认。使用指纹录入模块,可以保证系统的安全性和业务的可追溯性。指纹识别模块使用光学识别技术,通过发射到手指上再反射回采集模块的光线来提取数据。指纹录入时,采集指纹图像,然后对图像进行降噪、滤波、细化和二值化处理,提取图像中的指纹特征点,通过与模板中的特征指纹点集进行匹配,完成指纹与人员信息的映射。
2.PDA仓储管理系统的主要功能
手持PDA仓储管理系统主要用于物料人工存取的管理,作为整个库房管理系统的辅助部分,功能只限于在人工存取业务层面上的展开。至于库房管理人员信息管理、条码打印和数据库维护等方面的功能,在现有立体仓库监控管理系统上运行。整体来看,手持PDA仓储管理系统主要功能有:指纹录入、库存管理、查询操作和业务操作。如图2。
①指纹录入
指纹录入功能负责PDA仓储管理系统的指纹管理,完成库管人员和相关业务经手人员的指纹录入、修改、删除、匹配等操作。
②查询操作
查询操作包含物料查询、入库查询、出库查询和移库查询。物料查询可以对整个库房中的所有物料信息进行查询。入库查询、出库查询和移库查询既可以对人力库区已完成的入库、出库和移库记录进行查询,也可以对包括立体库区在内的整个库房进行入库、出库和移库记录查询。
>> 图2 PDA仓储管理系统功能图
③库存管理
库存管理对整个库房的库存信息进行管理,详细追踪库存物料的所有信息,给库管人员提供决策信息支持。
④业务操作
业务操作是PDA仓储管理系统的核心功能,由入库操作、出库操作和移库操作共同组成。集团ERP下发的操作任务会通过库房数据库服务器转发,进入相应的操作界面读取ERP任务,选择填入相关信息后执行业务操作任务。
3.PDA仓储管理系统软件的实现
本文中PDA仓储管理系统软件开发基于VisualStudio2008平台,采用C#语言实现。
>> 图3 系统登录界面和系统主界面
①系统界面的设计
在VS2008中建立PDA仓储管理系统的智能设备解决方案,通过WinForm界面编程完成系统所有界面的设计。这里以系统登录界面和主界面为例,如图3。
系统登录界面有指纹登录和用户名密码登录两种方式,操作人员可自由选择登录方式。系统主界面采用扁平化设计,直接将系统全部功能以位图的形式罗列,操作人员通过触发完成相应功能的选择。
②系统数据访问的实现
本文通过分析手持PDA仓储管理系统对库房数据库的访问需求,以是否返回数据集为判断依据,将数据库提供的服务分成数据库查询服务(提供select服务)和数据库操作服务(提供insert、update、delete服务)。在数据库服务器上创建ASP.NETWeb应用程序,连接MySQL数据库,按照上述两种分类将数据库的数据服务封装成相应接口发布到IIS上。相关代码如下:
同时在数据库服务器IIS上配置必要的安全认证和授权机制,保证PDA对Web Service的访问受到服务器系统平台的安全保护。
在PDA仓储管理系统项目解决方案中的Web Referencnces中,引用数据库服务器IIS中发布的数据服务Web Service,这样系统程序才能在需要访问数据时直接调用Web Service。PDA仓储管理系统在执行库存信息查询时,调用库房数据库查询服务Web Service的相关代码如下:
③系统运行的实例
本文以入库操作为例详述系统运行的过程。采购人员在集团ERP系统中完成物料采购任务,ERP系统自动生成相应的入库任务。库房数据库服务器将ERP系统中的入库任务接收到库房任务序列中。操作人员打印生成入库物料条码后,登录PDA仓储管理系统,进入入库操作界面,如图4。
完成物料条码扫描后,自动显示主要物料信息,选择合适的PO单号、项目编号和ERP任务的事务ID,手动输入入库数量和入库货位,添加生成一条入库任务。在输入入库数量时,系统会结合库房任务序列中的要求入库数量进行比对,自动进行输入数量的提醒,防止数目输入错误。
对已添加的入库任务,还可进行修改和删除操作。选择待执行的入库操作任务,便可执行入库操作
>> 图4 系统入库操作界面
本文以某公司手持PDA仓储管理系统开发为例,在库房原有系统的基础上新增PDA仓储管理系统的通信网络,分析PDA仓储管理系统的功能需求,完成手持PDA设备的硬件模块配备,采用Web Service的方式完成PDA系统远程数据访问,以C#为编程语言完成PDA仓储管理系统的软件开发。
该手持PDA仓储管理系统有助于将人工库区的业务和原有自动化立体仓库库区的业务有机整合在一起,实现库房所有区域业务信息化的全覆盖,提高整个库房的仓储管理水平。