摘 要:隨著鍋爐遠程診斷系統(tǒng)的上線運行,鍋爐的運行現(xiàn)狀得到了全方位的分析與評估,同時還可以對其未來運行狀況進行預測。為了更好地提供對鍋爐全生命周期的監(jiān)視和服務,同時也為電廠高層決策提供可靠的數(shù)據(jù)支撐,文章基于鍋爐遠程診斷系統(tǒng)設計和實現(xiàn)了月度診斷報告系統(tǒng)。該系統(tǒng)以自然月為節(jié)點,聚合鍋爐運行核心指標數(shù)據(jù),同時結合遠程診斷系統(tǒng)各模塊結論,總結鍋爐月度運行狀況,給出后期運維建議。
關鍵詞:鍋爐;遠程診斷;月度報告;設備運維
中圖分類號:TP311 文獻標識碼:A 文章編號:2096-4706(2024)13-0103-05
Design and Implementation of Monthly Diagnostic Report System Based on
Boiler Remote Diagnosis System
WANG Yuanhong1,2
(1.Clean Combustion and Flue Gas Purification Key Laboratory of Sichuan Province, Chengdu 611731, China;
2.Dongfang Electric Group Dongfang Boiler Co., Ltd., Zigong 643001, China)
Abstract: With the online operation of the boiler remote diagnosis system, the current operation status of the boiler has been comprehensively analyzed and evaluated, and its future operation status can also be predicted. In order to better provide monitoring and services for the entire lifecycle of boilers, as well as reliable data support for decision-making by senior management in power plants, this paper designs and implements a monthly diagnostic report system based on a boiler remote diagnosis system. The system takes natural months as nodes, aggregates core indicator data of boiler operation, and combines the conclusions of various modules of the remote diagnosis system to summarize the monthly operation status of the boiler and provide suggestions for later operation and maintenance.
Keywords : boiler; remote diagnosis; monthly report; device operation and maintenance
0 引 言
隨著國民經(jīng)濟的不斷發(fā)展、人們生活水平的不斷提高,以及對電力需求的日益增長和科學技術的飛速進步[1],電廠中各設備都在迅速地朝著大型化、連續(xù)化、精密化、系統(tǒng)化和自動化的方向發(fā)展,各種大容量、高參數(shù)的大型發(fā)電機組不斷涌現(xiàn)。隨之而來的設備故障造成的損失、運維成本相較于小機組也是成倍的增長。各電廠越來越意識到對電廠各設備進行故障早期診斷和預防等工作的重要性,同時,也對設備工作的可靠性、安全性提出了更高的要求。為解決上述問題,鍋爐遠程診斷系統(tǒng)實現(xiàn)了實時狀態(tài)監(jiān)測[2]、故障診斷[3]及預警,以便及時發(fā)現(xiàn)設備的隱患,從而能夠做到事前防范和技術改進。遠程診斷系統(tǒng)采集鍋爐運行數(shù)據(jù),積累數(shù)據(jù)量,利用大數(shù)據(jù)分析技術,基于機理分析和模型算法對鍋爐各部件運行情況進行深入分析。系統(tǒng)各部件的運行和分析情況需要到相應應用下查看,系統(tǒng)使用友好性有待完善。為需要分析報告用于匯報[4]或決策的用戶,實現(xiàn)自動報告的生成非常必要和迫切。因此,在遠程診斷系統(tǒng)的基礎上,設計并實現(xiàn)了月度診斷報告系統(tǒng)。該系統(tǒng)以自然月為節(jié)點,整合鍋爐當月運行核心指標數(shù)據(jù)和分析結論,橫縱向?qū)Ρ确治?,結合專家經(jīng)驗,分析總結鍋爐該月運維問題的原因,并給出下月運維建議。該系統(tǒng)的實現(xiàn)讓運維人員對電廠鍋爐整體運行情況有了更真實的把握,同時輔助運維人員更加明確運維改進的方向。
1 相關知識
1.1 鍋爐遠程診斷系統(tǒng)
為解決電廠鍋爐設備故障早期診斷和預防的問題,提高鍋爐運行經(jīng)濟性、安全性及環(huán)保性,利用大數(shù)據(jù)處理技術,基于機理分析和模型算法,設計并實現(xiàn)了鍋爐遠程診斷系統(tǒng)。系統(tǒng)集數(shù)據(jù)采集[5]、數(shù)據(jù)監(jiān)測、故障診斷與操作指導建議于一體,實時分析處理電廠鍋爐實時運行數(shù)據(jù),將常規(guī)監(jiān)測與故障診斷技術有機地結合在一起。以目標為導向,基于鍋爐全生命周期,面向鍋爐部件,系統(tǒng)實現(xiàn)了經(jīng)濟性分析、厚壁元件壽命分析、煤質(zhì)灰渣分析、制粉優(yōu)化、環(huán)保分析、高加分析、預熱器分析和受熱面偏差分析。
系統(tǒng)采用開源Web應用框架Play framework 2.5 [6],開發(fā)語言為Java [7-8],使用IntelliJ IDEA集成環(huán)境[9]進行開發(fā),JDK(Java Development Kit)版本為1.8。
1.2 Apache POI和ECharts
Apache POI是Apache軟件基金會的開放源碼函式庫,POI提供API給Java程序?qū)icrosoft Office格式檔案讀和寫的功能[10]。主要用于導出數(shù)據(jù)和上傳數(shù)據(jù)。
ECharts是一個使用JavaScript實現(xiàn)的開源可視化庫,可以流暢地運行在PC和移動設備上,兼容當前絕大部分瀏覽器(IE8/9/10/11、Chrome、Firefox、Safari等),底層依賴矢量圖形庫ZRender,提供直觀、交互豐富、可高度個性化定制的數(shù)據(jù)可視化圖表[11]。系統(tǒng)主要利用ECharts 3生成折線圖。
2 系統(tǒng)簡介
鍋爐遠程診斷系統(tǒng)面向機組,自上而下地對鍋爐按部件進行拆分并進行診斷分析,關注鍋爐整體和各部件運行狀態(tài)。月度診斷報告系統(tǒng)基于鍋爐遠程診斷分析平臺,在實時監(jiān)控和診斷分析的基礎上,自下而上的提取鍋爐運行關鍵指標,以月為時間跨度,整理和匯總鍋爐監(jiān)測數(shù)據(jù)和故障診斷結論[12],鍋爐專家在數(shù)據(jù)分析基礎上結合設計和調(diào)試等經(jīng)驗,提供鍋爐運維建議。系統(tǒng)生成的報告可供運維人員進行查詢,根據(jù)報告中的運維建議,結合鍋爐實際情況,最后決策如何調(diào)整鍋爐的運行狀態(tài),以提高鍋爐運行的安全性、經(jīng)濟性等。
系統(tǒng)利用表格、折線圖等對報告匯總數(shù)據(jù)進行了可視化展示,以程序的方式代替了人工進行數(shù)據(jù)加工和分析,提高了數(shù)據(jù)整合效率和數(shù)據(jù)的準確性。
3 系統(tǒng)設計
3.1 系統(tǒng)功能設計
基于遠程診斷系統(tǒng)現(xiàn)有結構,設計了月度診斷報告系統(tǒng)流程圖,如圖1所示。
3.1.1 生成報告
主要分為以下兩個步驟:
1)設計Word模板。系統(tǒng)立足于鍋爐遠程診斷系統(tǒng)的模塊分析內(nèi)容,加上鍋爐整體運行情況將報告內(nèi)容分為了9大部分,具體組成如圖2所示。
根據(jù)每部分業(yè)務內(nèi)容和核心數(shù)據(jù)不同,將模板設計為4個部分:一是分析模塊簡介,介紹該模塊的分析原理、分析內(nèi)容和分析目的等。二是數(shù)據(jù)報表,以自然月為時間跨度、以天為單位聚合模塊分析關鍵指標數(shù)據(jù),展示形式為表格。三是可視化展示分析,以折線圖形式展示該月主要指標運行數(shù)值趨勢圖,結合數(shù)據(jù)表和曲線趨勢分析運行情況。四是運行優(yōu)化建議,鍋爐專家結合數(shù)據(jù)和趨勢折線圖,分析各部分運行情況,以安全、經(jīng)濟、環(huán)保為目標給出鍋爐運行優(yōu)化建議。
2)自動生成報告。系統(tǒng)根據(jù)選擇報表部分自動選擇模板生成相應的報告,專家可修改實際情況優(yōu)化運行優(yōu)化建議。依據(jù)診斷內(nèi)容一個機組包含9個部分,優(yōu)化完成后分別上次系統(tǒng)。
3.1.2 合并報告
報告各部分面向診斷分析模塊,最終以一個整體的Word文檔形式呈現(xiàn),待機組9個部分的報告均上傳完成,系統(tǒng)提供將各部分內(nèi)容按序合并成一個文檔,文檔也可下載、修改、上傳,供后續(xù)審核使用。
3.1.3 審核報表
為確保報告的正確性和正式性,系統(tǒng)嚴格執(zhí)行了設、校、審流程,各個環(huán)節(jié)人員簽字后上傳系統(tǒng),待領導審核后簽字,月度診斷報告最終完成。
3.2 數(shù)據(jù)庫設計
月度診斷報告系統(tǒng)是鍋爐遠程診斷系統(tǒng)的重要組成部分,基于鍋爐遠程診斷系統(tǒng)平臺實現(xiàn)應用功能。用戶登錄、權限認證等與遠程診斷系統(tǒng)共用,并在其基礎上新增了2個業(yè)務數(shù)據(jù)表,分別是:
1)monthly_report。該表為報告記錄表,存儲報告的名稱、報告月份、所屬機組等信息。詳細信息見表1。
4 系統(tǒng)核心功能實現(xiàn)
4.1 PhantomJS生成Echarts折線圖
PhantomJS是一款基于Webkit內(nèi)核的、可使用JavaScript編寫腳本的無界面Web瀏覽器[13]。其提供JavaScript API接口,通過編寫js可以直接與Webkit內(nèi)核交互,在此之上結合Java語言,通過Java調(diào)用js等相關操作,生成Echarts折線圖,插入報告中,如圖3所示。系統(tǒng)需要在后端實現(xiàn)自動生成折線圖功能,無須用戶干預和操作,而是用程序代替人為相關操作。經(jīng)過對比最終選擇了PhantomJS 2.1.1工具。
系統(tǒng)實現(xiàn)核心邏輯包含兩部分:
1)配置Echarts選項option。Echarts的配置是構建圖表的核心,配置選項是一個包含各種屬性和值的JavaScript對象,用于定義圖表的各個方面,例如標題、軸線、圖例、數(shù)據(jù)系列等,準確的配置可以幫助用戶創(chuàng)建目標圖表,并以更加精美形式呈現(xiàn)。以下是本系統(tǒng)中對Echarts的配置語句:
String option ="{tooltip : {show:true, trigger: ‘a(chǎn)xis' ,formatter:'</br>{a}:{c}'},legend:{data:"+legendData.toString() + "},toolbox:{show : true, feature : {saveAsImage:{show: true} } },xAxis: [{type:‘category',data:"+arrayxAxis.toString()+",axisLabel:{rotate:25,textStyle:{fontFamily:‘Arial'}}}],yAxis:{type:'value',scale:true},series:"+seriesData.toString() + "}";
其中:
legendData.toString():程序拼接的Echarts圖片的圖例內(nèi)容。
arrayxAxis.toString():程序拼接的Echarts圖片的橫坐標值,系統(tǒng)中為年月日格式。
seriesData.toString():程序拼接的Echarts圖片的折線圖值。
2)使用Java傳cmd命令調(diào)用PhantomJS生成Echarts圖片:
String cmd="phantomjs "+JSpath+" -infile "+dataPath+" -outfile "+path;
Process process = Runtime.getRuntime().exec(cmd);
其中:
phantomjs:phantomjs的命令,直接使用bin/phantomjs。
JSpath:使用convert.js。
infile:輸入文件。
outfile:輸出文件。
4.2 報告生成功能
系統(tǒng)采用Apache POI根據(jù)定制模板[14]生成報告,生成報告時需要用當前數(shù)據(jù)替換模板中的相關內(nèi)容。POI依賴使用的是poi-ooxml 4.1.0,對應文檔類型為Word.docx。
表3為報告模板中的其中一個表格。
以文件流FileInputStream方式獲得XWPFDocument對象,Apache POI通過API接口getBodyElements()獲取段落和表格,然后判斷對象屬于BodyElementType中的TABLE還是PARAGRAPH,將相應的數(shù)據(jù)替換模板中的對應的{XXXX}占位符。
表4為月度診斷報告系統(tǒng)生成的對應的表格數(shù)據(jù)部分展示。
5 系統(tǒng)應用
系統(tǒng)經(jīng)過調(diào)試和測試,自2018年12月份上線運行,每月定期為鍋爐遠程診斷系統(tǒng)平臺接入電廠機組提供鍋爐運行診斷分析報告,用戶表示非常滿意。圖4為診斷報告系統(tǒng)管理界面。
6 結 論
所設計的系統(tǒng)預先設置Word模板,把所需的段落或表格形式在模板中設置,在生成報告過程中將模板中標識字符串替換為所需的數(shù)據(jù)和圖片。相較于以前的純手工生成報告,數(shù)據(jù)準確率和工作效率都有明顯的提高。
參考文獻:
[1] 陸郁強.基于大數(shù)據(jù)分析的電力變電站故障診斷與維護策略研究 [J].電氣技術與經(jīng)濟,2023(8):218-220.
[2] 張冀星.設備狀態(tài)監(jiān)測與故障診斷 [J].山東工業(yè)技術,2017(4):216.
[3] 楊碩,范軍太,衛(wèi)偉,等.基于大數(shù)據(jù)分析的電力系統(tǒng)遠程運維及故障診斷 [J].電力學報,2021,36(1):84-89.
[4] 毛燠鋒,潘玉春,朱玉付.基于報表和模板的報告生成方法研究 [J].軟件工程,2021,24(5):30-32+21.
[5] 張潔,蔡然.電力設備狀態(tài)監(jiān)測與故障診斷技術分析 [J].電子技術,2021,50(12):274-275.
[6] Play. Play Framework Makes it Easy to Build Web Applications With Java & Scala [EB/OL].[2023-12-20].https://www.playframework.com/.
[7] 趙景暉.Java 程序設計 [M].北京:北京機械工業(yè)出版社,2005:1-2.
[8] 明日科技.Java從入門到精通:第3版 [M].北京:清華大學出版社,2013.
[9] 百度百科.IntelliJ IDEA [EB/OL].[2023-12-18].https://baike.baidu.com/item/IntelliJ%20IDEA?fromModule=lemma_search-box.
[10] 百度百科.Apache POI [EB/OL].[2023-12-16].https://baike.baidu.com/item/Apache%20POI?fromModule=lemma_search-box.
[12] 馬運保,梅洋,王嘉琪.基于火電廠遠程監(jiān)控與故障診斷系統(tǒng)分析 [J].中國高新科技,2023(19):111-112+123.
[13] PhantomJS - Scriptable Headless Browser [EB/OL].[2023-12-20].https://phantomjs.org/.
[14] 周彪.基于SSM框架的Java后端代碼生成器的設計與實現(xiàn) [D].大連:大連理工大學,2020.
作者簡介:王遠洪(1985—),女,漢族,四川瀘州人,工程師,碩士研究生,研究方向:計算機應用技術。