崔曉偉/北京中科蜂巢科技有限公司
采用服務化的方法實現健康管理系統的模型化開發和配置,對航空發動機不同型號以及不同領域的健康管理系統進行快速開發,可較傳統的開發方法節省經濟和時間成本。
航空發動機是一個非常龐大的系統,包括了結構系統、控制系統、電源系統、計算機系統等眾多子系統之間的相互耦合交錯,結構復雜且功能要求嚴格。因此,能夠解決如何對航空發動機的綜合性能即健康狀況進行跟蹤預測、如何實時檢測航空發動機的運行狀況、如何實施故障的維修恢復以及如何在故障難以修復的情況下最大程度地完成預定任務等一系列問題,是實質性提高航空發動機可靠性、安全性的關鍵基礎,也是保障航空發動機完成既定任務、降低經濟費用的必然要求[1]。
傳統的健康管理系統一般基于客戶端/服務器(C/S)架構,通常使用一機一系統的開發方式,即一個型號配一個專屬的健康管理系統。這對于多型號并行的開發人員來說,需要多次開發不同型號的航空發動機健康管理系統,造成了驗證的研發成本和時間的浪費。目前,航空發動機的設計、制造、測試、試飛等環節,會產生海量的仿真及試驗數據,這些數據可以用于健康管理系統的診斷算法開發和故障特征關聯。因此,航空發動機開發過程中的數據與健康管理系統的結合是至關重要的[2]。
本文介紹一種基于服務的健康管理系統架構,實現航空發動機健康管理系統的基于模型的快速開發和配置。同時,由于采用開放式生命周期協作服務技術,使航空發動機的試驗數據與信息可以與服務化的健康管理系統進行關聯,在未來的工作中實現健康管理系統與全生命周期數據的雙向打通。
20世紀70年代,航空發動機領域出現了健康管理的概念[3],是指利用傳感器來獲取發動機狀態的數據,借助數學方法來評估發動機及各系統的健康狀況,預測發動機性能的發展趨勢和可能發生的故障,并提供科學恰當的排故和維修建議;在結構載荷監測的基礎上,對發動機的剩余使用壽命進行預測[4]。健康管理系統最初是由美國國家航空航天局(NASA)提出的、在可重復使用的空間飛行器進行健康管理的技術。通過后來的一些項目的驗證和發展,在概念、功能劃分、軟硬件組成等方面實現了極大的改進。隨著對航空發動機可靠性要求的提高,對其全生命周期進行健康管理的研究越來越重要,因此我國也在“八五”期間開展了健康管理技術的研究,在對國外先管技術進行跟蹤研究的同時,主要對健康管理理論方面做了基礎而深入的研究工作,但目前尚未建立起發動機健康管理系統的設計體系,部分健康管理系統關鍵技術還停留在理論研究階段。
由于健康管理系統在開發過程中需要對全生命周期的仿真數據、驗證數據、實時試驗數據進行收集并設計對應診斷算法,因此航空發動機全生命周期的數據統一表達及其與健康管理系統開發流程的關聯顯得極為重要。
為解決信息孤島問題,可采用開放式全生命周期協作服務(Open Services for Lifecycle Collaboration,OSLC)技術規范來支持健康管理系統的開發[5]。OSLC是由IBM公司提出的一套技術規范,該規范可以支持如下功能:工具集成、服務發現、統一的資源化管理、資源查詢、跨工具的數據預覽等。
另外,傳統的基于文檔的系統工程會造成研發過程中產生海量的文檔,從而使信息的查找、理解以及更改變得困難[6]。由不同研發團隊負責發動機系統與健康管理系統,也會導致健康管理系統開發過程中文檔與數據無法描述、表達、交流與追溯,降低了健康管理系統的研發效率。
基于模型的系統工程利用模型的直觀、無歧義、模塊可重用等優點快速覆蓋了軟件、電子等工程領域。在健康管理系統開發過程中,如果采用以上標準的模型表達,便可以解決健康管理系統的開發人員之間交流上的誤解,提升溝通效率。同時,以上模型可以通過代碼生成技術實現部分數據、模型及代碼的自動生成[7]。
本文采用基于模型的系統工程方法和代碼生成技術,自動配置和生成對應健康管理系統,以實現對健康管理系統的快速開發。
針對以上問題,本文提出通過服務化健康管理系統對航空發動機系統進行監控,以實現對航空發動機進行綜合健康狀態的管理。健康管理系統實施方案應滿足以下要求:適用不同發動機系統的重復使用,隨著需求增加,對應健康管理系統的開發要實現模塊化重復使用,可以通過快速配置的方式實現健康管理系統的快速生成;打通健康管理系統與發動機全生命周期的相關模型和數據,將發動機全生命周期的相關數據和模型統一表達,并可以在健康管理系統開發過程中做到可追溯、可調用、可保存,用于后續診斷算法的開發和分析。
如圖 1所示,服務化的健康管理平臺包括前端瀏覽器/服務器(B/S)層、邏輯層、基礎服務層和基礎組件層。
前端B/S層即為用戶交互層,直接面向用戶,包括網頁客戶端。不同的用戶通過底層的服務可以訪問對應的前端界面。使用JavaScript、HTML和 CSS等Web技術創建原生程序框架,它兼容Mac、Windows、Linux等操作系統,從而支持多平臺的應用部署。
邏輯層在基礎服務層之前,用于表達基礎服務的組成邏輯,為用戶交互層提供接口和業務邏輯服務。
基礎服務層用于存放健康管理系統所涉及的服務,如針對不同故障的診斷服務、硬件I/O接口服務、數據庫的操作服務等。該基礎服務層和邏輯層匹配用于直接實現前端的相關功能。該層基礎服務通過OSLC規范開發的OSLC服務配置器生成。針對不同資源,其對應OSLC服務配置器可以將該資源表達為統一的OSLC服務,每個OSLC服務可以通過統一資源定位器(URL)進行訪問。
基礎組件層包括整個健康管理系統的數據來源、數據存儲、核心診斷算法、核心預測算法、硬件接口,以及模型數據庫、用戶權限數據庫及文件等。其中,虛擬文件包括模型文件、仿真文件、結果文件、仿真報告和其他文件。

圖2 基于模型的健康管理開發過程
通過以上服務化架構,健康管理的能力系統可以具備基于服務的快速配置能力,同時也可以采用相關模型實現該服務化健康管理系統的自動生成。
如圖 2所示,采用基于模型的系統工程方法實現健康管理系統的自動生成。本方案中,采用特定域建模工具(MetaGraph)對健康管理系統的架構和開發過程進行描述,并通過代碼生成器,自動生成健康管理系統架構模型和有關的本體信息。通過采用Datalinks讀入相關本體信息分別生成圖1中的前端B/S代碼、業務邏輯代碼、生成服務的OSLC服務配置器。這些服務配置器用于把該健康管理系統中所涉及的相關基礎組件生成為服務,進而生成基于服務健康管理系統。
為驗證此實施方案在航空發動機領域的可行性,用物聯網小車代替航空發動機進行案例分析。如圖 3所示,基于開放式機器人移動平臺(TURTLEBot3),開發出兩個小車實物。通過機器人操作系統(Robot Operating System,ROS)和無線網絡(WiFi)將小車的實時數據傳送到PC端,通過PC端的OSLC服務配置器將實時數據傳遞到服務云上,開發人員通過云服務實現小車的實時數據監控。用車速等信息代替對航空發動機進行故障診斷時所需要的工作參數。在運行過程中,將實物數據與仿真模型的數據同時在服務化的健康管理系統中顯示。

圖3 小車案例

圖4 小車案例中全生命周期模型及數據的統一服務化表達及數據分析
同時,以小車的Simulink(MATLAB中的可視化仿真工具)模型、CAD軟件模型、仿真數據等代替航空發動機的相關模型。在仿真過程中,將仿真模型的數據在服務化的健康管理系統中顯示。如圖 4所示,除了采用OSLC服務配置器生成直接用于健康管理系統的服務外,還采用同樣的技術將小車開發過程中所涉及的所有模型和數據轉化為對應的OSLC服務及基于OSLC的全生命周期數據標準描述。這些數據可以在大數據可視化及分析平臺(DataVis)中用于輔助健康管理系統的診斷和預測算法的開發。
Simulink仿真模型的數據通過用戶數據報協議(UDP)通信將仿真數據實時存儲在本地的一個Excel表格中,服務器根據客戶需求查詢表格中的數據并實時顯示在客戶端網頁上。此外,通過提供下載鏈接,為用戶實現數據保存的服務。
小車實物的測試數據則是通過無線網絡與PC客戶端連接,將由傳感器測量得到的數據保存在本地。服務器用同樣的方式為用戶提供對其進行顯示與保存的服務。案例演示效果如圖 5所示:主頁面為用戶提供了針對小車的仿真模型以及小車實物的服務目錄(Catalog),點擊服務器(Provider)相應鏈接即可對其進行進一步操作;每個服務器都為用戶提供了針對數據的實時顯示以及數據保存的服務,點擊鏈接即可在網頁客戶端調用此服務;當用戶選擇實時顯示服務時,數據將利用OSLC服務實時顯示在頁面中;當用戶選擇保存數據服務時,可為用戶提供數據的下載鏈接,用戶通過OSLC服務即可將數據保存下來。
通過上述驗證過程,證明這種健康管理系統是切實可行的,達到了預期目標。

圖5 基于OSLC服務的實時數據健康系統
本文針對航空發動機在故障診斷方面的迫切需求,對支持航空發動機的健康管理系統的相關技術進行了研究。針對C/S架構的健康管理系統的重復開發導致健康管理系統開發效率低下問題,采用基于服務方法實現健康管理系統的可開發并通過物聯網小車完成對此方案的可行性驗證。此外,該方案還可用于其他產品的全生命周期的故障診斷,通過服務化的形式,將全生命周期中所用到的模型、數據等進行集成,進一步完成對產品全生命周期的健康管理。