摘要:该文从高炉炉况的实际情况出发,设计了一种基于Spring Boot+Vue的炉况评价系统。文中对高炉炉况的评价指标体系及评定以及如何利用软件技术实现炉况评价系统进行详细分析和介绍。该系统目前已经形成软件系统并应用于钢铁企业,友好的界面展示给现场操作人员提供有力的指导和支持。

关键词:Spring Boot;Vue;Element-ui;MyBatis

中图分类号:TP319      文献标识码:A

文章编号:1009-3044(2022)35-0043-03

1 引言

在高温高压的条件下,高炉内部的反应极其复杂。同时由于高炉系统的能耗极大,高炉使用的能耗占整个钢铁企业约60%[1],因此,维持高炉生产过程中的平稳运行是实施节能降耗优化操作的一个重要环节。四大操作制度是高炉炼铁过程控制必不可少的准则,四大准则包括:高炉上料准则、风口送风准则、高炉内外热制度准则和炉内造渣准则。高炉稳定运行的重要保证是炉况的平稳,炉况是否平稳可以等价于四大准则操作是否合理的实施,从而指导操作人员实时、准确地判断炉况,维持高炉炉况的稳定顺行[2]。随着计算机和信息技术在工业领域的应用以及在国家鼓励制造业加速向数字化、网络化、智能化方向拓展政策的引导下,本系统拟设计并实现一个B/S架构的基于Spring Boot+Vue的炉况诊断系统用来展示高炉内的运行情况,并内置评价系统可视化展示高炉的顺行状态及得分情况。

2 评价指标体系的确定及评定

高炉炉况顺行指数的评价指标体系分为三个层次:第一层为一级指标,第二层为二级指标,第三层为三级指标。一级指标为高炉顺行指数,二级指标包括装料参数、送风参数、气流监控、出铁参数和炉体温度共5个方面,每个二级指标由若干个三级指标组成,整个评价的三级指标包含了39个,详见表1,最后一个二级指标是包含了10个三级指标,分别是第6层到第15层的冷却壁温度均值。

整个评价系统需要首先在系统内部根据每个钢铁厂的具体情况和专家意见,对高炉顺行状态评价体系的二级指标层和三级指标层进行权重的设置,同时还需要设置每个三级指标的评分规则。要求5个二级指标层的权重和为1,每个二级指标对应的三级指标权重和为1。设置每个三级指标的评分标准,三级指标的评分规则模拟为线性标准,如表2冷风风量的评分规则。具体评价过程为每隔一段时间获取三级指标层的各个指标值,然后根据每个指标的评分规则计算对应的指标得分(分值范围:0~100),再用每个指标得分乘以对应的权重值得到二级指标层对应的得分,二级指标层的得分乘以二级指标层的权重最终得到高炉顺行指数的分值(范围:0~100)。

3 基于SpringBoot+Vue的炉况评价系统软件设计

3.1 系统体系架构设计

现有的软件开发整体架构主要分为C/S(Client/Server)架构和B/S(Browser/Server)架构,两者的主要区别是C/S架构的客户端程序需要安装在用户的电脑上才能运行,而B/S架构的客户端是直接通过电脑的浏览器访问的,能上网就可以直接使用。随着互联网技术的发展,B/S架构的软件开发使用越来越广泛。本系统采用B/S架构,基于Spring Boot和Vue进行设计的。本系统从逻辑系统体系上分成了四个层次,分别为“交互层”“业务逻辑控制层”“数据对象层”和“数据库”。

1)交互层(表现层)

交互层主要负责系统和用户交互部分的实现,包括与用户进行交互的页面及执行操作的请求处理类。本系统的交互层采用基于Vue作为核心框架的 MVVM开发模式,是一套用于构建用户界面的渐进式框架,声明式渲染和组件系统是Vue的核心库所包含内容。在页面组件的实现中引入Element-ui组件库,Element-ui是饿了幺团队在Vue基础上封装的业务常用组件类库,具体包括各种类型的按钮,用于页面布局的布局控件,常用的数据录入组件比如日期选择器、输入框、单选框、多选框、级联选择框、上传控件等,多样的数据展示组件比如表格、时间轴、树形控件、描述列表等。

2)业务逻辑控制层

构建系统模块所需的业务处理方法,交互层将调用业务逻辑控制层的业务方法来完成业务操作。它是应用的主体,它包括了应用中全部的业务处理程序。业务逻辑控制层一方面起传递数据作用,一方面进行强大的数据处理。该层还承担安全性检查的任务。该层本系统是基于Spring Boot开发。Spring Boot是一个简化Spring开发的框架,用来监护spring应用开发,约定大于配置,去繁就简,直接运行就能创建一个独立的、产品级的应用[3]。

3)数据持久层

使用相关技术进行对象/关系数据库的映射,实现对数据资源的封装。对于数据持久层的开发,开发人员只面对业务数据对象或接口,不涉及底层数据库的访问。该层本系统是基于Mybatis开发。MyBatis框架主要包含DAO组件与SQL Map组件两大类,MyBatis DAO组件的主要目标是抽象化应用程序的数据访问层和持久层的表示方式和位置,使它远离应用程序的业务逻辑。SQL Map组件是MyBatis Database Layer框架的重要组成部分,它使用简单的XML配置文件将Java Bean、XML、Map映射成SQL语句,通过SQL语句的执行获得Java Bean、XML、Map等对象[4]。

4)数据库

该层用来存储数据。本系统采用MySQL数据库保存数据。MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。选择MySQL作为数据库主要是由于开源免费,而且在速度、可靠性和适应性上面满足本系统的需要[5]。

3.2 系统的功能设计

本系统主要包括权重设置、指标评分规则、炉况诊断及历史数据分析4大部分。

其中权重设置是系统上线后根据钢铁厂的实际情况,对三级指标层的39个指标和二级指标层的5个指标进行权重设置。该模块会内置权重校验,即输入的值为数值型,同时满足5个二级指标层的权重和为1,每个二级指标层对应的三级指标层的权重和为1,否则权重设置失败,界面进行弹框提示。

指标评分规则也是系统上线后根据钢铁厂的数据情况进行标定的,每个三级指标都有评分规则,评分规则的范围和段数不固定。该模块要求评分规则的范围内的值需要连续。同时该模块需要支持输入三级指标的数值能够得到对应的分值。

炉况诊断是该系统的核心模块,主要包括两大部分,第一部分为系统需要定时(比如1小时)读取39个指标的数据,根据指标的评分规则以及系统的权重设置对每个三级指标、二级指标及一级指标进行打分。第二部分为将炉况的指标数据、得分情况展示在页面上,供操作人员实时观察,需要设计美观,同时信息全面。

历史数据分析主要是用来展示各个三级指标层的计算值和得分以及二级指标和一级指标的得分。支持多维度查询,比如支持指标名称的查询、时间维度的查询,支持历史数据包括带有图片的数据导出。

4 基于SpringBoot+Vue的炉况评价系统的软件实现

4.1 整体实现

根据前文的功能设计,本系统创建了3张数据库表,分别为权重表(diagnosis_furnace_weights)、评分规则表(diagnosis_furnace_rules)和评价表(diagnosis_furnace_evaluation)。其中权重表是用来保存指标层的39个三级指标权重和5个二级指标权重。评分规则表用来保存所有三级指标的评分规则,主要包含code(指标编码)、x_start(起点)、x_end(终点)、y_start(起点值)和y_end(终点值)这些字段信息。评价表中用来保存当前时刻39个三级指标的数值和得分、5个二级指标的得分以及顺行指数的得分。

在交互层即界面展示层,评价权重设置模块主要通过element-ui中的布局组件(el-row、el-col)、输入组件(el-input)和按钮(el-button)实现。评分规则模块主要通过element-ui中的表格(el-table)加表单(el-form)的方式实现。炉况诊断模块主要通过原生的div、element-ui中的布局组件(el-row、el-col)和图表控件echarts来实现,图1为炉况诊断的界面展示图。历史数据分析模块主要通过element-ui中的表格(el-table)和输入框(el-input、el-select、el-date-picker等)实现。

4.2 关键功能的详细实现

1)三级指标的得分实现

每个三级指标的评分规则会根据高炉的具体情况进行设置,不是固定不变的。同时,设计的代码需要具有通用性,即39个三级指标的评分使用同一个函数,而不是针对每个指标进行设计。

通过分析,本文实现了getMark函数,该函数有两个输入参数分别为指标名称和指标数值,返回double类型的结果。此函数的具体实现逻辑为:首先根据指标名称到评分规则表(diagnosis_furnace_rules)中查询此指标对应的所有评分规则记录,根据评分规则记录确定出本指标的起始点和终止点。然后判断输入的指标数值所在的区间,即如果输入的指标数值超出本指标的终止点,则得分为终止点对应的分值;如果输入的指标数值低于本指标的起始点,则得分为起始点对应的分值,如果指标数值在起始点和终止点之间,则需要利用指标数值在x_start(起点)和x_end(终点)之间的条件再次查询评分规则表得到具体的一条评分记录,并将评分记录的两个点(x_start,y_start)和(x_end,y_end)带入线性函数[y=kx+b]中求出参数k和b,最后根据指标数值得到对应的得分。

2)高炉顺行状态评价实现

整个高炉顺行状态评价过程是在业务逻辑控制层通过定时任务实现的,即每隔1个小时对高炉顺行状态进行评价一次。每次评价的具体过程为:首先读取来自39个三级指标的数值,并对这39个三级指标调用getMark函数得到每个指标对应的得分。然后读取权重表(diagnosis_furnace_weights),计算出39个三级指标的权重分值,从而计算出5个二级指标的得分,再分别乘以二级指标的权重得到二级指标的权重分值,最后求出一级指标的得分,并将三级指标的数值、三级指标的得分、二级指标的得分和一级指标的得分保存到评价表(diagnosis_furnace_evaluation)中。

3)炉况诊断的界面实现

炉况诊断界面(见图1)除了使用Element-ui和echart组件外,每个二级指标的外围框、斜线以及高炉图片上的小圆点都是通过div加css样式实现。首先是这三个元素的定位均是通过在父级div上设置样式属性display为fixed,自身设置样式属性position为relative实现。然后每个二级指标外围框的四个弧度角通过设置样式属性border-radius实现。其次每根斜线通过设置样式属性transform实现倾斜,通过设置样式属性top和left实现斜线的具体位置。最后高炉图片上的小圆点是通过设置样式属性border-radius实现小圆点,通过设置样式属性top和left实现小圆点的具体位置。

5 结束语

本研究从装料参数、送风参数、气流监控、出铁参数和炉体温度五方面制定了39个高炉炉况评价指标,并利用Spring Boot+Vue技术快速开发出一套炉况评价软件系统。主要优点在于:

1)可配置化的权重模型使其能适应不同钢铁厂的实际情况;

2)评价规则可动态设置使其评价更具有科学性;

3)友好的界面展示给操作人员提供很大的便利。

参考文献:

[1] 徐化冰.高炉炉况评价与参数学习系统的设计[J].电子制作,2015(2):81.

[2] 张胜男.基于专家知识与数据相结合的高炉炉况综合评价[D].包头:内蒙古科技大学,2020.

[3] 韦雪文,姜岚.BIM可视化管理系统的软件设计[J].电脑知识与技术,2021,17(20):78-80.

[4] 徐雯,高建华.基于Spring MVC及MyBatis的Web应用框架研究[J].微型电脑应用,2012,28(7):1-4,10.

[5] 韦雪文,高心宇,孙玉辉,等.基于web的城市河流生态健康评价系统设计[J].电脑知识与技术,2017,13(26):92-94.

【通联编辑:谢媛媛】