熊 曙,王 華,羅 路
(中國葛洲壩集團裝備工業有限公司,武漢 430000)
發電機組智能化云服務平臺是建立在物聯網技術上的一種新型智能裝備在線管理應用,它可以在手機或電腦等終端設備上實現遠程監測和控制、健康監測、故障預防、運行數據記錄等功能,達到產品設備從出廠組裝、安裝調試、運行監控、服務運維的全過程信息化的目的,實現裝備的全生命周期維護和管理。
可編程的數據采集終端實時采集裝備運行數據,采集傳輸周期最快可達1秒/次。數據采集終端通過2G/4G/WIFI/LAN網絡將數據傳輸至云服務器,供用戶在WEB端、APP端和大屏上查看運行數據及下發控制指令。同時,數據采集終端中可自定義故障報警限值,實現故障信息的識別和信息推送[1]。數據上傳至云服務器后,通過系統的統計計算功能,對設備的運行數據進行實時分析計算,得出其健康指數、耗油量、發電量、能耗比等性能指標。系統中的運行維護模塊可根據機組的運行數據自動生成維護信息并發出提醒,可實現發電機組的故障預測。為了滿足其他能源裝備接入及個性化需求,本系統在保障安全、穩定運行的前提下,開放了硬件接口和數據接口,使其具備多能源系統接入、用戶個性化定制和公司內數據共享的基礎。
云平臺的架構是保證整個平臺安全、穩定、可靠運行的基礎,在可以根據需求進行擴展、搭建個性化應用、提供彈性服務的同時,也可以避免因部分應用出現異常導致整個系統癱瘓。在用戶量不斷增大的情況下,云平臺能夠穩定工作,支撐高并發的實時數據交互,并提供最新的平臺應用[2]。
平臺采用微服務架構,將單一應用進行拆分,使得一組細粒度的服務圍繞業務能力組織,并且能夠根據自動部署機制獨立部署,相互之間通過輕量級通信機制協作,為用戶提供應用服務。對于具體服務而言,可以根據需要采用合適的語言和工具進行開發,不必局限于特定語言和工具。單個服務的粒度變小,使得代碼更容易開發和理解,服務可維護性和擴展性也大大增加。由于服務的獨立性,更新單個微服務不會影響到其他微服務的運行,也更容易進行微服務的性能容量評價。配合服務間的調用協作流程也更容易定位系統出現瓶頸的位置,從而及時對系統進行擴容,提高系統性能。WEB服務器流程圖和平臺應用架構如圖1和圖2所示。

圖1 WEB服務器流程圖

圖2 平臺應用架構
數據解析過程使用的是HTTP協議和TCP連接,解析用戶命令并將數據發送到平臺,完成數據命令的適配。在網關傳輸指令協議中,使用JSON格式進行數據封裝和解析,通過網關解析器進行解析,調用云服務中的人機服務和編譯服務,完成一整套數據業務。
開發的云平臺系統中,需要選擇優良的通信協議完成設備和云服務器之間的數據通信,協議的選取有如下要求:1)協議要能夠完成設備和服務端的雙向通信;2)需要保證數據發送不占用過多的帶寬,因為物聯網設備所處環境復雜,網絡訪問不通暢;3)穩定,能夠維持長連接,不會產生斷連、虛連接的情況。
平臺選擇MQTT作為數據傳輸協議。MQTT基于二進制數據傳輸,占用帶寬少,有自定義的標簽庫,組裝數據可靠,具備重連機制,并且擁有可擴展、用戶授權、服務端身份驗證、異常檢測、心跳配置等功能。
平臺的目標是可接入公司所有的高端裝備,而現場高端裝備情況復雜,一是系統種類繁多,二是同類系統的規格、型號和生產廠商也有較大區別,因此兼容多種通信協議且具備遠程升級能力的數據采集終端是實現廣泛接入的核心要素。
目前,無線網關的設計主要使用入網模塊和主控制芯片MCU,入網模塊是幫助設備連入網絡的穩定模塊,MCU模塊與入網模塊通信,并且支持外部通信的接入。無線網管的硬件結構如圖 3所示。

圖3 無線網關結構
從圖3可以看到,MCU和無線通信模塊的部分硬件功能重疊。因此,項目充分利用無線通信模塊的資源,將原本需要外部MCU完成的程序移植內嵌到無線模塊內部,大大簡化了硬件的結構,降低了硬件成本。利用RTOS的多線程、消息等技術,高效完成APP開發;利用硬件的API接口,實現與設備的通信。數據采集終端結構如圖4所示。

圖4 數據采集終端結構
同時,考慮到新設備接入,對數據采集終端進行適配時,需要將終端安裝到計算機的IDE開發環境進行編程,PC端還需針對設備完成串口驅動安裝、環境變量配置等操作。
在云服務器上進行了在線升級系統的發開,在云平臺中完成了交叉編譯GCC工具鏈的移植,在數據采集終端通過 YModem協議實現了 OTA無線升級,從而實現了服務器完成后端的編譯指令解析和硬件遠程下載升級的功能。
在云服務平臺中,數據庫作為人機和設備數據之間的中間件,需要符合可靠存儲和快速查詢的要求。系統使用Redis-MySQL二級緩存、Nginx負載均衡、服務器架構分離等優化處理[3],確保了數據的實時性和控制命令下發的時效性。系統增加了時間控制模塊,以校正數據采集終端的時間。
為了在最大化利用平臺硬件資源的同時提高數據讀寫速度,平臺采用NoSQL中的Redis作為MySQL的數據緩存。在進行數據查詢時,首先查找Redis數據庫,若找到則返回查詢結果;如未查詢到結果,則在MySQL數據庫中查詢,返回結果并更新Redis中的數據,從而大幅提高了查詢速度。寫入時則直接寫入MySQL數據庫,通過觸發器(trigger)及自定義函數(UDF)將變更的內容更新到Redis數據庫中。數據讀寫流程如圖5所示。

圖5 數據讀寫流程圖
結合設備故障分析和檢修經驗,平臺采用數據挖掘算法和相似度曲線預警方法,對能源系統的海量實時數據進行挖掘、故障建模、狀態分析和潛在故障預警。
在云服務平臺采集到足夠多的設備運行數據后,通過分析系統運行過程中產生的海量歷史數據,抽取出系統設備各相關參數之間的耦合關聯,進而通過與系統設備的故障模型對比,識別系統設備當前的運行狀態與正常運行狀態之間的差異,得出系統健康狀態及維護建議[4]。故障診斷系統流程如圖6所示。

圖6 故障診斷系統流程
以設備的歷史運行數據為基礎,在健康管理組件中定義系統故障模型中各項參數的屬性,自動采集系統的歷史數據并分析系統在各種工況下各參數之間的關聯性,創建能源系統實時動態故障診斷模型。
能源系統運行時,故障診斷系統從數據服務器實時獲取系統當前運行參數,通過系統故障診斷模型對比計算當前系統運行狀態與同工況下各歷史安全狀態的相似度,并通過一組相似度值生成相似度曲線,反映系統整體狀態的安全變化情況。系統根據相似度的偏離量實時輸出一個代表設備在線安全狀態的健康指數。實時健康分析界面如圖7所示。

圖7 實時健康分析界面
本平臺系統已在公司服務器上完成部署,并接入某住宅小區項目的帕金斯 4016柴油機組進行試運行,以實現該機組信息的實時在線顯示和遠程控制。
用戶通過平臺可下發多種類型的控制命令,包括啟停機、運行模式切換、修改設定值等,經過系統配置,可就地控制各種功能。設備監控界面如圖8所示,控制指令下發界面圖9所示。
手機端采用扁平化設計,如圖10所示。用戶可快速了解機組的異常報警,接受任務通知,創建維保、檢修、巡檢等工作任務,如圖10所示。
卡片式管理和維護客戶、項目、設備的基礎信息、組件信息和額定參數,可避免因人員變動、管理不善導致的資料丟失,客戶信息管理界面、項目信息管理界面和設備信息管理界面分別如圖11、圖12和圖13所示。
平臺保存設備所有的歷史運行記錄,并將其保存在云服務器中,用戶可隨時查看和導出歷史數據,并分析運行數據趨勢。運行數據查詢和導出界面如圖14所示,運行數據趨勢圖如圖15所示。

圖8 設備監控界面

圖9 控制指令下發界面

圖10 手機端應用程序界面

圖11 客戶信息管理界面

圖12 項目信息管理界面

圖13 設備信息管理界面

圖14 運行數據查詢和導出界面

圖15 運行數據趨勢圖
平臺可對所有接入的設備進行統計分析,如年利用小時數、故障率、開機率等。平臺支持工程常用的數值統計和計算,用戶可自定義統計對象、統計方法和統計區間,系統自動完成統計和計算,并將結果輸出至監控畫面和報警列表。
運維管理組件可編輯一系列基本規則。針對不同種類的設備進行組合,在達到預定的運行周期后,對用戶推送維保任務。用戶在完成維保后,可上傳視頻、照片等完工證明材料以結束任務,從而實現了維保任務的閉環管理。
1)基于物聯網技術建立了一套發電機組云控制管理系統平臺;實現了數據高速、實時采集和處理,故障信息動態存儲,控制器數據云傳輸;完成了發電機組故障模型和故障預測算法的開發。
2)在發電機組和制冷機組上完成了應用驗證,大大降低了機組運行維護的人力、物力成本。
3)因公司服務器資源較為緊張,目前采用單臺云服務器部署本系統,數據采集和應用軟件沒有獨立,應用層如占用系統資源過多,可能導致數據采集和存儲出現異常。由于沒有獨立的備份服務器,存在數據丟失的風險。平臺研發過程中,考慮到大量用戶和設備同時接入的情況,采取優先滿足大多數用戶需求的策略,即為了防止服務器壓力過大,對部分功能進行了限制。后續研發過程中,會對此問題加以優化和完善。