基于锅炉远程诊断系统的月度诊断报告系统的设计与实现

2024-09-19 00:00:00王远洪
现代信息科技 2024年13期

摘 要:随着锅炉远程诊断系统的上线运行,锅炉的运行现状得到了全方位的分析与评估,同时还可以对其未来运行状况进行预测。为了更好地提供对锅炉全生命周期的监视和服务,同时也为电厂高层决策提供可靠的数据支撑,文章基于锅炉远程诊断系统设计和实现了月度诊断报告系统。该系统以自然月为节点,聚合锅炉运行核心指标数据,同时结合远程诊断系统各模块结论,总结锅炉月度运行状况,给出后期运维建议。

关键词:锅炉;远程诊断;月度报告;设备运维

中图分类号: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 引 言

随着国民经济的不断发展、人们生活水平的不断提高,以及对电力需求的日益增长和科学技术的飞速进步[1],电厂中各设备都在迅速地朝着大型化、连续化、精密化、系统化和自动化的方向发展,各种大容量、高参数的大型发电机组不断涌现。随之而来的设备故障造成的损失、运维成本相较于小机组也是成倍的增长。各电厂越来越意识到对电厂各设备进行故障早期诊断和预防等工作的重要性,同时,也对设备工作的可靠性、安全性提出了更高的要求。为解决上述问题,锅炉远程诊断系统实现了实时状态监测[2]、故障诊断[3]及预警,以便及时发现设备的隐患,从而能够做到事前防范和技术改进。远程诊断系统采集锅炉运行数据,积累数据量,利用大数据分析技术,基于机理分析和模型算法对锅炉各部件运行情况进行深入分析。系统各部件的运行和分析情况需要到相应应用下查看,系统使用友好性有待完善。为需要分析报告用于汇报[4]或决策的用户,实现自动报告的生成非常必要和迫切。因此,在远程诊断系统的基础上,设计并实现了月度诊断报告系统。该系统以自然月为节点,整合锅炉当月运行核心指标数据和分析结论,横纵向对比分析,结合专家经验,分析总结锅炉该月运维问题的原因,并给出下月运维建议。该系统的实现让运维人员对电厂锅炉整体运行情况有了更真实的把握,同时辅助运维人员更加明确运维改进的方向。

1 相关知识

1.1 锅炉远程诊断系统

为解决电厂锅炉设备故障早期诊断和预防的问题,提高锅炉运行经济性、安全性及环保性,利用大数据处理技术,基于机理分析和模型算法,设计并实现了锅炉远程诊断系统。系统集数据采集[5]、数据监测、故障诊断与操作指导建议于一体,实时分析处理电厂锅炉实时运行数据,将常规监测与故障诊断技术有机地结合在一起。以目标为导向,基于锅炉全生命周期,面向锅炉部件,系统实现了经济性分析、厚壁元件寿命分析、煤质灰渣分析、制粉优化、环保分析、高加分析、预热器分析和受热面偏差分析。

系统采用开源Web应用框架Play framework 2.5 [6],开发语言为Java [7-8],使用IntelliJ IDEA集成环境[9]进行开发,JDK(Java Development Kit)版本为1.8。

1.2 Apache POI和ECharts

Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能[10]。主要用于导出数据和上传数据。

ECharts是一个使用JavaScript实现的开源可视化库,可以流畅地运行在PC和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11、Chrome、Firefox、Safari等),底层依赖矢量图形库ZRender,提供直观、交互丰富、可高度个性化定制的数据可视化图表[11]。系统主要利用ECharts 3生成折线图。

2 系统简介

锅炉远程诊断系统面向机组,自上而下地对锅炉按部件进行拆分并进行诊断分析,关注锅炉整体和各部件运行状态。月度诊断报告系统基于锅炉远程诊断分析平台,在实时监控和诊断分析的基础上,自下而上的提取锅炉运行关键指标,以月为时间跨度,整理和汇总锅炉监测数据和故障诊断结论[12],锅炉专家在数据分析基础上结合设计和调试等经验,提供锅炉运维建议。系统生成的报告可供运维人员进行查询,根据报告中的运维建议,结合锅炉实际情况,最后决策如何调整锅炉的运行状态,以提高锅炉运行的安全性、经济性等。

系统利用表格、折线图等对报告汇总数据进行了可视化展示,以程序的方式代替了人工进行数据加工和分析,提高了数据整合效率和数据的准确性。

3 系统设计

3.1 系统功能设计

基于远程诊断系统现有结构,设计了月度诊断报告系统流程图,如图1所示。

3.1.1 生成报告

主要分为以下两个步骤:

1)设计Word模板。系统立足于锅炉远程诊断系统的模块分析内容,加上锅炉整体运行情况将报告内容分为了9大部分,具体组成如图2所示。

根据每部分业务内容和核心数据不同,将模板设计为4个部分:一是分析模块简介,介绍该模块的分析原理、分析内容和分析目的等。二是数据报表,以自然月为时间跨度、以天为单位聚合模块分析关键指标数据,展示形式为表格。三是可视化展示分析,以折线图形式展示该月主要指标运行数值趋势图,结合数据表和曲线趋势分析运行情况。四是运行优化建议,锅炉专家结合数据和趋势折线图,分析各部分运行情况,以安全、经济、环保为目标给出锅炉运行优化建议。

2)自动生成报告。系统根据选择报表部分自动选择模板生成相应的报告,专家可修改实际情况优化运行优化建议。依据诊断内容一个机组包含9个部分,优化完成后分别上次系统。

3.1.2 合并报告

报告各部分面向诊断分析模块,最终以一个整体的Word文档形式呈现,待机组9个部分的报告均上传完成,系统提供将各部分内容按序合并成一个文档,文档也可下载、修改、上传,供后续审核使用。

3.1.3 审核报表

为确保报告的正确性和正式性,系统严格执行了设、校、审流程,各个环节人员签字后上传系统,待领导审核后签字,月度诊断报告最终完成。

3.2 数据库设计

月度诊断报告系统是锅炉远程诊断系统的重要组成部分,基于锅炉远程诊断系统平台实现应用功能。用户登录、权限认证等与远程诊断系统共用,并在其基础上新增了2个业务数据表,分别是:

1)monthly_report。该表为报告记录表,存储报告的名称、报告月份、所属机组等信息。详细信息见表1。

4 系统核心功能实现

4.1 PhantomJS生成Echarts折线图

PhantomJS是一款基于Webkit内核的、可使用JavaScript编写脚本的无界面Web浏览器[13]。其提供JavaScript API接口,通过编写js可以直接与Webkit内核交互,在此之上结合Java语言,通过Java调用js等相关操作,生成Echarts折线图,插入报告中,如图3所示。系统需要在后端实现自动生成折线图功能,无须用户干预和操作,而是用程序代替人为相关操作。经过对比最终选择了PhantomJS 2.1.1工具。

系统实现核心逻辑包含两部分:

1)配置Echarts选项option。Echarts的配置是构建图表的核心,配置选项是一个包含各种属性和值的JavaScript对象,用于定义图表的各个方面,例如标题、轴线、图例、数据系列等,准确的配置可以帮助用户创建目标图表,并以更加精美形式呈现。以下是本系统中对Echarts的配置语句:

String option ="{tooltip : {show:true, trigger: ‘axis' ,formatter:'{b}</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图片的图例内容。

arrayxAxis.toString():程序拼接的Echarts图片的横坐标值,系统中为年月日格式。

seriesData.toString():程序拼接的Echarts图片的折线图值。

2)使用Java传cmd命令调用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 报告生成功能

系统采用Apache POI根据定制模板[14]生成报告,生成报告时需要用当前数据替换模板中的相关内容。POI依赖使用的是poi-ooxml 4.1.0,对应文档类型为Word.docx。

表3为报告模板中的其中一个表格。

以文件流FileInputStream方式获得XWPFDocument对象,Apache POI通过API接口getBodyElements()获取段落和表格,然后判断对象属于BodyElementType中的TABLE还是PARAGRAPH,将相应的数据替换模板中的对应的{XXXX}占位符。

表4为月度诊断报告系统生成的对应的表格数据部分展示。

5 系统应用

系统经过调试和测试,自2018年12月份上线运行,每月定期为锅炉远程诊断系统平台接入电厂机组提供锅炉运行诊断分析报告,用户表示非常满意。图4为诊断报告系统管理界面。

6 结 论

所设计的系统预先设置Word模板,把所需的段落或表格形式在模板中设置,在生成报告过程中将模板中标识字符串替换为所需的数据和图片。相较于以前的纯手工生成报告,数据准确率和工作效率都有明显的提高。

参考文献:

[1] 陆郁强.基于大数据分析的电力变电站故障诊断与维护策略研究 [J].电气技术与经济,2023(8):218-220.

[2] 张冀星.设备状态监测与故障诊断 [J].山东工业技术,2017(4):216.

[3] 杨硕,范军太,卫伟,等.基于大数据分析的电力系统远程运维及故障诊断 [J].电力学报,2021,36(1):84-89.

[4] 毛燠锋,潘玉春,朱玉付.基于报表和模板的报告生成方法研究 [J].软件工程,2021,24(5):30-32+21.

[5] 张洁,蔡然.电力设备状态监测与故障诊断技术分析 [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].北京:北京机械工业出版社,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] 马运保,梅洋,王嘉琪.基于火电厂远程监控与故障诊断系统分析 [J].中国高新科技,2023(19):111-112+123.

[13] PhantomJS - Scriptable Headless Browser [EB/OL].[2023-12-20].https://phantomjs.org/.

[14] 周彪.基于SSM框架的Java后端代码生成器的设计与实现 [D].大连:大连理工大学,2020.

作者简介:王远洪(1985—),女,汉族,四川泸州人,工程师,硕士研究生,研究方向:计算机应用技术。