朱鋒
摘 ? 要:針對(duì)火電SIS系統(tǒng)應(yīng)用的特點(diǎn), 通過(guò)對(duì)具體業(yè)務(wù)需求進(jìn)行分析設(shè)計(jì),采用Spring Boot 和Vue框架進(jìn)行系統(tǒng)實(shí)現(xiàn)。該系統(tǒng)有效地增強(qiáng)了機(jī)組運(yùn)行的安全性、經(jīng)濟(jì)性和可靠性,實(shí)現(xiàn)了整個(gè)電廠信息共享和管控一體化,提升了發(fā)電廠的整體效益和現(xiàn)代化管理水平。
關(guān)鍵詞:Spring Boot ?Vue ?火電SIS
中圖分類號(hào):TP39 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A ? ? ? ? ? ? ? ? ? ? ? ?文章編號(hào):1674-098X(2019)09(b)-0036-02
火電廠級(jí)監(jiān)視信息系統(tǒng)(Supervisory Information System in Plant Level,簡(jiǎn)稱SIS)是集實(shí)時(shí)監(jiān)測(cè)、優(yōu)化控制及生產(chǎn)管理為一體的電廠自動(dòng)化系統(tǒng)[1]?;痣奡IS系統(tǒng)通過(guò)對(duì)火電廠生產(chǎn)過(guò)程的實(shí)時(shí)監(jiān)測(cè)和分析,提供全廠完整的生產(chǎn)過(guò)程實(shí)時(shí)和歷史數(shù)據(jù),實(shí)現(xiàn)對(duì)全廠生產(chǎn)過(guò)程的優(yōu)化控制和負(fù)荷優(yōu)化調(diào)度,指導(dǎo)電廠機(jī)組的優(yōu)化運(yùn)行, 提高電廠的運(yùn)營(yíng)效益。
本文以火電SIS系統(tǒng)業(yè)務(wù)需求為牽引,基于 Spring Boot框架和Vue框架進(jìn)行系統(tǒng)實(shí)現(xiàn),提供良好的人機(jī)交互,通過(guò)實(shí)時(shí)分析機(jī)組運(yùn)行參數(shù),對(duì)數(shù)據(jù)進(jìn)行挖掘、處理與優(yōu)化,實(shí)現(xiàn)對(duì)機(jī)組運(yùn)行狀況進(jìn)行準(zhǔn)確的分析、診斷和優(yōu)化,保證了機(jī)組安全經(jīng)濟(jì)的運(yùn)行。
1 ?關(guān)鍵技術(shù)
1.1 Spring Boot框架簡(jiǎn)介
Spring Boot框架是2013年由Pivotal團(tuán)隊(duì)提出的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用初始搭建、樣板 化配置、快速開(kāi)發(fā)調(diào)試及部署過(guò)程[2]。
Spring Boot遵循了“約定優(yōu)于配置”的原則,可以極大地簡(jiǎn)化Spring配置流程,可用于多層架構(gòu)體系的模型業(yè)務(wù)層,實(shí)現(xiàn)模塊之間的“高內(nèi)聚、低耦合”,從而成為業(yè)界流行的開(kāi)發(fā)框架。
Spring Boot主框架要具有以下特點(diǎn)。
(1)可以Jar包的形式獨(dú)立運(yùn)行。
(2)內(nèi)嵌Servlet容器無(wú)須以War包部署項(xiàng)目。
(3)提供Starter簡(jiǎn)化Maven配置。
(4自動(dòng)配置Spring。
(5)提供生產(chǎn)指標(biāo),健壯檢查和外部化配置。
(6)無(wú)代碼生成和XML配置。
1.2 Vue框架簡(jiǎn)介
Vue是一套構(gòu)建用戶界面的漸進(jìn)式框架,只關(guān)注視圖層, 采用自底向上增量開(kāi)發(fā)的設(shè)計(jì),它的目標(biāo)是通過(guò)盡可能簡(jiǎn)單的API實(shí)現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件。
Vue框架采用MVVM模式,能夠?qū)?shù)據(jù)的變化顯示并反映出來(lái),這種效果是建立在對(duì)數(shù)據(jù)的雙向綁定上,最終將其變化映射到虛擬DOM上[3]。
Vue主框架主要具有以下特點(diǎn):
(1)編碼簡(jiǎn)潔,體積小,運(yùn)行效率高。
(2)只關(guān)注視圖層,易于與第三方庫(kù)整合。
2 ?系統(tǒng)功能模塊分析
火電SIS系統(tǒng)應(yīng)用模塊包括實(shí)時(shí)監(jiān)控、數(shù)據(jù)分析、異常告警、性能計(jì)算、耗差分析、生產(chǎn)報(bào)表、啟停監(jiān)管和系統(tǒng)管理等模塊。
(1)實(shí)時(shí)監(jiān)控:實(shí)時(shí)監(jiān)控主要展示全廠各機(jī)組設(shè)備的生產(chǎn)實(shí)時(shí)畫面,通過(guò)在實(shí)時(shí)監(jiān)控模塊中選擇各機(jī)組下屬的系統(tǒng)或設(shè)備,查看相應(yīng)系統(tǒng)或設(shè)備的實(shí)時(shí)監(jiān)控畫面。
(2)數(shù)據(jù)分析:包括趨勢(shì)分析和曲線擬合等功能。趨勢(shì)分析功能根據(jù)測(cè)點(diǎn)名標(biāo)簽描述等進(jìn)行精確查詢,實(shí)現(xiàn)方便快捷的參數(shù)歷史趨勢(shì)調(diào)用,并生成參數(shù)曲線便于分析診斷;曲線擬合主要實(shí)現(xiàn)對(duì)機(jī)組兩個(gè)測(cè)點(diǎn)在規(guī)定負(fù)荷范圍內(nèi)同一時(shí)刻的離散點(diǎn)查詢和公式擬合。
(3)異常告警:異常告警主要展示電廠機(jī)組的告警信息,達(dá)到及時(shí)準(zhǔn)確掌握機(jī)組運(yùn)行狀態(tài)的目的。重大異常以彈窗形式展示同時(shí)支持其歷史趨勢(shì)詳情追溯,提醒現(xiàn)場(chǎng)人員及時(shí)進(jìn)行查看和處理,為故障預(yù)警提供技術(shù)支持和數(shù)據(jù)支撐。
(4)性能計(jì)算:指標(biāo)匯總頁(yè)面展示電廠各機(jī)組主要性能指標(biāo),并可根據(jù)用戶的需求進(jìn)行自定義展示指標(biāo)。指標(biāo)追溯功能展示指標(biāo)的計(jì)算流程和計(jì)算模型,對(duì)各部分計(jì)算結(jié)果進(jìn)行追溯。
(5)耗差分析:包括耗差告警和能損分析等功能。
耗差告警通過(guò)實(shí)時(shí)監(jiān)測(cè)機(jī)組耗差超限情況,一旦監(jiān)測(cè)到指標(biāo)耗差超標(biāo),通過(guò)顏色變化來(lái)表示耗差超標(biāo)程度;能損分析實(shí)現(xiàn)對(duì)機(jī)組的可控耗差、不可控耗差的實(shí)時(shí)計(jì)算和展示。
(6)生產(chǎn)報(bào)表:生產(chǎn)報(bào)表主要用于對(duì)全廠機(jī)組運(yùn)行參數(shù)、全廠機(jī)組經(jīng)濟(jì)參數(shù)進(jìn)行統(tǒng)計(jì),并以報(bào)表的形式進(jìn)行展示。主要包括生產(chǎn)運(yùn)行報(bào)表、性能計(jì)算報(bào)表和耗差報(bào)表等。
(7)啟停監(jiān)管:?jiǎn)⑼C(jī)監(jiān)視通過(guò)手動(dòng)觸發(fā)/終止來(lái)實(shí)現(xiàn)啟停機(jī)過(guò)程的實(shí)時(shí)監(jiān)視,全面展示啟停機(jī)過(guò)程各個(gè)重要時(shí)間節(jié)點(diǎn)下重要指標(biāo)實(shí)時(shí)值和趨勢(shì)信息,實(shí)現(xiàn)對(duì)啟停機(jī)過(guò)程所有重要設(shè)備狀態(tài)全面實(shí)時(shí)掌握。
(8)系統(tǒng)管理:主要包括用戶管理、菜單管理、角色管理、權(quán)限管理、組織機(jī)構(gòu)管理、日志管理和字典管理等功能,實(shí)現(xiàn)用戶對(duì)系統(tǒng)權(quán)限等功能的基本管理。
3 ?系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
為了保證火電SIS系統(tǒng)的高可用性與高擴(kuò)展性,平臺(tái)采用層次化設(shè)計(jì)框架,平臺(tái)總體框架由四部分組成:數(shù)據(jù)倉(cāng)儲(chǔ)層、業(yè)務(wù)邏輯層、數(shù)據(jù)接口層和表現(xiàn)層??傮w框架如圖1所示。
(1)數(shù)據(jù)倉(cāng)儲(chǔ)層:系統(tǒng)數(shù)據(jù)庫(kù)包括業(yè)務(wù)數(shù)據(jù)庫(kù)(支持MYSQL、DB2、MSSQL和ORACLE等),實(shí)時(shí)數(shù)據(jù)庫(kù)(支持PI、SMARTREAL和EDNA等)和緩存數(shù)據(jù)庫(kù)Redis。在Spring boot框架基礎(chǔ)上,關(guān)系庫(kù)倉(cāng)儲(chǔ)層采用Druid連接池和Mybtais-plus中間件進(jìn)行數(shù)據(jù)訪問(wèn),采用CQRS讀寫分離架構(gòu),并支持動(dòng)態(tài)多數(shù)據(jù)源;實(shí)時(shí)數(shù)據(jù)庫(kù)通過(guò)各庫(kù)廠家提供的JDBC驅(qū)動(dòng)進(jìn)行訪問(wèn),并采用雙機(jī)熱備策略,保證實(shí)時(shí)數(shù)據(jù)庫(kù)的高可用性;緩存數(shù)據(jù)庫(kù)Redis采用Spring data redis 和 Lettuce包進(jìn)行實(shí)現(xiàn),并采用“一主二從三哨兵”策略, 保證緩存服務(wù)的穩(wěn)定性與高可用性。
(2)業(yè)務(wù)邏輯層:主要對(duì)系統(tǒng)各業(yè)務(wù)模塊按照具體的業(yè)務(wù)邏輯進(jìn)行相應(yīng)的實(shí)現(xiàn),主要包括業(yè)務(wù)服務(wù), 基礎(chǔ)服務(wù)和實(shí)時(shí)數(shù)據(jù)服務(wù)的具體邏輯實(shí)現(xiàn)等。業(yè)務(wù)服務(wù)和實(shí)時(shí)數(shù)據(jù)服務(wù)實(shí)現(xiàn)是基于Spring Boot框架,主要采用Java 8 Stream API進(jìn)行開(kāi)發(fā),可以對(duì)大批量數(shù)據(jù)量進(jìn)行各種高效的聚合操作等;基礎(chǔ)服務(wù)的核心模塊權(quán)限服務(wù)基于OAuth2協(xié)議并采用Spring Security框架進(jìn)行實(shí)現(xiàn),使用JWT實(shí)現(xiàn)token認(rèn)證,實(shí)現(xiàn)系統(tǒng)的認(rèn)證授權(quán)。
(3)數(shù)據(jù)接口層:主要包括業(yè)務(wù)數(shù)據(jù)接口、基礎(chǔ)服務(wù)接口和實(shí)時(shí)服務(wù)接口等。系統(tǒng)接口均遵循Restful風(fēng)格,采用Json作為數(shù)據(jù)交互格式,運(yùn)用Fastjson組件實(shí)現(xiàn)數(shù)據(jù)的序列化與反序列化,供各種客戶端調(diào)用。
(4)表現(xiàn)層:基于Element UI的Vue框架,選取ES6、CSS3和HTML5為開(kāi)發(fā)語(yǔ)言進(jìn)行組件化開(kāi)發(fā),使用Axios對(duì)后臺(tái)接口進(jìn)行訪問(wèn);并采用響應(yīng)式布局,同時(shí)支持PC端和移動(dòng)端。此外,系統(tǒng)所有組態(tài)圖采用SVG進(jìn)行展示,具有美觀、輕量和自適應(yīng)等優(yōu)點(diǎn)。
4 ?結(jié)語(yǔ)
本文通過(guò)采用Spring Boot和Vue等相關(guān)框架,結(jié)合火電SIS系統(tǒng)的具體需求進(jìn)行分析設(shè)計(jì),最終實(shí)現(xiàn)了一個(gè)具有實(shí)時(shí)、準(zhǔn)確、可靠和安全等特點(diǎn)的SIS系統(tǒng),對(duì)電廠安全經(jīng)濟(jì)生產(chǎn)運(yùn)營(yíng)具有重要指導(dǎo)意義。
參考文獻(xiàn)
[1] 魏鑫剛.以火電廠SIS系統(tǒng)為基礎(chǔ)的實(shí)時(shí)數(shù)據(jù)庫(kù)應(yīng)用探討[J].中國(guó)新通信,2018,20(11):106.
[2] 呂宇琛.Spring Boot框架在web應(yīng)用開(kāi)發(fā)中的探討[J]. 科技創(chuàng)新導(dǎo)報(bào),2018(8):168-169.
[3] 楊妍.基于Spring Boot與Vue的系統(tǒng)管理模塊開(kāi)發(fā)探究[J].電聲技術(shù),2019,43(2):32-34.