当前位置:文档之家› 航空发动机健康管理算法开发

航空发动机健康管理算法开发

航空发动机健康管理算法开发单位:MathWorks CN编写:王鸿钧目录1.1Rolls-Royce分析火山灰对发动机的影响 (1)1.2Snecma模块化开发健康管理算法 (3)3.1建立算法集成环境. (6)3.2企业级的计算平台 (7)4.1实现工具选择 (8)4.1.1基础平台 (8)4.1.2功能实现 (9)4.2工程应用的扩展 (10)4.2.1与企业应用集成 (10)4.2.2并行计算能力 (11)插图航空发动机健康管理系统的研发趋势当前,各大航空发动机制造商纷纷改变原有单一出售发动机的经营模式,致力于扩展发动机维护、发动机租赁、发动机数据管理分析等服务,通过服务合同绑定用户,扩大利润空间。

而发动机的健康管理,也从最初的单一监视,发展为结合在线故障诊断、数据上传与离线健康趋势分析的各种应用。

如Rolls-Royce的COMPASS系统,能根据起飞和巡航过程中发动机的工作参数随时输出发动机的健康状态,将其传给地面的公司总部,再通过高性能的地面计算机结合历史数据开展综合分析,指导每一台发动机的运营、修理和维护。

如何处理发动机运行产生的数据,是发动机健康管理技术的研究核心。

要实现发动机的性能分析与寿命预测、故障诊断与故障预测、成本控制与资源优化,需要记录和分析大量发动机原始运行数据,在此基础上建立表达性能、故障、运营成本等趋势的模型,开发相应预测算法。

在算法的实现方面,自动代码生成技术提供了一种新的高效开发途径。

1.1Rolls-Royce分析火山灰对发动机的影响在MATLAB EXPO 2013上,Rolls-Royce展示了一个针对全球运营发动机的火山灰影响分析系统。

火山喷发会产生大量的火山灰,如果飞机正好从火山灰扩散范围内飞过,发动机就会吸入火山灰。

这会对发动机的健康状况产生一系列影响,可能的影响包括:●压气机被腐蚀,效率和喘振裕度降低●火山灰阻碍燃烧,产生熄火风险●火山灰吸附涡轮环,导致气路堵塞●涡轮冷却气受阻,部件减寿●硫酸盐依附在热端部件长达数月,使涡轮叶片的含镍合金硫化●滑油污染●电子元件损坏世界气象组织(WMO)在全球拥有若干个火山灰警报中心(VAAC),这些中心会监测所在地区的火山喷发情况,并每天通过互联网发布火山灰数据。

Rolls-Royce的火山灰影响分析系12统每天会自动将全球所有火山灰数据下载到本地数据库,同时与发动机健康管理数据库当中存储的发动机飞行数据进行关联。

标准发动机飞行数据包括飞机ID、飞行日期/时间、往来城市、机场位置等,根据这些数据就可以计算一台发动机的火山灰暴露程度,进而形成一台发动机的火山灰暴露数据序列,开展火山灰影响的历史追踪。

作为Rolls-Royce整个发动机健康管理系统的重要组成部分,这个系统的所有数据处理程序都是采用MATLAB工具开发的,包括:●自动导入全球火山灰数据,并根据火山灰严重程度绘制彩色的火山灰地图●自动导入发动机飞行数据,通过矩阵运算得到发动机的火山灰暴露数据●将发动机的火山灰暴露数据写入发动机健康管理数据库●统计历史数据并生成发动机的火山灰影响历史报告图1Rolls-Royce分析火山灰对发动机影响的流程12121.2 Snecma 模块化开发健康管理算法Snecma 为了帮助工程师快速简便地开发发动机健康管理算法,建立了一个称作“Snecma 算法成熟与测试应用”(SAMANTA )的模块化开发平台。

这个平台于2007年上线。

根据2015年的统计,SAMANTA 已经产出了160多个标准模块,15项具体的发动机健康管理算法,算法内容涵盖发动机健康监视、故障诊断和故障预测。

图2 Snecma 的发动机健康监视算法分类图3 Snecma 的发动机故障诊断和故障预测算法体系Snecma 希望发动机工程师不需要掌握太多数学或计算机科学的专业知识,就可以顺利表达自己想要实现的算法,为此他们选择MATLAB 语言作为SAMANTA 的基础。

通过定义3种基本对象,SAMANTA建立并完善了算法与相关数据、文档间的接口关系,实现了算法的抽象化与模块化。

基于SAMANTA,工程师可以将不同算法当中一些共通的文本处理、图形显示、数据操作元素作为标准模块积累下来。

通过标准模块的组合,又可以快速开发新的算法。

SAMANTA定义的3种基本对象分别是:●信号(signal):算法的输入数据及输出结果。

输入数据可以直接来自飞行记录,也可以由其他算法间接产生。

SAMANTA信号是按照一种标准格式定义的结构体,内容包括数据表(时间索引、数据值)和数据属性(物理含义、单位)。

●操作集合(opset):算法可以直接操作的存储在MATLAB数据文件中的所有相关信号列表。

发动机N次工作循环、M种不同采样率记录的N×M组信号,构成的N×M页数据表,就是一项典型的操作集合。

●模块节点(mnode):按照统一的接口标准和图形界面封装的数据处理算法。

模块节点提供一系列基础操作,可以完成初始化、参数有效性检查、数据积累、通过积累的数据开展学习、算法执行、数据显示等任务,用户按一定顺序组合这些操作,实现设置、运行、学习、绘图等具体的算法应用。

图4基于模块节点的SAMANTA算法封装12通过MATLAB提供的编译工具,可以实现算法的导出,允许算法在没有安装MATLAB的环境中运行,丰富算法的用户群体。

Snecma将SAMANTA算法部署在一台服务器上,用户可以通过客户端远程调用服务器端的算法资源,并且客户端不需要安装MATLAB。

SAMANTA平台SAFRAN集团。

已经被推广到整个使用MATLAB开发航空发动机健康管理算法的价值单点开发的局限目前国内在航空发动机健康管理技术方面的研究还处于起步阶段,还停留在单点开发健康管理算法的模式。

使用传统编程语言的开发方式一方面效率偏低,另一方面对发动机工程师的计算机编程水平提出较高要求。

这些单点算法处理的数据格式无法统一,数据的可视化也很困难。

建立算法平台的优势建立类似SAMANTA这样的健康管理算法平台,需要根据从发动机采集到数据的特点,将算法的数据接口固定下来。

所有的健康管理算法操作统一的数据集合,这样就可以编写统一的数据输入输出、数据文本化和图形化函数,大大提高算法的开发效率。

建立统一的算法封装,也有利于算法与数据库、文档库交流,并简化算法的部署。

12MATLAB环境的特点MATLAB自带一系列数学工具,便于处理大规模矩阵数据,可以直接与Simulink对接。

在航空发动机研发体系中,通常积累了大量发动机及发动机系统的Simulink模型,可以利用这些Simulink模型产生数据实例,对算法进行测试。

MATLAB提供产品服务器,便于大规模的企业部署,确保用户使用算法的最新版本。

产品服务器支持多核处理器的并行计算,提高算法运行速度。

能力建设及关键技术突破3.1建立算法集成环境利用MATLAB包含的一系列数学工具,开发各种信号处理及数据分析算法,实现健康管理算法的核心部分。

SAMANTA的模块节点为算法对象的抽象与封装提供了一个很好的范例,可以参照SAMANTA,在封装中提供数据访问接口,以及文档导出和数据可视化功能。

MATLAB 还对算法的版本管理、测试与演示提供了良好的支持。

●用户接口:通过Excel工作簿(EWB)进行用户数据的导入和导出(例如Rolls-Royce从世界气象组织网站上下载的火山灰数据)●发动机数据库:通过数据访问对象(DAO)实现与发动机数据库之间的数据交换,下载真实的发动机运行数据,存储健康管理算法的计算结果●版本管理:MATLAB已经集成了一个内置的SVN,不需要另外安装软件,就可以实现基本的版本管理功能●测试与演示环境:可以在Simulink环境中调用算法,由Simulink模型产生数据,测试算法或者进行算法演示12图6基于MATLAB的发动机健康管理算法集成环境3.2企业级的计算平台使用MATLAB Complier将MATLAB编写的算法连同封装编译成一个可执行程序,或生成一个用于其他开发语言项目的组件。

配合Spreadsheet Link工具,还可以将MATLAB程序创建为Excel插件并集成到Excel电子表格中。

通过MATLAB Production Server实现算法在服务器端的远程部署,建立企业级的计算平台。

图7通过MATLAB产品服务器支持Web服务、数据库或企业应用12技术实现4.1实现工具选择4.1.1基础平台MATLAB是一种高级技术计算语言。

MATLAB平台为解决工程和科学问题进行了优化。

基于矩阵的MATLAB语言是世界上最自然的计算数学表示方法。

内置图形使得可视化和洞察数据变得简单易行。

MATLAB支持对大型数据集运行分析,并扩展到集群和云。

MATLAB代码可以与其他语言集成,从而允许将算法和应用程序部署在Web、企业和生产系统内。

MATLAB的主要特性包括:✓用于科学和工程计算的高级语言;✓桌面环境变得适合于迭代式的探查、设计及问题求解;✓用于数据可视化的图像系统以及用于创建自定义绘图的工具;✓用于曲线拟合、数据分类、信号分析和许多其他领域特定任务的应用程序;✓用于各种工程和科学应用的附加工具箱;✓用于构建自定义用户界面的应用程序的工具;✓C/C++、Java、.NET、Python、SQL、Hadoop和Microsoft Excel的接口;✓与最终用户共享MATLAB程序的免费部署选项。

Simulink是一个面向多域仿真并和基于模型设计的框模块图环境。

它支持系统级设计、仿真、自动代码生成以及嵌入式系统的连续测试和验证。

Simulink提供有图形编辑器、可自定义的定制模块库以及和求解器,能够进行动态系统建模和仿真。

通过与MATLAB集成,使您不仅能够将MATLAB算法融合到并入模型中,而且可以还能将仿真结果导出至MATLAB做进一步分析。

Simulink的主要功能包括:✓图形编辑器,可用于构建和管理具有层次关系的框图;✓预定义模块库,可用于构建连续时间和离散时间系统模型;12✓仿真引擎,配有固定步长和可变步长ODE求解器;✓通过示波器和数据显示,可以查看仿真结果;✓项目和数据管理工具,可用于管理模型文件及数据;✓模型分析工具,可用于优化模型架构以及提高仿真速度;✓MATLAB 函数块,可用于将 MATLAB 算法导入模型中;✓代码继承工具 (Legacy Code Tool),可用于将C和C++代码导入模型中。

4.1.2功能实现4.1.2.1控制系统MATLAB具备多种控制系统设计、分析和优化工具,这些工具不仅可以设计发动机的控制算法,也可以用于分析发动机性能和设计发动机健康管理算法。

相关工具包括:Control System Toolbox、System Identification Toolbox、Fuzzy Logic Toolbox、Robust Control Toolbox、Model Predictive Control Toolbox。

相关主题