基于Android的电厂设备缺陷管理系统设计与实现

2018-03-26 02:14薛晗光刘聪睿崔善玮
软件导刊 2018年3期
关键词:服务端附件总线

薛晗光 刘聪睿 崔善玮

摘要:

传统的电厂设备缺陷管理方式多为通过纸质单据或在Web系统上进行记录、管理,及时性和准确性较差。针对该问题,设计开发了基于Android平台的设备缺陷管理系统。用户通过普通的Android智能手机就可实现在设备现场即时创建缺陷单,全过程移动办理,简化了用户操作,提高了工作效率和设备缺陷管理水平。

关键词:

电厂;智能手机;缺陷管理;Android;移动应用

DOIDOI:10.11907/rjdk.171292

中图分类号:TP319

文献标识码:A文章编号文章编号:16727800(2018)003014603

英文摘要Abstract:The Power plant traditional management of equipment defect, is mostly through the paper documents or the web system for recording and management, lack of timeliness and accuracy. In response to this problem, the device defect management system based on the Android platform is designed and developed. Users can easily create defects at the equipment site by Android smart phone. The whole process of defects management can be executed by smart phone. The system simplified the user operation, improved the efficiency and management level of equipment defects.

英文关键词Key Words:power plant; smart phone; defects management; Android; mobile application

0引言

设备缺陷管理是电厂设备管理的基础,设备运行的基本状况及健康水平来自于日积月累的设备缺陷数据。设备缺陷管理水平高低是衡量设备管理好坏的标志之一,关系到电厂的安全运行、设备维护及经济效益[1]。

得益于硬件技术的进步和移动互联网普及,基于智能手机的应用日益丰富。在电厂信息化蓬勃发展的趋势下,将智能手机应用于设备缺陷管理,利用其强大的功能,包括拍照、录制音视频、nfc近场通讯、扫描二维码、无线网络连接等,实现对缺陷登录、确认、提交、消缺验收等流程管理[2]。

1缺陷管理系統整体设计

1.1系统业务流程

根据电厂的缺陷管理流程和实际需求,设计出系统整体业务执行流程,如图1所示。巡检员或其他人员在现场发现设备缺陷后,在智能手机上创建缺陷单,添加音视频文件,通过厂内无线局域网上传至服务器。服务器将缺陷单推送至运行人员手机进行审核。审核不通过将退回创建状态或取消缺陷单;审核通过后,推送至检修人员手机进行确认。如果检修人员不认可所提缺陷,可以回退重新分配。确认后,检修人员在现场对缺陷进行消缺。消缺过程中,如无法按时完成可发起延期、挂起和开工子流程。消缺完成后,检修人员在手机上对该缺陷单提交验收,推送至运行人员手机,最终进行验收操作。

1.2系统架构

系统架构由移动端、Web端、服务端和移动服务总线4部分组成。移动端实现用户登录、缺陷业务处理功能,Web端用于展示所有的缺陷单数据信息,服务端为移动服务总线提供数据接口。移动服务总线用于实现用户登录管理及任务在上位机和移动端间的传输。移动服务总线作为上位机、移动端的中间件,接收各方数据请求并将其分发至相应的接收方,最后从接收方获取数据并返回请求方。整个过程不对数据进行任何操作,只作转发。移动服务总线采用Restful技术实现。

移动服务总线轮询从Web端接口中读取当前在线用户的移动端待办任务。取得待办任务后,移动服务总线在表中创建该任务记录,生成任务编号并将任务通知推入移动任务队列中,由移动任务队列推送通知至移动端。移动端收到通知后,后台自动向移动服务总线请求任务数据,收到数据后将其存入移动端数据库中。

移动端每次进入任务列表时(包括点击首页业务按钮进入、程序挂起后再次进入及移动端黑屏后重新解锁进入任务界面3种情况),先判断WiFi连接情况,若有WiFi连接则主动向移动服务总线请求当前任务列表。任务列表基础信息包括任务ID、名称及任务状态。移动端获取数据后,比对每一个任务状态,若有状态变化(Web端状态节点比移动端状态节点靠后)的任务,则将其详细信息获取至移动端;若无WiFi连接,则直接显示当前移动端数据库中的数据。在执行完任务后,将结果数据打包发送至服务端,再由服务端发送至Web端,更新Web端数据。

1.3任务接收和提交

任务推送服务器自动搜索所有可以在移动终端执行的任务,下载任务并打包,通过广播方式发送到每一个移动终端,终端接收到任务会提醒用户收到新的任务,任务接收成功发送“接收成功”标志给接收服务器,则Web应用的任务处于锁定状态,此时任务只能在移动终端办理。如果任务接收失败,服务器需在一定时间后重新发送,服务器端有任务指定重发功能。

任务发送给岗位时,在其中一个移动终端点击打开任务,认为该移动终端接收到此任务,此任务在Web应用锁定,其它移动终端中该任务取消。在无网络情况下不允许打开发送给岗位的任务。任务发送给个人时,移动终端接受到任务即在Web应用锁定。

移动端执行完任务后将结果放入任务提交队列,队列保证任务数据不丢失,且在离线环境下缓存数据,不影响提交操作,提交队列将逐个提交任务至服务端移动服务总线。提交任务数据的同时,通知服务端该任务附件个数。服务端先验证该任务数据是否存在错误,通过验证后,移动服务总线将任务传输至Web端。Web端对任务进行数据、逻辑、权限等多重校验,判断该任务是否提交。如不能提交(如移动办理权被收回、缺少权限等),则返回提交失败至服务端,反之返回提交成功。服务端再将提交结果发送到移动端。任务提交成功后,如果附件个数大于0,则开始上传附件。移动端遍历全部附件,依次上传至服务端。服务端再遍历全部附件,并依次上传至Web端和任务数据进行关联,同时更新任务状态,并返回结果至移动端。任务提交流程如图2所示。

2系统实现

2.1数据交互实現

本文选择Java语言开发Android版本的移动端应用,数据上传/下载采用WebService技术。在上位机服务启动后,系统生成WSDL服务描述文件。移动端通过调用WebService请求,得到WSDL文件后解析该文件内容,了解上位机的服务信息及调用方式,并生成相应的SOAP请求消息。上位机收到客户端的SOAP消息后,解析其中的方法调用和参数格式,调用相应的COM对象完成指定功能,并把返回值放入SOAP回应消息返回给移动端。

在数据格式的选择上,重点对比和测试XML和JSON格式。考虑到XML文件格式复杂,传输占用带宽较高,故没有选用XML语言,而是采用JSON这一轻量级的数据交换格式[3]。JSON数据格式简单,易于读写,占用带宽小,易于解析,客户端JavaScript可以简单通过eval()进行JSON数据读取。JSON格式能直接为服务器端代码使用,大大简化了服务器端和客户端的代码开发量,且易于维护。JSON格式的任务结果数据示例如下:

{

"processCode":"yxgl_qx_v1_ws",

"mobileCode":"868403029354245",

"inputData":{

"qxData":"{"ARBPL":"01QJ01","ARBPL2":"W0403","ARBPL2_DESC":"3号机组管辖设备",

"isCreate":"1","isNew":"0","isSuccess":1,"taskId":"7d384a95-27f3-4ba8-9b13-1ceaf85d461a"}",

"Webservice_staffcode":"lr",

"Webservice_staffname":"刘睿",

"method":"mobile_upload_qxNew" }

}

2.2业务功能实现

用户在移动端登录后,首先看到一个缺陷单任务列表,显示该用户待办和已办任务,如图3所示。当智能手机收到一条任务通知时,会对其进行下载并解析,显示在任务列表中,并在该条任务的左侧显示红色气泡用以提示用户。当用户办理完成后,气泡自动消失。任务列表支持下拉刷新,可即时更新已办理任务的状态、办理人、详细信息等,方便用户跟踪查询。

在创建缺陷单界面(见图3)时,所有必填项以红色框线标示,包含缺陷级别、功能位置、缺陷现象、缺陷描述、发现人等。一类缺陷和二类缺陷默认要求24小时和48小时内完成消缺;三类缺陷和其它缺陷需要手动选择“结束时间”。功能位置即设备所在地的系统编码,是该位置的唯一标识,也是缺陷单的关键信息之一。为方便用户快速输入该数据,系统提供两种方式。首先支持用智能手机接触现场张贴的NFC卡片。NFC即近场通讯,是一种近距离无线通讯技术,在13.56MHz频率运行于10cm距离内,为ISO/IEC IS 18092国际标准[4]、ECMA-340标准和ETSI TS 102 190标准。在NFC卡片中写入该设备的功能位置编码,当手机NFC感应区与之接触时,卡内数据会传输到手机并显示。此外,也可打开手机的摄像头扫描现场张贴的功能位置二维码,同样可把二维码中包含的数据信息读取到手机。将手机用于电厂设备缺陷管理系统,巧妙解决了设备缺陷定位问题,使得用户能够快捷简单地创建缺陷单。

为了更准确记录缺陷情况,系统支持附件上传。用户可在现场拍照或摄像,将图片或音视频文件作为缺陷单的附件。在附件上传时对附件个数进行计数,确保该缺陷单的所有附件都上传成功后,再调用任务推送接口,避免丢失附件的情况发生。

在提交缺陷单时,对上传的json字符串进行UTF-8编码。UTF-8是一种针对Unicode的可变长度字符编码[5],用1~4个字节编码Unicode字符,避免json字符串中包含一些特殊字符时出现乱码导致上传任务失败。

对于用户已经办理完成的业务,系统设置了延时删除。例如,设置已办理的任务在移动端上只保留3天。超过3天后,通过定时轮询的后台服务,在移动端的SQLite数据库中删除该条数据,解决了移动端存储空间占用累积增大的问题,保证了系统长期正常使用。

3结语

本系统基于电厂设备缺陷管理的业务流程,用Java语言开发出Android版本的手机应用,将传统的办理模式转换为在智能手机上移动办理,并形成业务闭环,利用智能手机的硬件性能和功能特点,提高了缺陷管理的及时性、准确性和工作效率。同时,该系统可安装于当前主流的任意一款Android智能手机上,普适性高,设备成本低,易于推广和维护。

参考文献参考文献:

[1]李文,应启戛.电厂设备缺陷管理系统的开发[J].动力工程,2004,24(4):533536.

[2]邓其军,孟波,牛晓太.基于工作流的电厂缺陷管理系统[J].计算机工程,2004,30(10):167169.

[3]高静,段会川.JSON数据传输效率研究[J].计算机工程与设计,2011,32(7):22672270.

[4]国际标准组织.ISO/IEC 18092:2013.信息技术-系统之间的电信和信息交换-近场通信-接口和协议[EB/OL]. http://www.doc88.com/p9738231540275.html.

[5]鹿文鹏,薛若娟.Unicode与UTF8编码转换方法研究[J].计算机时代,2005(9):4445.

责任编辑(责任编辑:杜能钢)

猜你喜欢
服务端附件总线
附件三:拟制定的标准汇总表
关于TSG 07——2019附件M与TSG Z0004——2007内容的对照
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
云存储中基于相似性的客户-服务端双端数据去重方法
新时期《移动Web服务端开发》课程教学改革的研究
在Windows Server 2008上创建应用
附件 注释体例
多通道ARINC429总线检查仪
基于EtherCAT总线的ROV控制系统设计