崔晓伟/北京中科蜂巢科技有限公司
采用服务化的方法实现健康管理系统的模型化开发和配置,对航空发动机不同型号以及不同领域的健康管理系统进行快速开发,可较传统的开发方法节省经济和时间成本。
航空发动机是一个非常庞大的系统,包括了结构系统、控制系统、电源系统、计算机系统等众多子系统之间的相互耦合交错,结构复杂且功能要求严格。因此,能够解决如何对航空发动机的综合性能即健康状况进行跟踪预测、如何实时检测航空发动机的运行状况、如何实施故障的维修恢复以及如何在故障难以修复的情况下最大程度地完成预定任务等一系列问题,是实质性提高航空发动机可靠性、安全性的关键基础,也是保障航空发动机完成既定任务、降低经济费用的必然要求[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架构的健康管理系统的重复开发导致健康管理系统开发效率低下问题,采用基于服务方法实现健康管理系统的可开发并通过物联网小车完成对此方案的可行性验证。此外,该方案还可用于其他产品的全生命周期的故障诊断,通过服务化的形式,将全生命周期中所用到的模型、数据等进行集成,进一步完成对产品全生命周期的健康管理。