熊 曙,王 華,羅 路
(中國葛洲壩集團裝備工業(yè)有限公司,武漢 430000)
發(fā)電機組智能化云服務(wù)平臺是建立在物聯(lián)網(wǎng)技術(shù)上的一種新型智能裝備在線管理應(yīng)用,它可以在手機或電腦等終端設(shè)備上實現(xiàn)遠程監(jiān)測和控制、健康監(jiān)測、故障預(yù)防、運行數(shù)據(jù)記錄等功能,達到產(chǎn)品設(shè)備從出廠組裝、安裝調(diào)試、運行監(jiān)控、服務(wù)運維的全過程信息化的目的,實現(xiàn)裝備的全生命周期維護和管理。
可編程的數(shù)據(jù)采集終端實時采集裝備運行數(shù)據(jù),采集傳輸周期最快可達1秒/次。數(shù)據(jù)采集終端通過2G/4G/WIFI/LAN網(wǎng)絡(luò)將數(shù)據(jù)傳輸至云服務(wù)器,供用戶在WEB端、APP端和大屏上查看運行數(shù)據(jù)及下發(fā)控制指令。同時,數(shù)據(jù)采集終端中可自定義故障報警限值,實現(xiàn)故障信息的識別和信息推送[1]。數(shù)據(jù)上傳至云服務(wù)器后,通過系統(tǒng)的統(tǒng)計計算功能,對設(shè)備的運行數(shù)據(jù)進行實時分析計算,得出其健康指數(shù)、耗油量、發(fā)電量、能耗比等性能指標。系統(tǒng)中的運行維護模塊可根據(jù)機組的運行數(shù)據(jù)自動生成維護信息并發(fā)出提醒,可實現(xiàn)發(fā)電機組的故障預(yù)測。為了滿足其他能源裝備接入及個性化需求,本系統(tǒng)在保障安全、穩(wěn)定運行的前提下,開放了硬件接口和數(shù)據(jù)接口,使其具備多能源系統(tǒng)接入、用戶個性化定制和公司內(nèi)數(shù)據(jù)共享的基礎(chǔ)。
云平臺的架構(gòu)是保證整個平臺安全、穩(wěn)定、可靠運行的基礎(chǔ),在可以根據(jù)需求進行擴展、搭建個性化應(yīng)用、提供彈性服務(wù)的同時,也可以避免因部分應(yīng)用出現(xiàn)異常導(dǎo)致整個系統(tǒng)癱瘓。在用戶量不斷增大的情況下,云平臺能夠穩(wěn)定工作,支撐高并發(fā)的實時數(shù)據(jù)交互,并提供最新的平臺應(yīng)用[2]。
平臺采用微服務(wù)架構(gòu),將單一應(yīng)用進行拆分,使得一組細粒度的服務(wù)圍繞業(yè)務(wù)能力組織,并且能夠根據(jù)自動部署機制獨立部署,相互之間通過輕量級通信機制協(xié)作,為用戶提供應(yīng)用服務(wù)。對于具體服務(wù)而言,可以根據(jù)需要采用合適的語言和工具進行開發(fā),不必局限于特定語言和工具。單個服務(wù)的粒度變小,使得代碼更容易開發(fā)和理解,服務(wù)可維護性和擴展性也大大增加。由于服務(wù)的獨立性,更新單個微服務(wù)不會影響到其他微服務(wù)的運行,也更容易進行微服務(wù)的性能容量評價。配合服務(wù)間的調(diào)用協(xié)作流程也更容易定位系統(tǒng)出現(xiàn)瓶頸的位置,從而及時對系統(tǒng)進行擴容,提高系統(tǒng)性能。WEB服務(wù)器流程圖和平臺應(yīng)用架構(gòu)如圖1和圖2所示。
圖1 WEB服務(wù)器流程圖
圖2 平臺應(yīng)用架構(gòu)
數(shù)據(jù)解析過程使用的是HTTP協(xié)議和TCP連接,解析用戶命令并將數(shù)據(jù)發(fā)送到平臺,完成數(shù)據(jù)命令的適配。在網(wǎng)關(guān)傳輸指令協(xié)議中,使用JSON格式進行數(shù)據(jù)封裝和解析,通過網(wǎng)關(guān)解析器進行解析,調(diào)用云服務(wù)中的人機服務(wù)和編譯服務(wù),完成一整套數(shù)據(jù)業(yè)務(wù)。
開發(fā)的云平臺系統(tǒng)中,需要選擇優(yōu)良的通信協(xié)議完成設(shè)備和云服務(wù)器之間的數(shù)據(jù)通信,協(xié)議的選取有如下要求:1)協(xié)議要能夠完成設(shè)備和服務(wù)端的雙向通信;2)需要保證數(shù)據(jù)發(fā)送不占用過多的帶寬,因為物聯(lián)網(wǎng)設(shè)備所處環(huán)境復(fù)雜,網(wǎng)絡(luò)訪問不通暢;3)穩(wěn)定,能夠維持長連接,不會產(chǎn)生斷連、虛連接的情況。
平臺選擇MQTT作為數(shù)據(jù)傳輸協(xié)議。MQTT基于二進制數(shù)據(jù)傳輸,占用帶寬少,有自定義的標簽庫,組裝數(shù)據(jù)可靠,具備重連機制,并且擁有可擴展、用戶授權(quán)、服務(wù)端身份驗證、異常檢測、心跳配置等功能。
平臺的目標是可接入公司所有的高端裝備,而現(xiàn)場高端裝備情況復(fù)雜,一是系統(tǒng)種類繁多,二是同類系統(tǒng)的規(guī)格、型號和生產(chǎn)廠商也有較大區(qū)別,因此兼容多種通信協(xié)議且具備遠程升級能力的數(shù)據(jù)采集終端是實現(xiàn)廣泛接入的核心要素。
目前,無線網(wǎng)關(guān)的設(shè)計主要使用入網(wǎng)模塊和主控制芯片MCU,入網(wǎng)模塊是幫助設(shè)備連入網(wǎng)絡(luò)的穩(wěn)定模塊,MCU模塊與入網(wǎng)模塊通信,并且支持外部通信的接入。無線網(wǎng)管的硬件結(jié)構(gòu)如圖 3所示。
圖3 無線網(wǎng)關(guān)結(jié)構(gòu)
從圖3可以看到,MCU和無線通信模塊的部分硬件功能重疊。因此,項目充分利用無線通信模塊的資源,將原本需要外部MCU完成的程序移植內(nèi)嵌到無線模塊內(nèi)部,大大簡化了硬件的結(jié)構(gòu),降低了硬件成本。利用RTOS的多線程、消息等技術(shù),高效完成APP開發(fā);利用硬件的API接口,實現(xiàn)與設(shè)備的通信。數(shù)據(jù)采集終端結(jié)構(gòu)如圖4所示。
圖4 數(shù)據(jù)采集終端結(jié)構(gòu)
同時,考慮到新設(shè)備接入,對數(shù)據(jù)采集終端進行適配時,需要將終端安裝到計算機的IDE開發(fā)環(huán)境進行編程,PC端還需針對設(shè)備完成串口驅(qū)動安裝、環(huán)境變量配置等操作。
在云服務(wù)器上進行了在線升級系統(tǒng)的發(fā)開,在云平臺中完成了交叉編譯GCC工具鏈的移植,在數(shù)據(jù)采集終端通過 YModem協(xié)議實現(xiàn)了 OTA無線升級,從而實現(xiàn)了服務(wù)器完成后端的編譯指令解析和硬件遠程下載升級的功能。
在云服務(wù)平臺中,數(shù)據(jù)庫作為人機和設(shè)備數(shù)據(jù)之間的中間件,需要符合可靠存儲和快速查詢的要求。系統(tǒng)使用Redis-MySQL二級緩存、Nginx負載均衡、服務(wù)器架構(gòu)分離等優(yōu)化處理[3],確保了數(shù)據(jù)的實時性和控制命令下發(fā)的時效性。系統(tǒng)增加了時間控制模塊,以校正數(shù)據(jù)采集終端的時間。
為了在最大化利用平臺硬件資源的同時提高數(shù)據(jù)讀寫速度,平臺采用NoSQL中的Redis作為MySQL的數(shù)據(jù)緩存。在進行數(shù)據(jù)查詢時,首先查找Redis數(shù)據(jù)庫,若找到則返回查詢結(jié)果;如未查詢到結(jié)果,則在MySQL數(shù)據(jù)庫中查詢,返回結(jié)果并更新Redis中的數(shù)據(jù),從而大幅提高了查詢速度。寫入時則直接寫入MySQL數(shù)據(jù)庫,通過觸發(fā)器(trigger)及自定義函數(shù)(UDF)將變更的內(nèi)容更新到Redis數(shù)據(jù)庫中。數(shù)據(jù)讀寫流程如圖5所示。
圖5 數(shù)據(jù)讀寫流程圖
結(jié)合設(shè)備故障分析和檢修經(jīng)驗,平臺采用數(shù)據(jù)挖掘算法和相似度曲線預(yù)警方法,對能源系統(tǒng)的海量實時數(shù)據(jù)進行挖掘、故障建模、狀態(tài)分析和潛在故障預(yù)警。
在云服務(wù)平臺采集到足夠多的設(shè)備運行數(shù)據(jù)后,通過分析系統(tǒng)運行過程中產(chǎn)生的海量歷史數(shù)據(jù),抽取出系統(tǒng)設(shè)備各相關(guān)參數(shù)之間的耦合關(guān)聯(lián),進而通過與系統(tǒng)設(shè)備的故障模型對比,識別系統(tǒng)設(shè)備當(dāng)前的運行狀態(tài)與正常運行狀態(tài)之間的差異,得出系統(tǒng)健康狀態(tài)及維護建議[4]。故障診斷系統(tǒng)流程如圖6所示。
圖6 故障診斷系統(tǒng)流程
以設(shè)備的歷史運行數(shù)據(jù)為基礎(chǔ),在健康管理組件中定義系統(tǒng)故障模型中各項參數(shù)的屬性,自動采集系統(tǒng)的歷史數(shù)據(jù)并分析系統(tǒng)在各種工況下各參數(shù)之間的關(guān)聯(lián)性,創(chuàng)建能源系統(tǒng)實時動態(tài)故障診斷模型。
能源系統(tǒng)運行時,故障診斷系統(tǒng)從數(shù)據(jù)服務(wù)器實時獲取系統(tǒng)當(dāng)前運行參數(shù),通過系統(tǒng)故障診斷模型對比計算當(dāng)前系統(tǒng)運行狀態(tài)與同工況下各歷史安全狀態(tài)的相似度,并通過一組相似度值生成相似度曲線,反映系統(tǒng)整體狀態(tài)的安全變化情況。系統(tǒng)根據(jù)相似度的偏離量實時輸出一個代表設(shè)備在線安全狀態(tài)的健康指數(shù)。實時健康分析界面如圖7所示。
圖7 實時健康分析界面
本平臺系統(tǒng)已在公司服務(wù)器上完成部署,并接入某住宅小區(qū)項目的帕金斯 4016柴油機組進行試運行,以實現(xiàn)該機組信息的實時在線顯示和遠程控制。
用戶通過平臺可下發(fā)多種類型的控制命令,包括啟停機、運行模式切換、修改設(shè)定值等,經(jīng)過系統(tǒng)配置,可就地控制各種功能。設(shè)備監(jiān)控界面如圖8所示,控制指令下發(fā)界面圖9所示。
手機端采用扁平化設(shè)計,如圖10所示。用戶可快速了解機組的異常報警,接受任務(wù)通知,創(chuàng)建維保、檢修、巡檢等工作任務(wù),如圖10所示。
卡片式管理和維護客戶、項目、設(shè)備的基礎(chǔ)信息、組件信息和額定參數(shù),可避免因人員變動、管理不善導(dǎo)致的資料丟失,客戶信息管理界面、項目信息管理界面和設(shè)備信息管理界面分別如圖11、圖12和圖13所示。
平臺保存設(shè)備所有的歷史運行記錄,并將其保存在云服務(wù)器中,用戶可隨時查看和導(dǎo)出歷史數(shù)據(jù),并分析運行數(shù)據(jù)趨勢。運行數(shù)據(jù)查詢和導(dǎo)出界面如圖14所示,運行數(shù)據(jù)趨勢圖如圖15所示。
圖8 設(shè)備監(jiān)控界面
圖9 控制指令下發(fā)界面
圖10 手機端應(yīng)用程序界面
圖11 客戶信息管理界面
圖12 項目信息管理界面
圖13 設(shè)備信息管理界面
圖14 運行數(shù)據(jù)查詢和導(dǎo)出界面
圖15 運行數(shù)據(jù)趨勢圖
平臺可對所有接入的設(shè)備進行統(tǒng)計分析,如年利用小時數(shù)、故障率、開機率等。平臺支持工程常用的數(shù)值統(tǒng)計和計算,用戶可自定義統(tǒng)計對象、統(tǒng)計方法和統(tǒng)計區(qū)間,系統(tǒng)自動完成統(tǒng)計和計算,并將結(jié)果輸出至監(jiān)控畫面和報警列表。
運維管理組件可編輯一系列基本規(guī)則。針對不同種類的設(shè)備進行組合,在達到預(yù)定的運行周期后,對用戶推送維保任務(wù)。用戶在完成維保后,可上傳視頻、照片等完工證明材料以結(jié)束任務(wù),從而實現(xiàn)了維保任務(wù)的閉環(huán)管理。
1)基于物聯(lián)網(wǎng)技術(shù)建立了一套發(fā)電機組云控制管理系統(tǒng)平臺;實現(xiàn)了數(shù)據(jù)高速、實時采集和處理,故障信息動態(tài)存儲,控制器數(shù)據(jù)云傳輸;完成了發(fā)電機組故障模型和故障預(yù)測算法的開發(fā)。
2)在發(fā)電機組和制冷機組上完成了應(yīng)用驗證,大大降低了機組運行維護的人力、物力成本。
3)因公司服務(wù)器資源較為緊張,目前采用單臺云服務(wù)器部署本系統(tǒng),數(shù)據(jù)采集和應(yīng)用軟件沒有獨立,應(yīng)用層如占用系統(tǒng)資源過多,可能導(dǎo)致數(shù)據(jù)采集和存儲出現(xiàn)異常。由于沒有獨立的備份服務(wù)器,存在數(shù)據(jù)丟失的風(fēng)險。平臺研發(fā)過程中,考慮到大量用戶和設(shè)備同時接入的情況,采取優(yōu)先滿足大多數(shù)用戶需求的策略,即為了防止服務(wù)器壓力過大,對部分功能進行了限制。后續(xù)研發(fā)過程中,會對此問題加以優(yōu)化和完善。