李 虹
(北京航天拓撲高科技有限責任公司,北京 100176)
隨著計算機、互聯網技術和移動通信網絡的迅速普及和發展,傳統的機械設備狀態監測與故障診斷已經無完全滿足該領域的要求。為提高機械設備狀態監測的及時性和可用性,便于監測人員快速、高效進行設備數據管理和監測,基于移動端的機械設備數據監測系統應運而生。設計開發基于移動端的設備數據監測系統,實現移動端—服務器—數據庫數據監測系統設計與搭建,能顯著提升設備數據的監測管理能力,推動機械設備狀態監測與故障診斷技術的發展。
設備數據監測系統通過全面、精準的在線監測功能,實現對整個工藝流程全方位監測,結合通信技術、計算機技術、數據庫技術實時將監測數據傳輸到PC端,實現遠程監控及系統監測數據的存儲、管理;然后通過數據統計及分析,形成符合系統運行規律的數據監測;最后實現移動端與PC端的數據訪問[1],構建移動端—服務器—數據庫數據監測系統,以Android—Java Web—Oracle為例進行搭建。
(1)Android操作系統基于Linux內核開發而成,其因體系完整、自由且源代碼開放而頻繁應用于移動平板電腦、手機等便攜設備中,如今,該操作系統已然超出了單純的手機操作系統范疇,能夠靈活應用于基于移動端的各項事務[2]。
(2)Java Web是用Java技術解決相關Web互聯網領域的技術總和,在設備數據監測系統中主要作用于服務器部分,采用MVC(Model View Controller,模型視圖控制器)設計架構并使用Servlet響應移動端的數據請求和數據庫訪問。
(3)Oracle Database是目前較為主流的關系數據庫管理系統,其具備可移植性好、使用方便、功能強大等特性,適用于各類大、中、小、微機環境,是一種高效率、可靠性好、適應高吞吐量的數據庫解決方案[3]。
基于移動端的設備數據監測系統主要由設備數據采集端、服務器端及客戶端構成,其中,設備數據采集模塊包括數據監測點及數據采集發送終端,主要實現機械設備數據的采集和發送;服務器模塊包括Java Web服務器及數據庫服務器,主要實現數據請求響應及用戶權限管理等業務;客戶終端包括PC終端和移動端,主要實現數據的終端瀏覽及報表分析。設備數據監測系統架構如圖1所示。

圖1 設備數據監測系統架構
設備數據監測系統基本工作流程:Android客戶端通過HTTP-POST請求,以Json格式數據與服務器中間件進行交互[4],服務器Servlet通過SQL語句訪問數據庫后響應Android客戶端,流程如圖2所示。

圖2 基本工作流程
基于移動端的設備數據監測系統主要針對數據監測需求,實現基于移動端設備地域分布顯示、工藝流程顯示及相關數據監測、報警信息推送、歷史數據信息統計報表等功能。相應功能模塊構建如下:
(1)設備地域分布。設備數據監測系統中,設備的地域分布顯示及重點數據瀏覽功能主要根據相關場站及重點設備的經緯度坐標在地圖上進行標點,構建場站網絡分布圖,并對相應經緯度點添加單擊響應實現場站數據顯示及切換。本項目搭建主要使用高德地圖Android SDK地圖開發調用接口,加入地圖的相關功能。
(2)工藝流程圖及數據監測。設備數據監測系統的工藝流程圖及數據監測,主要實現工藝流程圖展示及場站詳細數據的輪詢請求,實現場站數據的實時監測訪問。
(3)報警信息推送。設備數據監測系統的報警信息推送主要根據相關設備閾值判斷是否觸發報警,報警相關閾值信息存儲于報警信息數據庫列表。設備數據在寫入數據庫時進行閾值判斷,若觸發警報,則將報警信息主動推送至移動設備端。本項目搭建過程中主要使用百度推送實現相關功能。
(4)數據信息報表。數據信息報表主要根據設備場站數據進行數據篩選及匯總,繪制數據走勢圖及數據信息圖表,包括年度數據分析、季度數據分析、月數據分析及日數據分析。
UI(User Interface,用戶界面)界面設計主要包括:用戶登錄界面、設備地域分布及重點數據顯示界面、工藝流程圖及數據顯示界面、數據走勢圖顯示界面、數據報表顯示界面、報警信息列表及詳細信息界面、個人中心界面。
界面設計理念要求應用程序的界面設計符合用戶的操作習慣、視覺喜好、簡潔性等特性,分析相關功能需求,針對用戶喜好制定相應策略:界面搭建由Layout布局文件嵌套實現,輔以ListView,TextView,Button,EditView,ImageView,Toast,MPAndroidChart,高德地圖 MapView,AlertDialog及自定義 Dialog,Adapter,自定義View組件等相關控件繪制UI界面[5]。
(1)設備地域分布及重點數據顯示。設備數據監測系統中的場站設備地域分布主要基于高德地圖Android SDK實現,下拉菜單PopupWindow。高德地圖的SDK使用流程如下:
①在AndroidManifest.xml文件中進行相關網絡權限設置,確保地圖功能能夠正常使用。
②application標簽設置高德key,導入地圖包:<meta-data android:name="com.amap.api.v2.apikey"android:value="key"/>。
③初始化地圖容器MapView,在View繪制中添加地圖容器,并在Activity中合理管理生命周期。

圖3 場站分布圖
最后使用AMap類操作地圖,包括:添加點標記(Marker)、繪制幾何圖形(Polyline,Polygon,Circle)、各類事件監聽(點擊、手勢)等。場站分布如圖3所示。
(2)工藝流程圖及數據監測。設備數據監測系統中工藝流程圖主要涉及工藝流程圖的顯示、縮放及回收。該功能模塊使用基于DrawerLayout+Tool-Bar+BaseAdapter的ListView實現設備站點的工藝流程圖及相關數據切換,數據請求訪問為基于OkHttp的異步訪問請求,其通過Handler進行UI更新。工藝流程圖及數據顯示如圖4所示。

圖4 工藝流程
(3)報警信息推送。設備數據監測系統的報警推送功能主要借助于百度推送平臺,導入云推送jar包和so文件,并配置相關權限設置及service服務,在當前工程主Activity的onCreate函數中,添加代碼以啟動云推送服務:

而后,新建類并填寫接收云推送回調信息和推送到達信息的類的類名,重載所有的回調函數。此外,服務器端Java Web端需綁定對應云推送key以建立云推送通道。
(4)數據信息報表。數據信息報表主要根據設備場站數據繪制數據走勢圖及數據信息圖表,使用MPAndroidChart繪制數據曲線走勢圖,使用自定義表盤控件實現數據當日計量,數據交互使用Json數據格式,OkHttp異步網絡請求。數據曲線走勢如圖5a所示,數據報表如圖5b所示。
互聯網、移動通信技術的迅速普及不斷推動機械設備狀態監測與故障診斷的發展,輕巧便捷成為設備檢測與故障診斷技術的目標之一。設計開發基于移動端的設備數據監測系統能夠有效幫助監測人員快速、高效地實現數據監測管理,從而顯著提升機械設備數據的監測管理能力及數據統計能力[6],推動機械設備狀態監測與故障診斷技術的發展。

圖5 數據信息報表