孫家蘭
(煤炭科學(xué)技術(shù)研究院有限公司,北京 100013)
中國的一次能源以煤為主,隨著經(jīng)濟的快速發(fā)展以及當前日益嚴峻的環(huán)保壓力,人們對清潔能源的需求愈來愈髙,而天然氣作為一種清潔能源,較好地解決了煤炭在使用過程中的污染問題,天然氣的需求與應(yīng)用成為一種能源利用趨勢。
很多天然氣壓縮機在小故障預(yù)警后,由于現(xiàn)場人員的經(jīng)驗不足,不能及時進行排除,錯過了設(shè)備搶修的第一時間,導(dǎo)致了更嚴重的后果[3,8]。因此,研發(fā)一套具備現(xiàn)場處理設(shè)備故障能力的天然氣壓縮機預(yù)警維護系統(tǒng)十分重要。
該文提出了一種基于Android 平臺的系統(tǒng),當故障預(yù)警出現(xiàn)時能夠自動、快速、準確地對故障原因進行分析診斷,為現(xiàn)場巡視人員第一時間處理異常提供參考[1]。
如圖1 所示,設(shè)計基本思路是利用CBR 和RBR 技術(shù),基于Android 平臺結(jié)合網(wǎng)絡(luò)通信機制,實現(xiàn)便攜式壓縮機的故障預(yù)警、分析和展示[6]。其主要由數(shù)據(jù)采集系統(tǒng)、應(yīng)用系統(tǒng)服務(wù)端系統(tǒng)、存儲分析服務(wù)器和Android 移動端4 個部分組成。
該系統(tǒng)負責連接各類傳感器,將傳感器獲取的壓縮機的運行數(shù)據(jù)集成到采集系統(tǒng)中,通過網(wǎng)絡(luò)發(fā)送到服務(wù)端分析系統(tǒng),并存儲到相應(yīng)的數(shù)據(jù)庫中。
該系統(tǒng)負責對采集的數(shù)據(jù)進行分析計算,例如在壓縮機監(jiān)控參數(shù)出現(xiàn)異常時,及時給出預(yù)警,并利用基于案例推理和規(guī)則推理相結(jié)合的診斷機制,分析故障原因,提出維修處理建議[7]。
該服務(wù)器在存儲采集到的監(jiān)控數(shù)據(jù)的同時,也會存儲設(shè)備的基本信息以及診斷模塊的業(yè)務(wù)模型數(shù)據(jù)。
移動端主要供設(shè)備維護巡檢人員使用,核心是提供便攜式數(shù)據(jù)展示和分析服務(wù)。
天然氣壓縮機預(yù)警維護系統(tǒng)在架構(gòu)上分為移動層、服務(wù)層、支撐層、數(shù)據(jù)層、基礎(chǔ)層5 個層次。如圖2 所示。
移動層指Android 平臺上的App,由于移動端硬件條件的限制,其不能進行大規(guī)模的運算和存儲,因此移動層只具備監(jiān)控展示和故障預(yù)警功能,核心運算放在服務(wù)層、移動層與服務(wù)層,采用JSON 格式傳輸數(shù)據(jù)[9-10]。
圖1 系統(tǒng)數(shù)據(jù)流程圖
圖2 系統(tǒng)架構(gòu)圖
服務(wù)層是運行在應(yīng)用服務(wù)器上的各個服務(wù)端,處理來自終端的請求,并將處理結(jié)果返回給移動層。服務(wù)層采用RESTful 架構(gòu),對外提供各功能URL 資源,移動層只需要通過HTTP 協(xié)議訪問對應(yīng)的URL 資源,即可獲得返回JSON 格式的業(yè)務(wù)數(shù)據(jù)。
支撐層可理解為抽取的公共模型或算法,例如CBR 和RBR 策略已被很多領(lǐng)域應(yīng)用,形成了算法支持。
數(shù)據(jù)層描述整個系統(tǒng)的數(shù)據(jù)來源,該系統(tǒng)主要涉及2 個方面的數(shù)據(jù)來源,傳感器采集的實時數(shù)據(jù)和預(yù)警維護系統(tǒng)的數(shù)據(jù)庫數(shù)據(jù)。
基礎(chǔ)層表示了整個系統(tǒng)的物理基礎(chǔ),為系統(tǒng)提供網(wǎng)絡(luò)、計算、存儲等硬件支持。
移動端可以實時監(jiān)控壓縮機的各種參數(shù),主要以曲線和表格方式展示,表格方式能夠利用Android 平臺的Edit Text控件很方便的實現(xiàn),相較而言曲線顯示更具連續(xù)性,對于分析結(jié)果的展示也更加直觀。
下文以活塞桿的沉降曲線為例,講述基于AChartEngine開源工具的曲線繪制過程。AChartEngine 是Android 平臺的圖表開發(fā)庫,能繪制折線圖、餅圖、氣泡圖、柱狀圖、散點圖以及面積圖等統(tǒng)計圖表。AChartEngine 的每個圖表都需要一個數(shù)據(jù)集(DataSet)和渲染器集合(Renderer)。
圖表工廠(ChartFactory)通過調(diào)用數(shù)據(jù)集(DataSet)和渲染器集合(Renderer)可以生成帶圖表的GraphicalView 或者Graphical Activity?;钊麠U采集數(shù)據(jù)抽象為對象Rod,代碼如下:
public class Rod(){
private angle;
private swing;
};
angle 表示角度,取值范圍為0~360;swing 代表振幅值,取值范圍為-15~5。在程序中,首先初始化曲線,包括創(chuàng)建坐標軸的初始化和數(shù)據(jù)集,調(diào)用series.add(r.getAngel(),r.getSwing() )方法將業(yè)務(wù)數(shù)據(jù)映射為坐標數(shù)據(jù)。然后在Timer中定時updateChart() 曲線,實現(xiàn)曲線動態(tài)顯示。updateChart代碼如下:
該文采用BLE 及低功耗藍牙技術(shù),通過獲取藍牙設(shè)備的MAC 地址(MAC 是唯一的),可以獲取數(shù)據(jù)庫中的配置信息及歷史數(shù)據(jù),同時也可通過Service 實時采集數(shù)據(jù),屏蔽了從數(shù)據(jù)庫讀取數(shù)據(jù)的網(wǎng)絡(luò)延遲。藍牙讀取流程,如圖3 所示。
圖3 BLE 工作流程圖
藍牙設(shè)備掃描,調(diào)用startLeScan()方法開始掃描,由于手持設(shè)備資源有限,不能長時間掃描周邊設(shè)備,所以利用定時器,達到一定時間調(diào)用stopLenScan()方法強制關(guān)閉掃描程序。
案例檢索(CBR)具有直觀、高效的優(yōu)點,但是案例庫的豐富程度決定了案例匹配的成功率,在系統(tǒng)初期建立完備的案例庫費時費力。引入規(guī)則推理機制(RBR),在案例匹配失敗的情況下利用規(guī)則推理,推導(dǎo)出故障原因,并進行維修指導(dǎo),經(jīng)過人工確認無誤后,保存入案例庫,使系統(tǒng)具備自主學(xué)習(xí)的功能,逐漸豐富完善案例庫。CBR 與RBR 集成診斷流程如圖4 所示。
案例匹配采用最鄰近算法進行相似度計算。相似度計算分為局部相似度和全局相似度2 個部分。局部相似度就是故障特征項的相似值,全局相似度為各特征項之間的加權(quán)平均值。
局部相似度計算公式:
全局相似度計算公式:
規(guī)則推理工作主要分為規(guī)則提取、規(guī)則庫建立和代碼實現(xiàn)3 步。規(guī)則提取可以利用SWRL 語言完成,這是一種由語義的方式呈現(xiàn)規(guī)則的語言,由RuleML 演變而來,在結(jié)合OWL與本體論形成[11]。整理后的SWRL 規(guī)則需放入JESS 推理引擎中進行推理。JESS 是目前流行的規(guī)則系統(tǒng),由Java 語言開發(fā),可以與Android 系統(tǒng)結(jié)合。
圖4 診斷推理流程圖
該文設(shè)計并實現(xiàn)了一種天然氣壓縮機預(yù)警維護系統(tǒng),該系統(tǒng)由數(shù)據(jù)采集設(shè)備、存儲分析系統(tǒng)和Android智能手機監(jiān)測系統(tǒng)組成。數(shù)據(jù)采集系統(tǒng)實時采集壓縮機的信息,利用BLE技術(shù)傳送到Android 智能手機終端,同時利用局域網(wǎng)絡(luò)傳輸?shù)酱鎯Ψ治鱿到y(tǒng)。存儲分析系統(tǒng)對信息進行存儲、處理和分析,實現(xiàn)對壓縮機狀態(tài)的分析。Android 智能手機系統(tǒng)通過與BLE 和數(shù)據(jù)采集系統(tǒng)通信,實現(xiàn)實時監(jiān)測,提高了對壓縮機狀態(tài)監(jiān)測的靈活性和方便性[2,4,5]。
通過實驗測試,該系統(tǒng)數(shù)據(jù)流轉(zhuǎn)正常,參數(shù)采集完整,故障預(yù)警較準確,維修建議正確,較好地實現(xiàn)了對天然氣壓縮機狀態(tài)的實時監(jiān)測與運行狀態(tài)的分析,證明了該系統(tǒng)的有效性和實用性。