薛晗光 劉聰?!〈奚片|
摘要:
傳統(tǒng)的電廠設備缺陷管理方式多為通過紙質單據(jù)或在Web系統(tǒng)上進行記錄、管理,及時性和準確性較差。針對該問題,設計開發(fā)了基于Android平臺的設備缺陷管理系統(tǒng)。用戶通過普通的Android智能手機就可實現(xiàn)在設備現(xiàn)場即時創(chuàng)建缺陷單,全過程移動辦理,簡化了用戶操作,提高了工作效率和設備缺陷管理水平。
關鍵詞:
電廠;智能手機;缺陷管理;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引言
設備缺陷管理是電廠設備管理的基礎,設備運行的基本狀況及健康水平來自于日積月累的設備缺陷數(shù)據(jù)。設備缺陷管理水平高低是衡量設備管理好壞的標志之一,關系到電廠的安全運行、設備維護及經(jīng)濟效益[1]。
得益于硬件技術的進步和移動互聯(lián)網(wǎng)普及,基于智能手機的應用日益豐富。在電廠信息化蓬勃發(fā)展的趨勢下,將智能手機應用于設備缺陷管理,利用其強大的功能,包括拍照、錄制音視頻、nfc近場通訊、掃描二維碼、無線網(wǎng)絡連接等,實現(xiàn)對缺陷登錄、確認、提交、消缺驗收等流程管理[2]。
1缺陷管理系統(tǒng)整體設計
1.1系統(tǒng)業(yè)務流程
根據(jù)電廠的缺陷管理流程和實際需求,設計出系統(tǒng)整體業(yè)務執(zhí)行流程,如圖1所示。巡檢員或其他人員在現(xiàn)場發(fā)現(xiàn)設備缺陷后,在智能手機上創(chuàng)建缺陷單,添加音視頻文件,通過廠內(nèi)無線局域網(wǎng)上傳至服務器。服務器將缺陷單推送至運行人員手機進行審核。審核不通過將退回創(chuàng)建狀態(tài)或取消缺陷單;審核通過后,推送至檢修人員手機進行確認。如果檢修人員不認可所提缺陷,可以回退重新分配。確認后,檢修人員在現(xiàn)場對缺陷進行消缺。消缺過程中,如無法按時完成可發(fā)起延期、掛起和開工子流程。消缺完成后,檢修人員在手機上對該缺陷單提交驗收,推送至運行人員手機,最終進行驗收操作。
1.2系統(tǒng)架構
系統(tǒng)架構由移動端、Web端、服務端和移動服務總線4部分組成。移動端實現(xiàn)用戶登錄、缺陷業(yè)務處理功能,Web端用于展示所有的缺陷單數(shù)據(jù)信息,服務端為移動服務總線提供數(shù)據(jù)接口。移動服務總線用于實現(xiàn)用戶登錄管理及任務在上位機和移動端間的傳輸。移動服務總線作為上位機、移動端的中間件,接收各方數(shù)據(jù)請求并將其分發(fā)至相應的接收方,最后從接收方獲取數(shù)據(jù)并返回請求方。整個過程不對數(shù)據(jù)進行任何操作,只作轉發(fā)。移動服務總線采用Restful技術實現(xiàn)。
移動服務總線輪詢從Web端接口中讀取當前在線用戶的移動端待辦任務。取得待辦任務后,移動服務總線在表中創(chuàng)建該任務記錄,生成任務編號并將任務通知推入移動任務隊列中,由移動任務隊列推送通知至移動端。移動端收到通知后,后臺自動向移動服務總線請求任務數(shù)據(jù),收到數(shù)據(jù)后將其存入移動端數(shù)據(jù)庫中。
移動端每次進入任務列表時(包括點擊首頁業(yè)務按鈕進入、程序掛起后再次進入及移動端黑屏后重新解鎖進入任務界面3種情況),先判斷WiFi連接情況,若有WiFi連接則主動向移動服務總線請求當前任務列表。任務列表基礎信息包括任務ID、名稱及任務狀態(tài)。移動端獲取數(shù)據(jù)后,比對每一個任務狀態(tài),若有狀態(tài)變化(Web端狀態(tài)節(jié)點比移動端狀態(tài)節(jié)點靠后)的任務,則將其詳細信息獲取至移動端;若無WiFi連接,則直接顯示當前移動端數(shù)據(jù)庫中的數(shù)據(jù)。在執(zhí)行完任務后,將結果數(shù)據(jù)打包發(fā)送至服務端,再由服務端發(fā)送至Web端,更新Web端數(shù)據(jù)。
1.3任務接收和提交
任務推送服務器自動搜索所有可以在移動終端執(zhí)行的任務,下載任務并打包,通過廣播方式發(fā)送到每一個移動終端,終端接收到任務會提醒用戶收到新的任務,任務接收成功發(fā)送“接收成功”標志給接收服務器,則Web應用的任務處于鎖定狀態(tài),此時任務只能在移動終端辦理。如果任務接收失敗,服務器需在一定時間后重新發(fā)送,服務器端有任務指定重發(fā)功能。
任務發(fā)送給崗位時,在其中一個移動終端點擊打開任務,認為該移動終端接收到此任務,此任務在Web應用鎖定,其它移動終端中該任務取消。在無網(wǎng)絡情況下不允許打開發(fā)送給崗位的任務。任務發(fā)送給個人時,移動終端接受到任務即在Web應用鎖定。
移動端執(zhí)行完任務后將結果放入任務提交隊列,隊列保證任務數(shù)據(jù)不丟失,且在離線環(huán)境下緩存數(shù)據(jù),不影響提交操作,提交隊列將逐個提交任務至服務端移動服務總線。提交任務數(shù)據(jù)的同時,通知服務端該任務附件個數(shù)。服務端先驗證該任務數(shù)據(jù)是否存在錯誤,通過驗證后,移動服務總線將任務傳輸至Web端。Web端對任務進行數(shù)據(jù)、邏輯、權限等多重校驗,判斷該任務是否提交。如不能提交(如移動辦理權被收回、缺少權限等),則返回提交失敗至服務端,反之返回提交成功。服務端再將提交結果發(fā)送到移動端。任務提交成功后,如果附件個數(shù)大于0,則開始上傳附件。移動端遍歷全部附件,依次上傳至服務端。服務端再遍歷全部附件,并依次上傳至Web端和任務數(shù)據(jù)進行關聯(lián),同時更新任務狀態(tài),并返回結果至移動端。任務提交流程如圖2所示。
2系統(tǒng)實現(xiàn)
2.1數(shù)據(jù)交互實現(xiàn)
本文選擇Java語言開發(fā)Android版本的移動端應用,數(shù)據(jù)上傳/下載采用WebService技術。在上位機服務啟動后,系統(tǒng)生成WSDL服務描述文件。移動端通過調(diào)用WebService請求,得到WSDL文件后解析該文件內(nèi)容,了解上位機的服務信息及調(diào)用方式,并生成相應的SOAP請求消息。上位機收到客戶端的SOAP消息后,解析其中的方法調(diào)用和參數(shù)格式,調(diào)用相應的COM對象完成指定功能,并把返回值放入SOAP回應消息返回給移動端。
在數(shù)據(jù)格式的選擇上,重點對比和測試XML和JSON格式??紤]到XML文件格式復雜,傳輸占用帶寬較高,故沒有選用XML語言,而是采用JSON這一輕量級的數(shù)據(jù)交換格式[3]。JSON數(shù)據(jù)格式簡單,易于讀寫,占用帶寬小,易于解析,客戶端JavaScript可以簡單通過eval()進行JSON數(shù)據(jù)讀取。JSON格式能直接為服務器端代碼使用,大大簡化了服務器端和客戶端的代碼開發(fā)量,且易于維護。JSON格式的任務結果數(shù)據(jù)示例如下:
{
"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業(yè)務功能實現(xiàn)
用戶在移動端登錄后,首先看到一個缺陷單任務列表,顯示該用戶待辦和已辦任務,如圖3所示。當智能手機收到一條任務通知時,會對其進行下載并解析,顯示在任務列表中,并在該條任務的左側顯示紅色氣泡用以提示用戶。當用戶辦理完成后,氣泡自動消失。任務列表支持下拉刷新,可即時更新已辦理任務的狀態(tài)、辦理人、詳細信息等,方便用戶跟蹤查詢。
在創(chuàng)建缺陷單界面(見圖3)時,所有必填項以紅色框線標示,包含缺陷級別、功能位置、缺陷現(xiàn)象、缺陷描述、發(fā)現(xiàn)人等。一類缺陷和二類缺陷默認要求24小時和48小時內(nèi)完成消缺;三類缺陷和其它缺陷需要手動選擇“結束時間”。功能位置即設備所在地的系統(tǒng)編碼,是該位置的唯一標識,也是缺陷單的關鍵信息之一。為方便用戶快速輸入該數(shù)據(jù),系統(tǒng)提供兩種方式。首先支持用智能手機接觸現(xiàn)場張貼的NFC卡片。NFC即近場通訊,是一種近距離無線通訊技術,在13.56MHz頻率運行于10cm距離內(nèi),為ISO/IEC IS 18092國際標準[4]、ECMA-340標準和ETSI TS 102 190標準。在NFC卡片中寫入該設備的功能位置編碼,當手機NFC感應區(qū)與之接觸時,卡內(nèi)數(shù)據(jù)會傳輸?shù)绞謾C并顯示。此外,也可打開手機的攝像頭掃描現(xiàn)場張貼的功能位置二維碼,同樣可把二維碼中包含的數(shù)據(jù)信息讀取到手機。將手機用于電廠設備缺陷管理系統(tǒng),巧妙解決了設備缺陷定位問題,使得用戶能夠快捷簡單地創(chuàng)建缺陷單。
為了更準確記錄缺陷情況,系統(tǒng)支持附件上傳。用戶可在現(xiàn)場拍照或攝像,將圖片或音視頻文件作為缺陷單的附件。在附件上傳時對附件個數(shù)進行計數(shù),確保該缺陷單的所有附件都上傳成功后,再調(diào)用任務推送接口,避免丟失附件的情況發(fā)生。
在提交缺陷單時,對上傳的json字符串進行UTF-8編碼。UTF-8是一種針對Unicode的可變長度字符編碼[5],用1~4個字節(jié)編碼Unicode字符,避免json字符串中包含一些特殊字符時出現(xiàn)亂碼導致上傳任務失敗。
對于用戶已經(jīng)辦理完成的業(yè)務,系統(tǒng)設置了延時刪除。例如,設置已辦理的任務在移動端上只保留3天。超過3天后,通過定時輪詢的后臺服務,在移動端的SQLite數(shù)據(jù)庫中刪除該條數(shù)據(jù),解決了移動端存儲空間占用累積增大的問題,保證了系統(tǒng)長期正常使用。
3結語
本系統(tǒng)基于電廠設備缺陷管理的業(yè)務流程,用Java語言開發(fā)出Android版本的手機應用,將傳統(tǒng)的辦理模式轉換為在智能手機上移動辦理,并形成業(yè)務閉環(huán),利用智能手機的硬件性能和功能特點,提高了缺陷管理的及時性、準確性和工作效率。同時,該系統(tǒng)可安裝于當前主流的任意一款Android智能手機上,普適性高,設備成本低,易于推廣和維護。
參考文獻參考文獻:
[1]李文,應啟戛.電廠設備缺陷管理系統(tǒng)的開發(fā)[J].動力工程,2004,24(4):533536.
[2]鄧其軍,孟波,牛曉太.基于工作流的電廠缺陷管理系統(tǒng)[J].計算機工程,2004,30(10):167169.
[3]高靜,段會川.JSON數(shù)據(jù)傳輸效率研究[J].計算機工程與設計,2011,32(7):22672270.
[4]國際標準組織.ISO/IEC 18092:2013.信息技術-系統(tǒng)之間的電信和信息交換-近場通信-接口和協(xié)議[EB/OL]. http://www.doc88.com/p9738231540275.html.
[5]鹿文鵬,薛若娟.Unicode與UTF8編碼轉換方法研究[J].計算機時代,2005(9):4445.
責任編輯(責任編輯:杜能鋼)