摘要:該文從高爐爐況的實(shí)際情況出發(fā),設(shè)計(jì)了一種基于Spring Boot+Vue的爐況評(píng)價(jià)系統(tǒng)。文中對(duì)高爐爐況的評(píng)價(jià)指標(biāo)體系及評(píng)定以及如何利用軟件技術(shù)實(shí)現(xiàn)爐況評(píng)價(jià)系統(tǒng)進(jìn)行詳細(xì)分析和介紹。該系統(tǒng)目前已經(jīng)形成軟件系統(tǒng)并應(yīng)用于鋼鐵企業(yè),友好的界面展示給現(xiàn)場(chǎng)操作人員提供有力的指導(dǎo)和支持。
關(guān)鍵詞:Spring Boot;Vue;Element-ui;MyBatis
中圖分類(lèi)號(hào):TP319? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)35-0043-03
1 引言
在高溫高壓的條件下,高爐內(nèi)部的反應(yīng)極其復(fù)雜。同時(shí)由于高爐系統(tǒng)的能耗極大,高爐使用的能耗占整個(gè)鋼鐵企業(yè)約60%[1],因此,維持高爐生產(chǎn)過(guò)程中的平穩(wěn)運(yùn)行是實(shí)施節(jié)能降耗優(yōu)化操作的一個(gè)重要環(huán)節(jié)。四大操作制度是高爐煉鐵過(guò)程控制必不可少的準(zhǔn)則,四大準(zhǔn)則包括:高爐上料準(zhǔn)則、風(fēng)口送風(fēng)準(zhǔn)則、高爐內(nèi)外熱制度準(zhǔn)則和爐內(nèi)造渣準(zhǔn)則。高爐穩(wěn)定運(yùn)行的重要保證是爐況的平穩(wěn),爐況是否平穩(wěn)可以等價(jià)于四大準(zhǔn)則操作是否合理的實(shí)施,從而指導(dǎo)操作人員實(shí)時(shí)、準(zhǔn)確地判斷爐況,維持高爐爐況的穩(wěn)定順行[2]。隨著計(jì)算機(jī)和信息技術(shù)在工業(yè)領(lǐng)域的應(yīng)用以及在國(guó)家鼓勵(lì)制造業(yè)加速向數(shù)字化、網(wǎng)絡(luò)化、智能化方向拓展政策的引導(dǎo)下,本系統(tǒng)擬設(shè)計(jì)并實(shí)現(xiàn)一個(gè)B/S架構(gòu)的基于Spring Boot+Vue的爐況診斷系統(tǒng)用來(lái)展示高爐內(nèi)的運(yùn)行情況,并內(nèi)置評(píng)價(jià)系統(tǒng)可視化展示高爐的順行狀態(tài)及得分情況。
2 評(píng)價(jià)指標(biāo)體系的確定及評(píng)定
高爐爐況順行指數(shù)的評(píng)價(jià)指標(biāo)體系分為三個(gè)層次:第一層為一級(jí)指標(biāo),第二層為二級(jí)指標(biāo),第三層為三級(jí)指標(biāo)。一級(jí)指標(biāo)為高爐順行指數(shù),二級(jí)指標(biāo)包括裝料參數(shù)、送風(fēng)參數(shù)、氣流監(jiān)控、出鐵參數(shù)和爐體溫度共5個(gè)方面,每個(gè)二級(jí)指標(biāo)由若干個(gè)三級(jí)指標(biāo)組成,整個(gè)評(píng)價(jià)的三級(jí)指標(biāo)包含了39個(gè),詳見(jiàn)表1,最后一個(gè)二級(jí)指標(biāo)是包含了10個(gè)三級(jí)指標(biāo),分別是第6層到第15層的冷卻壁溫度均值。
整個(gè)評(píng)價(jià)系統(tǒng)需要首先在系統(tǒng)內(nèi)部根據(jù)每個(gè)鋼鐵廠的具體情況和專(zhuān)家意見(jiàn),對(duì)高爐順行狀態(tài)評(píng)價(jià)體系的二級(jí)指標(biāo)層和三級(jí)指標(biāo)層進(jìn)行權(quán)重的設(shè)置,同時(shí)還需要設(shè)置每個(gè)三級(jí)指標(biāo)的評(píng)分規(guī)則。要求5個(gè)二級(jí)指標(biāo)層的權(quán)重和為1,每個(gè)二級(jí)指標(biāo)對(duì)應(yīng)的三級(jí)指標(biāo)權(quán)重和為1。設(shè)置每個(gè)三級(jí)指標(biāo)的評(píng)分標(biāo)準(zhǔn),三級(jí)指標(biāo)的評(píng)分規(guī)則模擬為線性標(biāo)準(zhǔn),如表2冷風(fēng)風(fēng)量的評(píng)分規(guī)則。具體評(píng)價(jià)過(guò)程為每隔一段時(shí)間獲取三級(jí)指標(biāo)層的各個(gè)指標(biāo)值,然后根據(jù)每個(gè)指標(biāo)的評(píng)分規(guī)則計(jì)算對(duì)應(yīng)的指標(biāo)得分(分值范圍:0~100),再用每個(gè)指標(biāo)得分乘以對(duì)應(yīng)的權(quán)重值得到二級(jí)指標(biāo)層對(duì)應(yīng)的得分,二級(jí)指標(biāo)層的得分乘以二級(jí)指標(biāo)層的權(quán)重最終得到高爐順行指數(shù)的分值(范圍:0~100)。
3 基于SpringBoot+Vue的爐況評(píng)價(jià)系統(tǒng)軟件設(shè)計(jì)
3.1 系統(tǒng)體系架構(gòu)設(shè)計(jì)
現(xiàn)有的軟件開(kāi)發(fā)整體架構(gòu)主要分為C/S(Client/Server)架構(gòu)和B/S(Browser/Server)架構(gòu),兩者的主要區(qū)別是C/S架構(gòu)的客戶端程序需要安裝在用戶的電腦上才能運(yùn)行,而B(niǎo)/S架構(gòu)的客戶端是直接通過(guò)電腦的瀏覽器訪問(wèn)的,能上網(wǎng)就可以直接使用。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,B/S架構(gòu)的軟件開(kāi)發(fā)使用越來(lái)越廣泛。本系統(tǒng)采用B/S架構(gòu),基于Spring Boot和Vue進(jìn)行設(shè)計(jì)的。本系統(tǒng)從邏輯系統(tǒng)體系上分成了四個(gè)層次,分別為“交互層”“業(yè)務(wù)邏輯控制層”“數(shù)據(jù)對(duì)象層”和“數(shù)據(jù)庫(kù)”。
1)交互層(表現(xiàn)層)
交互層主要負(fù)責(zé)系統(tǒng)和用戶交互部分的實(shí)現(xiàn),包括與用戶進(jìn)行交互的頁(yè)面及執(zhí)行操作的請(qǐng)求處理類(lèi)。本系統(tǒng)的交互層采用基于Vue作為核心框架的 MVVM開(kāi)發(fā)模式,是一套用于構(gòu)建用戶界面的漸進(jìn)式框架,聲明式渲染和組件系統(tǒng)是Vue的核心庫(kù)所包含內(nèi)容。在頁(yè)面組件的實(shí)現(xiàn)中引入Element-ui組件庫(kù),Element-ui是餓了么團(tuán)隊(duì)在Vue基礎(chǔ)上封裝的業(yè)務(wù)常用組件類(lèi)庫(kù),具體包括各種類(lèi)型的按鈕,用于頁(yè)面布局的布局控件,常用的數(shù)據(jù)錄入組件比如日期選擇器、輸入框、單選框、多選框、級(jí)聯(lián)選擇框、上傳控件等,多樣的數(shù)據(jù)展示組件比如表格、時(shí)間軸、樹(shù)形控件、描述列表等。
2)業(yè)務(wù)邏輯控制層
構(gòu)建系統(tǒng)模塊所需的業(yè)務(wù)處理方法,交互層將調(diào)用業(yè)務(wù)邏輯控制層的業(yè)務(wù)方法來(lái)完成業(yè)務(wù)操作。它是應(yīng)用的主體,它包括了應(yīng)用中全部的業(yè)務(wù)處理程序。業(yè)務(wù)邏輯控制層一方面起傳遞數(shù)據(jù)作用,一方面進(jìn)行強(qiáng)大的數(shù)據(jù)處理。該層還承擔(dān)安全性檢查的任務(wù)。該層本系統(tǒng)是基于Spring Boot開(kāi)發(fā)。Spring Boot是一個(gè)簡(jiǎn)化Spring開(kāi)發(fā)的框架,用來(lái)監(jiān)護(hù)spring應(yīng)用開(kāi)發(fā),約定大于配置,去繁就簡(jiǎn),直接運(yùn)行就能創(chuàng)建一個(gè)獨(dú)立的、產(chǎn)品級(jí)的應(yīng)用[3]。
3)數(shù)據(jù)持久層
使用相關(guān)技術(shù)進(jìn)行對(duì)象/關(guān)系數(shù)據(jù)庫(kù)的映射,實(shí)現(xiàn)對(duì)數(shù)據(jù)資源的封裝。對(duì)于數(shù)據(jù)持久層的開(kāi)發(fā),開(kāi)發(fā)人員只面對(duì)業(yè)務(wù)數(shù)據(jù)對(duì)象或接口,不涉及底層數(shù)據(jù)庫(kù)的訪問(wèn)。該層本系統(tǒng)是基于Mybatis開(kāi)發(fā)。MyBatis框架主要包含DAO組件與SQL Map組件兩大類(lèi),MyBatis DAO組件的主要目標(biāo)是抽象化應(yīng)用程序的數(shù)據(jù)訪問(wèn)層和持久層的表示方式和位置,使它遠(yuǎn)離應(yīng)用程序的業(yè)務(wù)邏輯。SQL Map組件是MyBatis Database Layer框架的重要組成部分,它使用簡(jiǎn)單的XML配置文件將Java Bean、XML、Map映射成SQL語(yǔ)句,通過(guò)SQL語(yǔ)句的執(zhí)行獲得Java Bean、XML、Map等對(duì)象[4]。
4)數(shù)據(jù)庫(kù)
該層用來(lái)存儲(chǔ)數(shù)據(jù)。本系統(tǒng)采用MySQL數(shù)據(jù)庫(kù)保存數(shù)據(jù)。MySQL是一種開(kāi)放源代碼的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),MySQL數(shù)據(jù)庫(kù)系統(tǒng)使用最常用的數(shù)據(jù)庫(kù)管理語(yǔ)言--結(jié)構(gòu)化查詢語(yǔ)言(SQL)進(jìn)行數(shù)據(jù)庫(kù)管理。選擇MySQL作為數(shù)據(jù)庫(kù)主要是由于開(kāi)源免費(fèi),而且在速度、可靠性和適應(yīng)性上面滿足本系統(tǒng)的需要[5]。
3.2 系統(tǒng)的功能設(shè)計(jì)
本系統(tǒng)主要包括權(quán)重設(shè)置、指標(biāo)評(píng)分規(guī)則、爐況診斷及歷史數(shù)據(jù)分析4大部分。
其中權(quán)重設(shè)置是系統(tǒng)上線后根據(jù)鋼鐵廠的實(shí)際情況,對(duì)三級(jí)指標(biāo)層的39個(gè)指標(biāo)和二級(jí)指標(biāo)層的5個(gè)指標(biāo)進(jìn)行權(quán)重設(shè)置。該模塊會(huì)內(nèi)置權(quán)重校驗(yàn),即輸入的值為數(shù)值型,同時(shí)滿足5個(gè)二級(jí)指標(biāo)層的權(quán)重和為1,每個(gè)二級(jí)指標(biāo)層對(duì)應(yīng)的三級(jí)指標(biāo)層的權(quán)重和為1,否則權(quán)重設(shè)置失敗,界面進(jìn)行彈框提示。
指標(biāo)評(píng)分規(guī)則也是系統(tǒng)上線后根據(jù)鋼鐵廠的數(shù)據(jù)情況進(jìn)行標(biāo)定的,每個(gè)三級(jí)指標(biāo)都有評(píng)分規(guī)則,評(píng)分規(guī)則的范圍和段數(shù)不固定。該模塊要求評(píng)分規(guī)則的范圍內(nèi)的值需要連續(xù)。同時(shí)該模塊需要支持輸入三級(jí)指標(biāo)的數(shù)值能夠得到對(duì)應(yīng)的分值。
爐況診斷是該系統(tǒng)的核心模塊,主要包括兩大部分,第一部分為系統(tǒng)需要定時(shí)(比如1小時(shí))讀取39個(gè)指標(biāo)的數(shù)據(jù),根據(jù)指標(biāo)的評(píng)分規(guī)則以及系統(tǒng)的權(quán)重設(shè)置對(duì)每個(gè)三級(jí)指標(biāo)、二級(jí)指標(biāo)及一級(jí)指標(biāo)進(jìn)行打分。第二部分為將爐況的指標(biāo)數(shù)據(jù)、得分情況展示在頁(yè)面上,供操作人員實(shí)時(shí)觀察,需要設(shè)計(jì)美觀,同時(shí)信息全面。
歷史數(shù)據(jù)分析主要是用來(lái)展示各個(gè)三級(jí)指標(biāo)層的計(jì)算值和得分以及二級(jí)指標(biāo)和一級(jí)指標(biāo)的得分。支持多維度查詢,比如支持指標(biāo)名稱(chēng)的查詢、時(shí)間維度的查詢,支持歷史數(shù)據(jù)包括帶有圖片的數(shù)據(jù)導(dǎo)出。
4 基于SpringBoot+Vue的爐況評(píng)價(jià)系統(tǒng)的軟件實(shí)現(xiàn)
4.1 整體實(shí)現(xiàn)
根據(jù)前文的功能設(shè)計(jì),本系統(tǒng)創(chuàng)建了3張數(shù)據(jù)庫(kù)表,分別為權(quán)重表(diagnosis_furnace_weights)、評(píng)分規(guī)則表(diagnosis_furnace_rules)和評(píng)價(jià)表(diagnosis_furnace_evaluation)。其中權(quán)重表是用來(lái)保存指標(biāo)層的39個(gè)三級(jí)指標(biāo)權(quán)重和5個(gè)二級(jí)指標(biāo)權(quán)重。評(píng)分規(guī)則表用來(lái)保存所有三級(jí)指標(biāo)的評(píng)分規(guī)則,主要包含code(指標(biāo)編碼)、x_start(起點(diǎn))、x_end(終點(diǎn))、y_start(起點(diǎn)值)和y_end(終點(diǎn)值)這些字段信息。評(píng)價(jià)表中用來(lái)保存當(dāng)前時(shí)刻39個(gè)三級(jí)指標(biāo)的數(shù)值和得分、5個(gè)二級(jí)指標(biāo)的得分以及順行指數(shù)的得分。
在交互層即界面展示層,評(píng)價(jià)權(quán)重設(shè)置模塊主要通過(guò)element-ui中的布局組件(el-row、el-col)、輸入組件(el-input)和按鈕(el-button)實(shí)現(xiàn)。評(píng)分規(guī)則模塊主要通過(guò)element-ui中的表格(el-table)加表單(el-form)的方式實(shí)現(xiàn)。爐況診斷模塊主要通過(guò)原生的div、element-ui中的布局組件(el-row、el-col)和圖表控件echarts來(lái)實(shí)現(xiàn),圖1為爐況診斷的界面展示圖。歷史數(shù)據(jù)分析模塊主要通過(guò)element-ui中的表格(el-table)和輸入框(el-input、el-select、el-date-picker等)實(shí)現(xiàn)。
4.2 關(guān)鍵功能的詳細(xì)實(shí)現(xiàn)
1)三級(jí)指標(biāo)的得分實(shí)現(xiàn)
每個(gè)三級(jí)指標(biāo)的評(píng)分規(guī)則會(huì)根據(jù)高爐的具體情況進(jìn)行設(shè)置,不是固定不變的。同時(shí),設(shè)計(jì)的代碼需要具有通用性,即39個(gè)三級(jí)指標(biāo)的評(píng)分使用同一個(gè)函數(shù),而不是針對(duì)每個(gè)指標(biāo)進(jìn)行設(shè)計(jì)。
通過(guò)分析,本文實(shí)現(xiàn)了getMark函數(shù),該函數(shù)有兩個(gè)輸入?yún)?shù)分別為指標(biāo)名稱(chēng)和指標(biāo)數(shù)值,返回double類(lèi)型的結(jié)果。此函數(shù)的具體實(shí)現(xiàn)邏輯為:首先根據(jù)指標(biāo)名稱(chēng)到評(píng)分規(guī)則表(diagnosis_furnace_rules)中查詢此指標(biāo)對(duì)應(yīng)的所有評(píng)分規(guī)則記錄,根據(jù)評(píng)分規(guī)則記錄確定出本指標(biāo)的起始點(diǎn)和終止點(diǎn)。然后判斷輸入的指標(biāo)數(shù)值所在的區(qū)間,即如果輸入的指標(biāo)數(shù)值超出本指標(biāo)的終止點(diǎn),則得分為終止點(diǎn)對(duì)應(yīng)的分值;如果輸入的指標(biāo)數(shù)值低于本指標(biāo)的起始點(diǎn),則得分為起始點(diǎn)對(duì)應(yīng)的分值,如果指標(biāo)數(shù)值在起始點(diǎn)和終止點(diǎn)之間,則需要利用指標(biāo)數(shù)值在x_start(起點(diǎn))和x_end(終點(diǎn))之間的條件再次查詢?cè)u(píng)分規(guī)則表得到具體的一條評(píng)分記錄,并將評(píng)分記錄的兩個(gè)點(diǎn)(x_start,y_start)和(x_end,y_end)帶入線性函數(shù)[y=kx+b]中求出參數(shù)k和b,最后根據(jù)指標(biāo)數(shù)值得到對(duì)應(yīng)的得分。
2)高爐順行狀態(tài)評(píng)價(jià)實(shí)現(xiàn)
整個(gè)高爐順行狀態(tài)評(píng)價(jià)過(guò)程是在業(yè)務(wù)邏輯控制層通過(guò)定時(shí)任務(wù)實(shí)現(xiàn)的,即每隔1個(gè)小時(shí)對(duì)高爐順行狀態(tài)進(jìn)行評(píng)價(jià)一次。每次評(píng)價(jià)的具體過(guò)程為:首先讀取來(lái)自39個(gè)三級(jí)指標(biāo)的數(shù)值,并對(duì)這39個(gè)三級(jí)指標(biāo)調(diào)用getMark函數(shù)得到每個(gè)指標(biāo)對(duì)應(yīng)的得分。然后讀取權(quán)重表(diagnosis_furnace_weights),計(jì)算出39個(gè)三級(jí)指標(biāo)的權(quán)重分值,從而計(jì)算出5個(gè)二級(jí)指標(biāo)的得分,再分別乘以二級(jí)指標(biāo)的權(quán)重得到二級(jí)指標(biāo)的權(quán)重分值,最后求出一級(jí)指標(biāo)的得分,并將三級(jí)指標(biāo)的數(shù)值、三級(jí)指標(biāo)的得分、二級(jí)指標(biāo)的得分和一級(jí)指標(biāo)的得分保存到評(píng)價(jià)表(diagnosis_furnace_evaluation)中。
3)爐況診斷的界面實(shí)現(xiàn)
爐況診斷界面(見(jiàn)圖1)除了使用Element-ui和echart組件外,每個(gè)二級(jí)指標(biāo)的外圍框、斜線以及高爐圖片上的小圓點(diǎn)都是通過(guò)div加css樣式實(shí)現(xiàn)。首先是這三個(gè)元素的定位均是通過(guò)在父級(jí)div上設(shè)置樣式屬性display為fixed,自身設(shè)置樣式屬性position為relative實(shí)現(xiàn)。然后每個(gè)二級(jí)指標(biāo)外圍框的四個(gè)弧度角通過(guò)設(shè)置樣式屬性border-radius實(shí)現(xiàn)。其次每根斜線通過(guò)設(shè)置樣式屬性transform實(shí)現(xiàn)傾斜,通過(guò)設(shè)置樣式屬性top和left實(shí)現(xiàn)斜線的具體位置。最后高爐圖片上的小圓點(diǎn)是通過(guò)設(shè)置樣式屬性border-radius實(shí)現(xiàn)小圓點(diǎn),通過(guò)設(shè)置樣式屬性top和left實(shí)現(xiàn)小圓點(diǎn)的具體位置。
5 結(jié)束語(yǔ)
本研究從裝料參數(shù)、送風(fēng)參數(shù)、氣流監(jiān)控、出鐵參數(shù)和爐體溫度五方面制定了39個(gè)高爐爐況評(píng)價(jià)指標(biāo),并利用Spring Boot+Vue技術(shù)快速開(kāi)發(fā)出一套爐況評(píng)價(jià)軟件系統(tǒng)。主要優(yōu)點(diǎn)在于:
1)可配置化的權(quán)重模型使其能適應(yīng)不同鋼鐵廠的實(shí)際情況;
2)評(píng)價(jià)規(guī)則可動(dòng)態(tài)設(shè)置使其評(píng)價(jià)更具有科學(xué)性;
3)友好的界面展示給操作人員提供很大的便利。
參考文獻(xiàn):
[1] 徐化冰.高爐爐況評(píng)價(jià)與參數(shù)學(xué)習(xí)系統(tǒng)的設(shè)計(jì)[J].電子制作,2015(2):81.
[2] 張勝男.基于專(zhuān)家知識(shí)與數(shù)據(jù)相結(jié)合的高爐爐況綜合評(píng)價(jià)[D].包頭:內(nèi)蒙古科技大學(xué),2020.
[3] 韋雪文,姜嵐.BIM可視化管理系統(tǒng)的軟件設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2021,17(20):78-80.
[4] 徐雯,高建華.基于Spring MVC及MyBatis的Web應(yīng)用框架研究[J].微型電腦應(yīng)用,2012,28(7):1-4,10.
[5] 韋雪文,高心宇,孫玉輝,等.基于web的城市河流生態(tài)健康評(píng)價(jià)系統(tǒng)設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2017,13(26):92-94.
【通聯(lián)編輯:謝媛媛】