辛鳳陽 王忠鑫 田鳳亮 趙 明 曾祥玉 王金金
(1.中煤科工集團沈陽設(shè)計研究院有限公司,遼寧 沈陽 110015;2.東北大學(xué)資源與土木工程學(xué)院,遼寧 沈陽 110004)
露天礦連續(xù)工藝是礦山生產(chǎn)工藝中現(xiàn)場用人少、生產(chǎn)能力大的工藝。由于連續(xù)工藝屬于串聯(lián)作業(yè),單體設(shè)備故障率高,導(dǎo)致工藝整體生產(chǎn)效率較其他工藝低[1,2]。近年來,隨著露天礦系統(tǒng)數(shù)量的增多,系統(tǒng)間業(yè)務(wù)獨立運行,多源異構(gòu)數(shù)據(jù)應(yīng)運而生,但未能實現(xiàn)數(shù)據(jù)共享,不同部門和業(yè)務(wù)間重復(fù)轉(zhuǎn)換和錄入,既造成人員嚴(yán)重浪費,也造成了海量信息資源浪費[3]。為解決連續(xù)工藝此類問題,亟需開發(fā)露天礦連續(xù)工藝一體化管控平臺。應(yīng)國家的號召建設(shè)少人、無人的智能化礦山,各類礦山企業(yè)積極響應(yīng),為推動露天礦智能化建設(shè)進(jìn)程,打通感知數(shù)據(jù)與應(yīng)用系統(tǒng)之間信息屏障的一體化管控平臺需求顯得更加迫切[4]。
考慮到日后方便連續(xù)工藝一體化管控平臺的二次開發(fā)與應(yīng)用,采用前端開發(fā)工具WebStorm和后端開發(fā)工具IDEA(IntelliJ IDEA)分離的開發(fā)方式[5]。利用Chrome瀏覽器測試平臺的平穩(wěn)性和兼容性。開發(fā)環(huán)境如表1所示。
?
(1)Java語言。具有實用性和兼容性兩大優(yōu)點,被廣泛應(yīng)用于Web后端開發(fā)[6]。
(2)Three.js架構(gòu)。three.js三維引擎是基于Web-GL封裝運行,在所有WebGL引擎中,three.js是應(yīng)用最廣泛的三維引擎[7]。實現(xiàn)露天礦連續(xù)工藝設(shè)備三維模型在網(wǎng)頁中進(jìn)行有效加載。
(3)Vue前端頁面技術(shù)。是一套用于構(gòu)建用戶界面的漸進(jìn)式JavaScript框架[8],實現(xiàn)一體化管控平臺的前端頁面功能模塊展示。
(4)High Charts圖表庫。是基于JavaScript編寫的圖表庫,具備直線、柱狀圖等20多種圖表[9],將采集的數(shù)據(jù)利用圖表形式體現(xiàn)說明。
(5)Spring Boot后端框架。是基于Spring4.0設(shè)計,集成大量的框架解決依賴包版本沖突、不穩(wěn)定性等問題[10]。配置方式實現(xiàn)了自動配置,提高開發(fā)效率。
(6)Spring Security安全框架。是基于Spring設(shè)計提供安全訪問控制解決方案的安全框架[11],減少重復(fù)性代碼編輯。
(7)Redis緩存技術(shù)。是一個高性能的鍵值對數(shù)據(jù)庫,支持主從同步技術(shù),數(shù)據(jù)可從主服務(wù)器向任意數(shù)量的從服務(wù)器上同步[12]。
(8)MySQL關(guān)系型數(shù)據(jù)庫。MySQL支持快速開發(fā)、成本低、具有良好的跨平臺性能,并且具有主從集群的性能,適用于一體化管控平臺開發(fā)。
根據(jù)疆納興盛露天礦連續(xù)工藝實際應(yīng)用情況,將一體化管控平臺分為五大功能模塊:數(shù)據(jù)可視化、視頻監(jiān)控、安全預(yù)警、生產(chǎn)報表和基礎(chǔ)檔案。詳細(xì)見圖1所示。
(1)數(shù)據(jù)可視化?;诼短斓V連續(xù)工藝實時運行數(shù)據(jù)采集,將大數(shù)據(jù)進(jìn)行數(shù)據(jù)可視化,系統(tǒng)折線圖產(chǎn)量顯示,實時顯示裝車倉儲等數(shù)據(jù),統(tǒng)計工藝作業(yè)時間,餅狀圖顯示工藝?yán)寐?,折線圖顯示設(shè)備油量消耗數(shù)據(jù)、皮帶電機溫度以及各類設(shè)備安全預(yù)警平臺報告等功能。
(2)視頻監(jiān)控。露天礦現(xiàn)場通過加裝攝像頭,實現(xiàn)連續(xù)工藝整體遠(yuǎn)景監(jiān)控,配合各類設(shè)備自帶的監(jiān)控系統(tǒng),實現(xiàn)連續(xù)工藝整體近景監(jiān)控和俯視監(jiān)控。
(3)安全預(yù)警。采集連續(xù)工藝設(shè)備實時運行數(shù)據(jù),設(shè)定合理閾值和采集設(shè)備原始故障報警信號,實現(xiàn)設(shè)備實時報警、歷史報警列表和歷史報警統(tǒng)計功能。
(4)生產(chǎn)報表。根據(jù)露天礦現(xiàn)場生產(chǎn)報表需求,建立生產(chǎn)日報表、巡查記錄表、人工統(tǒng)計表和交接班記錄表等報表。
(5)基礎(chǔ)檔案。建立礦山基礎(chǔ)檔案,主要包括人員基礎(chǔ)檔案、設(shè)備用油明細(xì)表、設(shè)備基礎(chǔ)檔案和故障基礎(chǔ)檔案。
平臺功能要求高穩(wěn)定性、界面美觀、添加人性化提示,提高平臺的易用性。性能方面添加內(nèi)容緩存、數(shù)據(jù)壓縮等方面,平臺對用戶的操作提供快速的響應(yīng)。
露天礦連續(xù)工藝一體化管控平臺采用現(xiàn)場總線控制系統(tǒng)的設(shè)計思想,采用“全分散”、“全數(shù)字”的系統(tǒng)架構(gòu)[13]。系統(tǒng)由分散過程控制裝置、通信系統(tǒng)和基于操作管理系統(tǒng)組成。平臺系統(tǒng)架構(gòu)如圖2 所示。
(1)分散過程控制裝置。通過避免計算機控制過度集中,能夠有效降低系統(tǒng)發(fā)生故障的風(fēng)險[14]。平臺采用基于控制器光纖局域網(wǎng)總線的現(xiàn)場總線控制系統(tǒng)。多個控制器集成在西門子PLC集控箱,實現(xiàn)分級控制。
(2)通信系統(tǒng)。現(xiàn)場通信系統(tǒng)采用光纖通信,是現(xiàn)場總線控制裝置與操作管理系統(tǒng)之間的傳輸體,用于將現(xiàn)場總線控制裝置采集的輪斗挖掘機、轉(zhuǎn)載機、受料車、皮帶和裝車倉等裝備實時運行狀態(tài)數(shù)據(jù)、監(jiān)控數(shù)據(jù)等傳送到上位機數(shù)據(jù)庫,供操作管理系統(tǒng)數(shù)據(jù)展示和分析使用。
(3)操作管理系統(tǒng)。操作管理系統(tǒng)是系統(tǒng)與操作人員、管理人員間的操作界面,采用B/S(Browser/Server)框架,集成露天礦現(xiàn)場視頻監(jiān)控、安全預(yù)警、生產(chǎn)報表和基礎(chǔ)檔案等系統(tǒng),依據(jù)礦山對工藝的需求,開發(fā)設(shè)備實時運行數(shù)據(jù)可視化等功能模塊,建立初級的露天礦連續(xù)工藝生產(chǎn)數(shù)字孿生體,方便調(diào)度人員實時查看現(xiàn)場數(shù)據(jù)。
系統(tǒng)流程設(shè)計如圖3所示,系統(tǒng)管理后臺通過Nginx來相互轉(zhuǎn)發(fā)所有的請求,請求通過API網(wǎng)關(guān),網(wǎng)關(guān)使用負(fù)債均衡技術(shù),調(diào)用相應(yīng)業(yè)務(wù)服務(wù)接口,業(yè)務(wù)服務(wù)數(shù)據(jù)處理使用了MySQL關(guān)系型數(shù)據(jù)庫和Redis緩存數(shù)據(jù)庫2種數(shù)據(jù)存儲,所有后端業(yè)務(wù)服務(wù)均會使用注冊到注冊中心。
為減少數(shù)據(jù)的冗余性,節(jié)省數(shù)據(jù)庫存儲空間,提高系統(tǒng)的有效反應(yīng)時間,保持?jǐn)?shù)據(jù)庫的輕便性,從而便于數(shù)據(jù)的維護(hù)和更新,采用第三范式對數(shù)據(jù)表進(jìn)行設(shè)計[15,16]。
平臺用戶管理實體之間的聯(lián)系如圖4所示。超級管理員具有為用戶分配部門、職位、功能菜單、角色、班組和班次等信息,用戶可通過超級管理員分配的功能權(quán)限來查看、編輯開放的功能模塊。數(shù)據(jù)庫和后端服務(wù)器部署并運行在第三方云存儲平臺,保證了數(shù)據(jù)庫的可靠性和可用性[17]。
平臺采用基于超級管理員分配賬號的形式,構(gòu)造成“用戶—角色—權(quán)限”的授權(quán)模型,平臺使用Spring Security系統(tǒng)權(quán)限技術(shù)、Spring Security Oauth2系統(tǒng)安全認(rèn)證技術(shù)和Apache Dubbo系統(tǒng)服務(wù)注冊技術(shù)實現(xiàn)平臺的訪問安全性[18]。
采用Vue框架設(shè)計前端,Element UI技術(shù)頁面布局,MVVM(Model-View-ViewModel)前端開發(fā)模式,其架構(gòu)如圖5所示。MVVM開發(fā)模式由2005年微軟架構(gòu)師John Grossman提出。MVVM前端開發(fā)模式是前后端分離框架發(fā)展史上的一次思想變革完全體,其優(yōu)勢主要是低耦合、獨立開發(fā)、可重用和測試四方面特性[19],因此該模式也變得越來越廣泛。
由圖5可知,當(dāng)用戶與View視圖層交互,視圖層將生成指令發(fā)送給ViewModel視圖數(shù)據(jù)層,視圖數(shù)據(jù)層再將指令請求發(fā)送給Model數(shù)據(jù)層,數(shù)據(jù)層中的請求數(shù)據(jù)更新完畢后,反饋給View視圖,視圖層Vue框架設(shè)計實現(xiàn)內(nèi)容和樣式的分離,便于展現(xiàn)和修改。Vue框架將每個頁面通過接口的方式建立各個頁面的通信。最后反饋視圖層數(shù)據(jù),完成用戶的請求。圖6為平臺傳送數(shù)據(jù)的示例。
基于Spring Boot系統(tǒng)底層開發(fā)技術(shù)開發(fā)后端程序,使用數(shù)據(jù)訪問層、業(yè)務(wù)層和表示層3層架構(gòu)[20]。
(1)數(shù)據(jù)訪問層,利用Spring Data數(shù)據(jù)訪問技術(shù)訪問MySQL數(shù)據(jù)庫,向數(shù)據(jù)庫發(fā)送SQL語句,完成數(shù)據(jù)的增刪改查任務(wù)。
(2)業(yè)務(wù)層,即為Service層,主要是完成功能設(shè)計,通過數(shù)據(jù)接口間接對數(shù)據(jù)庫進(jìn)行操作,為表示層提供調(diào)用的方法,調(diào)用數(shù)據(jù)訪問層接口,將返回的數(shù)據(jù)反饋給業(yè)務(wù)層。
(3)表示層也稱之為Model層,存放的是實體類,屬性值與數(shù)據(jù)庫中的屬性值保持一致,調(diào)用業(yè)務(wù)層接口,與前端頁面實現(xiàn)交互功能。
平臺開發(fā)完成之后,應(yīng)用在Chrome瀏覽器經(jīng)過測試并無異常,頁面顯示以及與用戶交互方面,與需求一致。平臺功能模塊界面如圖7~圖12所示。
(1)論述了基于BS架構(gòu)開發(fā)技術(shù)的露天礦連續(xù)工藝一體化管控平臺的設(shè)計與實現(xiàn),結(jié)合疆納露天礦連續(xù)工藝當(dāng)前需求現(xiàn)狀,整理并介紹了礦山亟需功能,搭建了露天礦連續(xù)工藝一體化管控平臺系統(tǒng)架構(gòu)圖,為平臺開發(fā)奠定良好的基礎(chǔ)。
(2)根據(jù)功能需求和系統(tǒng)設(shè)計,選取合適的開發(fā)工具和設(shè)計數(shù)據(jù)表,以減少數(shù)據(jù)的冗余性和節(jié)省空間。通過使用緩存技術(shù)、數(shù)據(jù)壓縮和改進(jìn)頁面渲染等方式提升平臺性能。
(3)經(jīng)過Chrome瀏覽器測試,平臺運行順暢,達(dá)到了用戶的需求,但是由于露天礦三維模型需做輕量化處理來實現(xiàn)初級的連續(xù)工藝數(shù)字孿生體,下一步擬采用BIM+GIS技術(shù)來實現(xiàn)連續(xù)工藝數(shù)字孿生技術(shù)。