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