APP下载

航空发动机智能判读系统的设计与实现

2024-07-09马思聪哈菁

电脑知识与技术 2024年15期

马思聪 哈菁

关键词:智能判读;飞参数据;ADO.NET

0引言

航空发动机在工作期间,发动机的控制系统为控制、监控和管理其运行状态并会记录大量的相关运行参数,这些参数的集合以飞参数据文件的形式进行保存。发动机在试车台进行试验时,台架上的数据采集系统会记录这些飞参数据;发动机在装机飞行时,飞机上的飞行记录系统会对飞参数据进行记录。利用针对这些飞参数据的分析和研究,相关人员可以对发动机的运行状况得以监控发现潜在问题,并及时对出现的故障原因进行排查[1]。飞参数据的处理工作不能完全交由人工进行处理,不仅是因为人工处理需要更长的耗费时间,也是由于数据分析处理人员的技术水平的差异性,飞参数据的处理和分析工作时间和正确性会出现不稳定性。尤其是伴随着试验数次和试飞时间和架次的持续增多,航空发动机的运行时长到达千万小时量级的时候,人工处理的方式进行发动机工作运行状况监控分析的工作很难满足其全面、细致的需求[2]。在发动机装机试飞的情形下,人工处理的方式处理的局限性和制约性显现更加突出,在每架次飞行任务结束后需要进行快速处理、判读发动机的工作运行情况,根据判读结果判断该发动机是否能够继续正常进行下一次飞行。基于以上需求和情况,亟需一种可以进行台架和试飞超限判读的飞参数据判读系统,由此航空发动机智能判读系统应运而生。

1相关技术

1.1EntityFramework

航空发动机智能判读系统的数据库连接单元就是使用了ADO.NETAPI中的断开时连接和EntityFramework技术来实现。

微软公司在.NetFramework3.5SP1中的访问数据对象API引入了的一个全新的技术组件EntityFramework(EF),其主要的作用是使用把应用程序中业务对象的对象模型与关系型数据库的数据对象进行直接映射。传统的关系型数据库将数据看作行与列的集合,而EF则是将数据视为强类型对象实体(Entity)的集合。这些实体也可以用于LINQ,EF运行时引擎会将开发人员使用的LINQ查询语句转换为正确的SQL查询。这样就使得它会减少数据库结构与面向对象编程结构之间的差异,开发人员可以不用编写SQL代码就能与关系型数据库交互。相比更新数据库是使用一些SQL查询来查找、更新,在将其发送回数据库进行处理,使用EF可以简单地修改对象的属性,并保存其状态。EF运行时将自动更新数据库。开发人员在使用EF的过程中,使用LINQtoEntities(LINQtoObject的一种)是非常实用,利用构建一个LINQ查询并将其直接发送到数据库引擎进行处理,然后再返回强类型的数据,这就引出了下面的技术LINQtoObject[3]。

1.2LINQtoObject

LINQ是语言集成查询的简称,它提供了一种简明的、对称的、强类型的方式访问各种各样的数据存储。从宏观上看,LINQ可以理解为直接嵌入C#语法的强类型查询语言。使用LINQ,可以构建与数据库SQL查询类似的表达式,但LINQ查询可以用于多种数据存储,甚至与关系型数据库完全无关的存储。

2发动机智能判读系统设计

2.1系统组成

航空发动机智能判读系统主要由地勤人员专用判据、技术保障人员判据和相关辅助模块组成。

2.2系统主要操作流程

3功能模块设计

3.1数据读取

数据读取模块是整个发动机智能判读系统的前提和基础,系统中使用的航空发动机飞行参数数据都是通过此模块把相关信息读取解析并保存到内存中以便判读时对相关参数的随时调用。航空发动机飞参数据文件由于很多外部客观因素无法通过文本编辑器直接读取的,以至于后期很难对飞参数据规范和有效地对某些参数进行分析、监控甚至判读。

在数据读取模块执行之前,可以自定义选择性地对数据的模拟量参数和开关量参数读取分别进行参数配置,这样做的原因正是为了解决飞参数据的差异性,使得数据能够正确地读入并且相关参数可以被规范、方便快捷地得以使用。

在数据读取完成之后,系统可以调用参数具体信息模块完成查看正读取的飞参数据文件内保存的所有模拟量和开关量的参数信息。模拟量参数信息包括:组参数符号、组参数名称、参数单位、最大值、最小值、频率和类型;开关量参数信息包括:开关参数符号、开关参数名称、归属的组参数和位置等。

3.2数据检索

数据检索模块对存储在判读系统相关数据库系统中的数据进行浏览和管理等操作,模块由界面上端的数据检索条件和下端的数据检索结果表格组件组成。每行数据信息对应的是完成判读之后的一个架次的飞行参数数据文件,这行信息由如下信息组成:

1)基本信息:飞行日期、飞机号、飞机类型、发动机号、发动机类型、架次等。

2)自定义设置关注的统计处理后的参数数据。

3)判读完成之后的事件判读结果记录。

数据检索模块可以对保存到数据库的飞行参数数据进行如下操作:

1)信息显示:检索出的相关信息显示。

2)数据导出:能够对检索出的结果导出CSV或EXCEL格式的文件并保存到本地。

3)数据删除:对判读完成后的相关信息和结果进行删除。

3.3判读模块

该模块式整个智能判读系统的核心,其主要的功能是判读发动机各项参数是否满足给出的判读条件。如果判读条件成立,则生成相应的故障事件并进行记录。判读模块具体分成地勤人员专用判据和技术保障人员判据。

1)地勤人员专用模块:该模块实现飞参数据自动判读功能,用于地勤人员判读架次工作参数是否正常,是否具备再次飞行的条件。该部分包括对发动机起动过程、慢车状态、节流状态、中间状态、最大状态、防喘、消喘、喘振、加速过程、减速过程及空中起动等过程中发动机起动参数、可变几何面积等参数的变化是否超过相关的阈值,若出现超限的情况则生成相关的故障事件并记录,同时实现部分的寿命管理功能。

2)技术保障人员模块:该模块基于各种前沿技术实现数据深度判读和诊断工作,发现潜在的异常。此模块主要用于帮助航空发动机研制单位技术保障人员实现对发动机的全面监控(设置了使用权限保障特定人员使用此模块)。此模块不但实现了地勤人员模块中的判读要求,但其阈值条件要比地勤人员专用模块的阈值条件更加严格。同时会增加一些新的特殊判据来更全面地监控发动机的运行状况。例如,实现发动机各项监控参数的趋势判断、参数组合关系判断、传感器工作情况判断(实现传感器的视情维修)、发动机性能评估和发动机寿命及载荷的统计评估等功能。

3.4信息显示模块

信息显示模块是发动机智能判读系统参数判读信息结果显示的主界面,界面表格可以显示如下信息:

1)事件名称:表示在判读模块中进行判读的各判读事件具体的判读事件的名称,判读事件名称可以通过系统配置文件进行可视化的配置修改。

2)告警识别:告警识别有4种颜色进行显示。绿色表示正常,表示事件未生成或未发生;红色表示异常,事情生成或发生;黄色表示非异常信息生成,用于提醒;白色表示为事件记录条目,未涉及判读事件。

3)记录信息:可以针对不同的判读事件记录事件相关的不同参数信息。可以在对应的事件条目上单击记录信息按键打开一个新的窗口,窗口以文本、表格或可视化图形的形式方便地对判读记录信息进行展示。

4)专家建议检查或解决方法:这里会针对不同的判读事件给出相应的专家建议和故障检查或解决的方法,针对不同科目和判据建立不同的专家知识库并可对这些专家建议和解决方法进行更新和修改。

5)判读结果:在界面的最下方可以显示这次判读的最终结果和信息统计。

3.5导出和统计模块

导出和统计模块式经过判读模块执行之后对判读结果的重新利用。导出模块可以对判读出的结果导出成预定格式的Excel文件;统计模块则可以导出针对此判读的飞参数据和与之对应的判读结果进行履历本信息的统计,履历本信息统计的格式以Excel的格式给出。

4系统实现

发动机智能判读系统基于C/S架构设计。整个数据库系统采用C#开发,后台数据库采用的是MSSQLServer数据库。

4.1界面实现

发动机智能判读系统的主要功能都在主界面里进行操作进行,其设计实现如图2所示。

4.2数据库访问单元实现

发动机智能判读系统是需要连接其相关的数据库来进行数据的存储的,这些数据为今后判读事件的优化和飞行架次信息的追溯提供了的数据基础。系统的数据库访问单元是基于EntityFramework设计实现的。和其他的ADO.NET数据库交互方式一样,En?tityFramework(EF)使用一个ADO.NET数据提供程序来与数据存储进行交互。数据库中设计的表都被EFAPI映射成客户端的实体,而作为EF的一部分的对象服务负责对这些客户端实体(也就是数据库中的表)进行控制;EF的另一部分实体客户端层则负责利用ADO.NET数据提供程序来建立系统与所连接数据库的连接,随后把数据库的数据表映射到实体并根据实体的具体状态形式和编写的LINQ查询来生成数据库能直接运行的SQL语句[4]。

传统类型的数据库系统当访问和操作数据库时通过编写程序使用相关的数据库驱动访问接口API建立与数据库的连接,通过提交编写的SQL语句提交给数据库来完成于数据库的交互和运行操作。发动机智能判读系统则与此截然不同,其采用了LINQ和EF相结合的技术。整个系统访问数据库并与其交互的实现设计流程大致如下:程序设计实现的时候,不会直接通过编写SQL语句的方式与数据库进行交互,而是根据业务的要求把编写的LINQ命令被传递给对象服务,对象服务将这些LINQ命令转换为实体客户端可以理解的命令树,之后实体客户端把命令树转换成数据库能识别的SQL语句,物理数据库再执行ADO.NET传过来的SQL语句,之后程序中根据数据库的类型提供不同的数据提供程序(程序中编写的数据库数据读取器)生成相应的结果集并向上传递,并逐层通过不同实体数据读取器的形式传递到对象服务,最后对象服务把实体数据的枚举传递到程序调用端的代码。其过程如图3所示。

5结束语

发动机智能判读系统主要通过收集影响发动机性能的监控飞参数据以实现对发动机运行状态快速的监控、分析和判读,进而判断其是否可以进行下次的架次飞行,实现对飞参数据有效的诊断分析。为提高发动机故障判读处理效率、预防重大故障发生、确保发动机使用安全起到了其应有的作用。