王德广,石华,周志刚,王超
目前,大连船舶重工有限公司一工厂钢板库的仓库管理员主要采取手工方式记录并管理钢板信息。为了避免人为操作误差、保证钢板及时顺利的进行入库、倒库、盘点和出库等操作,本文提出了一种在WLAN中利用掌上电脑(也有称之为PDA-Personal Digital Assistant)对钢板信息进行采集和管理的系统,通过无线的方式实现了钢板信息的录入、移动存储、实时交互。
本系统使用的PDA型号为MC3000,内嵌了Windows Mobile系统,同时配备了一维(1D)激光和二维(2D)成像扫描功能,实现了Web Service和PDA之间的互操作,同时成功的嵌入扫描条形码的技术,实现无缝集成。
为了满足生产过程的自动化和集成化的要求,达到使用PDA实时的监控钢板库现场的目的,采用基于PDA与Web Service的钢板信息管理系统,主要包括3个部分:PDA、无线AP、Web Service。其架构如图1所示。
图1 系统架构
基于PDA与Web Service的钢板信息管理系统的运行过程如下:用户手持PDA扫描钢板上的条形码,PDA利用其的无线收发功能,通过 WLAN将钢板信息实时传到 Web Service端,对数据库进行操作,并将操作结果实时显示在PDA上。
权限高的用户可以手工录入到货清单信息,所有用户都可以实现对钢板入库、倒库、盘点、出库操作。
文献[1,2]从面向应用的角度, 描述了Web 服务的基本架构。该架构由3 个参与者和3 个基本操作构成。3 个参与者分别是服务提供者、服务请求者和服务代理,而3 个基本操作分别为发布(publish)、查找(find)和绑定(bind)。Web 服务基本架构如图2 所示。服务提供者将其服务发布到服务代理的一个目录上;当服务请求者需要调用该服务时,他首先利用服务代理提供的目录去搜索该服务,得到如何调用该服务的信息;然后根据这些信息去调用服务提供者发布的服务。当服务请求者从服务代理得到调用所需服务的信息之后,通信是在服务请求者和提供者之间直接进行,而无须经过服务代理。Web 服务体系使用一系列标准和协议实现相关的功能[3]。
图2 Web Service基本构架
Web Service的宗旨是创建不需要用户界面就能与其他应用程序交互的Web应用程序。它是松耦合的,并与服务器端和客户端所使用的操作系统、编程语言都无关,这样就在一定的情况下大大提高了效率。但创建Web服务必须保证的是:服务器端和客户端都要支持行业标准协议HTTP、SOAP(Simple Object Access Protocal 简单对象访问协议)和XML。
在本系统的软件设计中,必须解决两个关键技术问题,一是嵌入PDA的条码扫描功能及在屏幕的指定区域显示条码;二是PDA(即客户端)在WLAN中通过无线AP连接到Web Service端,实现客户端与后台数据库服务器的连接,完成对钢板信息的实时传输与操作。
2.1.1 条码的获取与显示
PDA条码扫描由3部分组成:初始化条码,读取条码信息,显示条码。
具体工作流程如下:PDA通过Scan端口将扫描到的条码做简单的判断后,初始化所采集到的条码信息(即将不同类型的条码规范化)。具有扫描功能的窗体继承Symbol.Barcode.ReaderData类,设置其扫描功能可用后,读取条码。在窗体的指定控件设置条码的输入焦点后就可将条码显示出来。具体流程如图3所示。
图3 嵌入扫描功能的流程图
2.1.2 钢板信息的实时传输与操作
在本系统的软件设计中,通过无线AP在WLAN中进行数据的传输,所以,提供服务的一方称为Web Service端,消费服务的一端称为客户端(即PDA)。
客户端的基本行为可以概括为初始化、消费服务等。在具体实现时,客户端的功能主要是初始化窗体,记录用户通过扫描或手工录入的钢板信息,确定数据的类型符合数据库的要求,显示必要的人机交互时的友好提示,最后,将数据通过WLAN将数据传送到Web Service端。
Web Service端的基本行为即设置Web服务操作,在方法开始处标记[WebMethod]属性,WebMethod 基础结构负责将传入的 SOAP 请求发送到适当的类和方法(基于请求元素名称或 SOAPAction 头,它们可通过SoapDocumentService.RoutingStyle 进行配置),同时它还负责将 XML 消息序列化/反序列化为公共语言运行库 (CLR)对象,包括将 .NET 样式的异常转换为 SOAP Fault 元素[4]。
Web服务操作的具体内容如下:第一步,建立与数据库服务器的连接,利用SqlConnection方法,创建一个与数据库连接的对象;第二步,根据具体的业务逻辑实现对数据库的操作,如增加、删除、修改、查询;第三步,关闭数据库的连接,返回操作结果[5]。
钢板信息的实时传输与操作的设计流程图如图4所示。
图4 钢板信息实时传输与操作的设计流程图
客户端没有加载数据库减少了 PDA存储空间小的压力,尽量减少客户端与Web Service端的数据交互次数,缩短软件的响应时间。
钢板信息采集系统管理由5个功能模块组成,即到货清单的手工录入,钢板入库操作,倒板定位操作,在库钢板盘点,钢板出库操作。具体功能模块如图5所示。
图5 系统功能模块图
以钢板入库操作为例。具体步骤如下。
(1)用户扫描条码或手工录入条码并录入钢板的其他相关信息,PDA端检查钢板录入信息的完整性。
(2)PDA端发出信号,在WLAN中通过无线AP建立与Web Service的连接,并将数据发送到Web Service端。
(3)Web Service端接收到数据后,匹配标记为[WebMethod]属性的入库方法,建立与SQL Service的连接,判断输入的钢板是否已录入到货清单或已在库,若满足条件则提示用户重新检查后录入钢板信息,否则记录要入库的钢板的个数,建立钢板与堆垛、层数和入库日期的对应关系,调用存储过程更新数据库,完成入库操作。
(4)Web Service端处理完数据后,将操作结果返回,由PDA显示操作结果。
基于PDA与Web Service的钢板信息管理系统,已经实际应用于大连船舶重工有限公司一工厂钢板库信息管理的项目中。运行此系统软件时,用户根据其权限的不同实现对钢板信息的管理,权限高的用户可以对到货清单的手工录入进行操作,所有用户都可以进行钢板信息的入库、倒库、盘点、出库操作,系统也会提供良好的人机交互界面,便于用户操作软件。
当发送信息时出现网络信号不好时,系统可自动提示网络信号差的信息,并恢复到等待状态,当网络信号好时重新传送数据。
基于PDA与Web Service的无线条码信息采集系统的使用,方便了用户的操作,提高了录入数据的可靠性及效率性,杜绝了用户的玩忽职守现象,实现了钢板数据的无纸化操作。设备缺陷显示直观,便于管理层进行决策处理。
[1]Feisi Science and Technique Center of Research and Development. Application and Development of Java Web Services. Beijing: Publishing House of Electronics.Industry, 2002.190-196 (in Chinese).
[2]Shmueli O.Architectures for internal Web services deployment. In: Apers P, ed. Proc.of the 27th Int’l Conf.on Very Large Data Bases.Roma:Morgan Kaufmann Publishers,2001.641-644.
[3]岳昆,王晓玲,周傲英.Web 服务核心支撑技术:研究综述[J].软件学报:2004,15(3):429-430.
[4](美)戴特尔(Deitel,H.M.)等著.C#大学教程[M].须德等译.北京:电子工业出版社,2004.1:441-457.
[5]明日科技编著. ASP.NET 2.0开发技术大全[M].北京:人民邮电出版社,2008.2:347-361.