一种基于控制系统开发平台的航空发动机部件建模方法

文档序号:6309208阅读:547来源:国知局
一种基于控制系统开发平台的航空发动机部件建模方法
【专利摘要】本发明公开了一种基于控制系统开发平台的航空发动机部件建模方法,通过构建动态链接库A和动态链接库B两种方式的动态链接库,在实现Pascal、C/C++以及M三种编程语言之间数据衔接,同时保证高度可定制的通用特性,为GasTurb下的航空发动机总体性能分析过渡到MATLAB下的控制系统开发提供简便的交互途径,实现总体性能分析与控制系统开发两个环节的衔接,提高部门间交互效率;这种通过动态链接库技术实现在控制系统开发平台MATLAB下直接调用发动机总体性能分析平台GasTurb下的部件级动态模型的方法,可避免控制系统开发平台下的重复建模过程,降低了控制系统开发平台下航空发动机部件级模型建模工作量及出现潜在错误的风险。
【专利说明】一种基于控制系统开发平台的航空发动机部件建模方法

【技术领域】
[0001]本发明涉及航空发动机建模与仿真领域,具体地说,涉及一种基于控制系统开发平台的航空发动机部件建模方法。

【背景技术】
[0002]在航空发动机总体性能分析领域,GasTurb软件可执行包含涡喷、涡扇、涡轴、涡桨在内多种类型的发动机静/动态仿真计算,具有良好的人机界面、优秀的仿真精度、完备的压气机/涡轮特性图处理等配套辅助工具,在该领域得到了广泛的应用与认可。而在发动控制系统开发领域,MATLAB及其Simulink建模仿真工具包、Control System控制工具包、Real-time Workshop实时代码转化工具包等配套工具,组成了可快速实现控制系统开发和设计的图形化仿真平台。
[0003]为了满足航空发动机控制系统开发对发动机模型的需求,在文献“基于MATLAB/SMULINK的航空发动机建模与仿真研究”(航空动力学报,2007,Vol.22 (12),p2134_2138)中,提出了一种在控制系统开发平台MATLAB下构建航空发动机部件级模型的方法,该方法在控制系统开发平台下利用SIMULINK的模块库和S函数复现总体性能分析平台下发动机模型程序的功能,整个建模过程相当于控制系统开发人员在控制平台下,重复进行总体性能分析人员在发动机性能分析平台下已经完成的建模工作。由于控制系统开发人员不擅长按照发动机内在的气动热力学规律建立其数学模型,因此该建模方法增加了工作量、降低了部门间交互效率,而且容易出现潜在错误。


【发明内容】

[0004]为了克服现有控制用发动机模型建模工作量大,且交互效率低的缺陷,避免建模过程出现潜在错误,本发明提出一种基于控制系统开发平台的航空发动机部件建模方法;这种通过动态链接库技术实现在控制系统开发平台MATLAB下直接调用发动机总体性能分析平台GasTurb下的部件级动态模型的方法,可避免控制系统开发平台下的重复建模过程,有效地降低了控制系统开发人员的工作量及出现潜在错误的风险。
[0005]本发明一种基于控制系统开发平台的航空发动机部件建模方法,其特征在于包括以下步骤:
[0006]步骤1.Delphi下建立动态链接库A ;在GasTurb的Pascal语言源代码基础上定位GasTurb源代码中用于部件级动态模型计算的功能函数,添加必要的代码完成发动机部件级动态模型计算程序,在Delphi平台下利用Delphi的DLL程序框架进行编译生成建立扩展名为DLL的动态链接库A ;
[0007]步骤2.MATLAB下建立动态链接库B ;在MATLAB/Simulink提供的S函数模版的基础上,以C/C++语言实现发动机模型S函数主体计算程序、与动态链接库A的输入/输出接口程序、与Simulink模块输入/输出接口程序,在MATLAB中建立扩展名为MEXW32的动态链接库B ;
[0008]步骤3.688X111-13软件下生成发动机模型配置文件;在软件下根据总体性能需求,对发动机模型参数进行设计,并将模型参数保存,得到相应的发动机模型配置文件;
[0009]步骤4.嫩11^8/31皿111成下发动机部件级动态模型库;在得到动态链接库八、动态链接库8以及发动机模型配置文件后,通过动态链接库8对动态链接库匕及发动机模型配置文件的调用,实现在嫩11^8/31皿111成中以图形化模块方式直接调用的发动机部件级动态模型,实现在控制系统开发平台嫩11八8下建立航空发动机部件级模型。
[0010]有益效果
[0011]本发明提出的一种基于控制系统开发平台的航空发动机部件建模方法,通过构建动态链接库八和动态链接库8两种方式的动态链接库,在实现以及1三种编程语言之间数据衔接的同时,保证其高度可定制的通用特性,为下的航空发动机总体性能分析过渡到嫩扎仙下的控制系统开发提供一种简便的交互途径,实现总体性能分析与控制系统开发两个环节的无缝衔接,提高部门间交互效率这种通过动态链接库技术实现在控制系统开发平台嫩下直接调用发动机总体性能分析平台下的部件级动态模型的方法,可避免控制系统开发平台下的重复建模过程,有效地降低了控制系统开发平台下航空发动机部件级模型建模工作量及出现潜在错误的风险。

【专利附图】

【附图说明】
[0012]下面结合附图和实施方式对本发明一种基于控制系统开发平台的航空发动机部件建模方法作进一步详细说明。
[0013]图1为动态链接库流程图。
[0014]图2为过渡态初始化函数流程图。
[0015]图3为过渡态计算函数流程图。
[0016]图4为和嫩11^8/31皿111吐下民用涡扇发动机模型的过渡态仿真结果;
[0017](^)高压转子转速㈦高压转子转速相对误差⑷低压转子转速
[0018]((1)低压转子转速相对误差(6)发动机推力化)发动机推力相对误差。

【具体实施方式】
[0019]本实施例是一种基于控制系统开发平台的航空发动机部件建模方法。
[0020]参阅图1?图4,基于控制系统开发平台的航空发动机部件建模方法,以的语言源代码为基础,添加必要的代码,在06141平台下建立扩展名为01的动态链接库八。以0/0+方式的3函数接口技术在嫩中建立扩展名为腿)(132的动态链接库8。通过动态链接库8对动态链接库八及发动机模型配置文件的调用,实现在嫩!'1^8/81111111111^中以图形化模块方式直接调用6^181111*13的发动机部件级动态模型。其中,动态链接库纟包含发动机部件级动态模型计算函数,但不包含模型参数;动态链接库8包含3函数主体计算程序、调用动态链接库4需要的输入丨输出接口、与嫩11^8/31皿111成模块交互输入/输出接口 ;发动机模型配置文件由设计生成,包含动态链接库纟需要的各种模型参数,并可根据需要随时对发动机的各种参数进行访问或修改。
[0021]步骤1,0611)111下建立动态链接库八
[0022]动态链接库A中包含发动机配置文件读取程序、发动机部件级动态模型计算程序、与动态链接库B的输入/输出接口程序,由Pascal语言编程实现,在Delphi平台下编译生成;具体实现方式如下:
[0023](I)定位GasTurb源代码中用于部件级动态模型计算的功能函数,主要包括:
[0024](a)配置文件读取函数ReadEngineModel,可读取发动机模型配置文件中发动机性能参数,供后续模型计算程序使用;
[0025](b)设计点计算函数Engine_cycle,完成设计点计算功能,为非设计点计算提供初始值;
[0026](c)初始化过渡态函数InitializeTransit1n,完成对过渡态计算的参数初始化功能;
[0027](d)过渡态计算函数calculate_transient_point,按照控制指令完成过渡态计算功能。
[0028](2)在(I)中功能函数的基础上,添加必要的代码,完成发动机部件级动态模型计算程序,计算程序包含3个函数,过渡态初始化函数、过渡态计算函数、释放内存函数;
[0029](a)过渡态初始化函数Transit1nInitialize ;主要完成对指定发动机类型、配置文件以及外部输入情况下的过渡态初始化,只在模型计算开始阶段运行一次;在原有初始化过渡态函数InitializeTransit1n的基础上,采用迭代修正概念,以设计点为初始值进行逐步赋值,直至逼近外部输入,实现主燃油流量作为输入的过渡态计算初始化;需要说明的是给定配置文件中的控制值函数evaluate_pilot_input部分,是指在GasTurb软件中已设定的放气、引气、变几何的开环控制规律并保存在模型配置文件中,在进行过渡态计算时,如果后面的外部输入中没有对其相应参数进行重新赋值,那么,这些可控量按配置文件中的控制规律工作。这不仅可确保已设计的控制规律体现在MATLAB中,而且可通过提供的接口随时进行重新设计;
[0030](b)过渡态计算函数Transit1nState ;根据配置文件中的控制规律以及外部输入进行过渡态计算,每个采样时间运行一次;
[0031](c)释放内存函数Transit1nFree ;主要将模型计算程序所分配的内存空间进行释放,模型计算终止阶段运行一次。
[0032](3)定义与动态链接库B的输入/输出接口 ;定义与动态链接库B对应的输入/输出接口结构体,其中基本输入/输出参数、非设计点输入/输出参数的定义完全对应于GasTurb程序配置文件(*.NMS)中相应参数,并增加主燃油流量与仿真步长作为额外输入;通过与动态链接库B之间约定的参数传递方案,在不改变动态链接库A的情况下,实现输入接口自定义配置。
[0033](4)利用Delphi的DLL程序框架进行编译生成动态链接库A ;
[0034](a)在Delphi平台下创建library工程文件;
[0035](b)在工程文件下添加(2)中过渡态初始化函数、过渡态计算函数、释放内存函数程序代码;
[0036](c)在exports子句中将上述函数列出,以输出供其它应用程序使用;
[0037](d)利用Delphi平台将library工程文件编译生成扩展名为DLL的文件,即动态链接库A。
[0038]步骤2,^11^8下建立动态链接库8
[0039]动态链接库8中包含3函数主体计算程序、与动态链接库八的输入/输出接口程序、与31皿111成模块输入/输出接口程序,在嫩11^8/31皿111成提供的3函数模版的基础上完成,由(:/0+语言编程实现,在嫩11八8平台下编译生成;具体实现方式如下:
[0040](1)在3函数声明段,定义与动态链接库4对应的输入/输出接口结构体,以确保参数传递的正确性;
[0041](2)在3函数模版函数0(113仏代中添加以下程序:
[0042](^)按照与动态链接库八约定的参数传递方案对基本输入参数和非设计点输入参数赋初值888888 ;
[0043]⑶通过#11(10^八?I函数实现(:/0+调用动态链接库4中功能函数;其中,108(111131-81-7用于装载包含动态链接库八的01文件并获取其句柄用于获取相关功能函数的指针,从而实现将动态链接库八中的函数转变为(:/0+下的函数;
[0044](0)确定发动机类型、配置文件名以及文件安装路径;通过指定发动机类型、配置文件名以及文件安装路径,可让动态链接库4的功能函数根据相应配置实现不同类型发动机的性能计算;
[0045](3)在3函数模版函数111(110111:1)111:8中,定义动态链接库8所需的31皿111成模块输入/输出接口,并添加部件级动态模型主体计算程序代码;动态链接库4中所提供的输入/输出接口非常完备,但在一般情况下,诸多输入参数并不需要改变,也无需考量所有输出参数;为此,可根据实际应用需求自定义31皿111成模块下的发动机输入/输出接口,并完成与动态链接库八的参数传递方案;
[0046](4)在 3 函数模版函数 111(1110:01111181:6 中,添加函数!'(1:1116)和
碰0(11116),以释放计算所占内存空间和句柄;
[0047](5)根据3函数接口技术进行编译实现动态链接库8 ;动态链接库8可在
中以图形化模块方式直接调用。
[0048]步骤3,688X111-13软件下生成发动机模型配置文件
[0049]在软件下根据总体性能需求,在选定的发动机类型相应的模型配置示例06.110文件基础上对发动机模型设计点、非设计点参数进行设计,并最终生成所需的发动机模型配置文件。
[0050]步骤4,嫩!'1^8/31皿1111^下发动机部件级动态模型库
[0051]在得到动态链接库八,动态链接库8,以及相应发动机模型配置文件的情况下,对31皿111成及3函数源文件的输入/输出接口进行简单定义,即可快速得到可在嫩11^8/31皿111成下直接调用的各种类型发动机部件级动态模型;从而在嫩平台下构建了用于航空发动机管理与控制系统开发的包含涡喷、涡扇、涡轴、涡桨在内22种发动机类型的部件级模型库。
[0052]需要说明的是,模型库中的模型采用的均为软件自带的模型配置示例06.110文件,用户在使用其中某个模型时需要根据自己的实际需求,对模型配置文件进行个性化的自定义配置。
[0053]为进一步说明本发明的效果,下面通过民用大涵道比涡扇发动机建模实例,来验证本发明方法的有效性。
[0054]采用本发明建模方法,可初步设计并建立能在一定程度上代表大涵道比涡扇发动机稳态与过渡态特性的发动机模型。
[0055]首先,按照本发明方法得到动态链接库八和动态链接库8;然后,在对国产民用涡扇发动机性能需求进行分析的基础上,在平台下初步设计得到150座干线客机用、14吨推力级、民用大涵道比涡扇发动机模型,并将模型参数保存在模型配置文件
116)中;最后,通过对动态链接库八、动态链接库8和模型配置文件(3118忖.1^0的调用,在嫩扎仙/义皿111成下得到所需民用涡扇发动机部件级模型,可作为发动机控制系统研究的基础。
[0056]基于本发明建模方法高度可定制的通用特性,当发动机总体部门给出民用涡扇发动机更详细的设计参数及部件特性后,可根据需要随时对民用涡扇发动机模型配置文件
蚱?.中的发动机各项参数进行访问并修改。
[0057]如图4所示,为了验证嫩几仙/义皿111成下民用涡扇发动机部件级模型的正确性,在相同的输入条件下,分别对和嫩下的民用涡扇发动机模型进行稳态与过渡态仿真。这里仅给出巡航状态,高度为11—、马赫数为0.8情况下,和嫩11八8下模型的过渡态仿真结果。仿真结果表明,两者相对误差小于0.01%。该误差可归因于在调用动态链接库的过程中存在单精度实数与双精度实数的相互转换问题。由于量级很小,完全不影响后续的实际应用。仿真结果验证了嫩扎仙/义皿111成下民用涡扇发动机模型的有效性。
【权利要求】
1.一种基于控制系统开发平台的航空发动机部件建模方法,其特征在于:包括以下步骤: 步骤1.Delphi下建立动态链接库A ;在GasTurb的Pascal语言源代码基础上定位GasTurb源代码中用于部件级动态模型计算的功能函数,添加必要的代码完成发动机部件级动态模型计算程序,在Delphi平台下利用Delphi的DLL程序框架进行编译生成建立扩展名为DLL的动态链接库A ; 步骤2.MATLAB下建立动态链接库B ;在嫩1'^^/5加111丨1^提供的S函数模版的基础上,以C/C++语言实现发动机模型S函数主体计算程序、与动态链接库A的输入/输出接口程序、与Simulink模块输入/输出接口程序,在MATLAB中建立扩展名为MEXW32的动态链接库B ; 步骤3.GasTurb软件下生成发动机模型配置文件;在GasTurb软件下根据总体性能需求,对发动机模型参数进行设计,并将模型参数保存,得到相应的发动机模型配置文件;步骤4.MATLAB/Simulink下发动机部件级动态模型库;在得到动态链接库A、动态链接库B以及发动机模型配置文件后,通过动态链接库B对动态链接库A及发动机模型配置文件的调用,实现在MATLAB/Simulink中以图形化模块方式直接调用GasTurb的发动机部件级动态模型,实现在控制系统开发平台MATLAB下建立航空发动机部件级模型。
【文档编号】G05B17/02GK104375421SQ201410686811
【公开日】2015年2月25日 申请日期:2014年11月24日 优先权日:2014年11月24日
【发明者】郭迎清, 张书刚, 孙浩 申请人:西北工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1