基于MBD的某型发动机控制软件开发
吴远盛 陈超 朱帅琦
摘要: 全权限数字电子控制系统(FADEC)是未来航空发动机数字控制系统发展的方向, 控制软件是FADEC的核心, 基于模型设计(MBD)是FADEC控制软件发展的趋势。 本文在某型发动机控制软件的开发过程中, 开展了基于MBD的软件架构设计, 并在系统需求阶段进行了模型的开发和验证。 最后通过代码自动生成机制, 将自动生成后的代码加载到目标机中, 通过硬件在回路仿真验证, 证明采用基于MBD的软件开发能够将软件缺陷封闭在开发过程的前期, 节约了控制软件开发时间, 并在桌面回归验证上具有一定的优势。
关键词: FADEC; 控制软件; MBD; 软件架构; 桌面验证; 航空发动机
中图分类号: TJ763; V433文献标识码: A文章编号: 1673-5048(2018)04-0073-05
0引言
随着航空产业的迅速发展, 对飞行动力系统的要求越来越高。 作为飞机的心脏, 航空发动机安全有效的工作离不开先进的控制技术, 发动机性能的充分发挥主要依靠控制系统来实现和保证[1]。 近年来已日渐成熟的全权限数字电子控制系统(Full Authority Digital Electronic Control, FADEC)[2-3]具有体积小、 重量轻、 可靠性高、 控制精度高等优势, 其控制软件易于编写和修改, 可以实现复杂的控制规律和许多现代控制算法, 在航空发动机控制领域占据越来越重要的地位[4]。
传统的FADEC嵌入式软件开发是以代码为中心的V模型开发流程, 以手工编码为中心, 测试工作的重心出现在开发阶段晚期(集成和系统测试阶段), 早期的开发阶段难以验证和发现缺陷, 而验证工作越往后, 需要的工作量越大、 难度越高, 导致软件交付的周期长、 成本高[5]。
在基于模型的开发(ModelBased Design, MBD)[6-7]中, 设计人员根据系统需求建立模型, 并对模型进行仿真测试, 及早发现其中的缺陷并不断进行修正和验证迭代, 最后直接通过模型生成和移植可执行的嵌入式代码。 基于模型的开发在设计阶段就能不断暴露软件缺陷并进行封闭, 而且省去了手工编码和单元测试的工作, 开发人员将更多精力集中到软件设计和控制算法优化上。
本文在某型发动机控制软件的开发过程中, 采用基于MBD的控制软件设计, 提供了设计方案, 并在开发前期根据系统需求建立模型, 对模型进行仿真测试。 封闭缺陷后, 模型通过MATLAB工具中的Simulink/Code Generation自动生成代码, 下载到目标机中, 完成整个控制软件的开发过程。
1发动机简化控制需求
本文描述的控制软件实现了发动机控制的主要功能, 包括:
(1) 信号的采集, 包括模拟量、 频率量、 开关量、 状态量的采集;
(2) 故障检测和处理, 包括极值故障、 斜率故障、 BIT故障、 回路故障和硬件故障检测, 以及建立相应的故障对策;
(3) 信号标定转换、 表决和滤波;
(4) 发动机控制功能, 包括主燃油控制、 加力燃油控制、 噴口控制、 导叶角控制、 防消喘控制、 防冰控制、 热回油控制、 应急放油控制、 液压泵卸载控制;
(5) 占空比输出和开关量输出控制;
(6) 通讯功能, 包括与地面保障设备通讯、 与飞机设备通讯、 控制器通道间通讯;
(7) 历史数据统计和存储。
2软件架构设计[8-10]
软件架构设计遵守如下原则:
(1) 分层原则: 设计的分层层数不超过4层;
(2) 模块划分原则: 采用结构化和模块化的设计方法, 划分关键模块和重要模块;
(3) 低耦合高内聚原则: 模块之间和程序单元之间的依赖关系应减小到最低程度;
(4) 接口控制原则: MBD与非MBD模块接口定义需经相关人员共同确定并形成基线文档, 维护过程中出现接口变更时, 提交接口文档更改申请后, 再更改相应的控制软件。
根据软件架构设计原则, 将本文描述的控制软件划分为4层: 硬件操作层OS、 通用层EClib、 手工代码应用层AS和模型应用层MBD。 各层实现的主要功能如下:
(1) 硬件操作层OS主要实现控制软件与数字电子控制器的数据交互, 包括从电子控制器中采集原始数据给AS层进行数据加工处理, 并将AS层逻辑处理后的输出数据通过电子控制器输出给外部执行机构;
(2) 通用层EClib不参与控制, 只向OS和AS层提供通用库函数;
(3) 手工代码应用层AS主要实现对OS提供的采集数据的加工和处理、 故障诊断并形成相应的故障对策、 发动机各种状态的建立、 防消喘和开关量输出控制、 历史数据统计和存储以及通讯功能;
(4) 模型应用层MBD实现发动机的主要功能, 包括主燃油计算、 加力燃油计算、 喷口控制、 导叶角控制、 占空比控制。
根据软件架构设计原则, 本文描述的控制软件架构设计方案如图1所示, 每层中的各个子模块按照功能划分, 分别实现相应的功能。
3基于系统需求的模型仿真和测试
借助于Matlab/Simulink工具, 基于系统需求搭建完整的闭环数字仿真平台, 见图2。 各个模块模拟的功能如下:
(1) PLANE模块: 用来模拟飞机向发动机提供的指令信号, 包括油门杆角度、 飞行高度、 马赫数等;
(2) EEC模块: 用来模拟数字电子控制器的工作, 根据指令信号和反馈信号, 计算出控制量给定和控制输出信号, 包括主燃油计算、 加力燃油计算、 风扇导叶角给定值计算、 压气机导叶角给定值计算、 喷口面积给定值计算以及各个回路的占空比计算;
(3) ACTUATOR模块: 用于模拟伺服系统跟随特性, 采用系统辨识的方法得到相应执行机构的简化模型;
(4) ENGINE模块: 模拟发动机真实工作状态, 根据执行机构模型输出信号和指令信号, 按照发动机模型计算出发动机的输出信号, 包括转速、 温度和压力;
(5) SENSOR模块: 模拟控制器传感器采集环节, 采集执行结构和发动机输出信号;
(6) PANEL_CONTRL和ECGM_DISPLAY模块: 仿真结果的图形化显示。
根据图2的闭环数字仿真平台和系统需求, 在前期开展数字仿真与测试, 针对每条总体需求设计测试用例, 根据自动测试程序在闭环数字仿真平台上获得测试结果, 对其符合性进行测试和迭代, 直至模型的全部功能测试结果符合系统需求。
4代码自动生成过程
基于模型的开发方法中一项核心的技术就是代码自动生成技术, Simulink/Code Generation是MATLAB一个工具箱, 根据代码生成规则以及代码生成需求实现定制化和符合性的配置, 随后选择所需目标机语言编译器, 将基于系统需求搭建相应完整的仿真模型自动生成代码[11-12]。 代码自动生成的机制和过程如图3所示。
5硬件在回路验证
桌面完成MBD功能的仿真测试和缺陷修复后, 通过自动生成工具将生成的代码和手工代码进行集成, 可下载到目标机中进行硬件在回路验证。 硬件在回路仿真环境图如图4所示。
控制软件分别加载在控制器的A/B通道内, A/B通道控制软件通过CCDL总线通讯进行数据的交互, 地面检测装置、 信号调理箱和数字电子控制器通过数字信号进行数据的交互, 飞机通讯模拟软件通过1394b总线通讯和数字电子控制器进行总线数据的交互。 地面检测软件通过获取油门杆、 高度和马赫数等输入信号运行发动机模型, 计算出转速、 温度和压力信号, 并通过RS-422总线通讯传给控制器, 上位机软件通过RS-422总线通讯实时显示控制软件的监视数据和故障信息。
试验过程: 在该发动机的飞行包线内, 控制油门杆识别使发动机运行在慢车状態、 节流状态、 中间状态和加力状态, 其仿真结果如图5所示。 可以看出, 整个过程中, 发动机转子转速、 导叶角和喷口控制变化平稳, 控制正常。
从整个仿真结果来看, 无论是动态过程还是稳态过程, 发动机各个控制参数均没有出现过突的毛刺和激变, 证明通过桌面级的仿真验证, 确定好相关控制参数后, 通过自动生成代码, 即可完成在目标机上的调试。 和原来在目标机上进行控制性能参数调试相比, 大大节约了调试时间, 并且可以通过建立实物的数学模型, 在桌面上进行不断的性能优化迭代。
6结束语
本文对基于MBD的某型发动机控制软件的开发过程进行了研究, 通过架构设计准则和功能模块的划分, 设计了相应的软件架构, 并在前期基于系统需求开展了建模和仿真验证工作。 通过RTM自动生成代码技术, 将生成后的代码进行集成, 下载到目标机中, 即完成了整个软件的开发过程。 验证结果表明, 采用基于MBD的软件开发模式, 能够在前期通过桌面级仿真发现缺陷, 并在桌面上确定和性能相关的控制参数, 避免在目标机中进行相关的调试工作, 大大节约了控制软件开发时间。
随着基于MBD的控制软件开发应用的不断深入, 对于模型设计的安全性要求、 模型设计的配置管理要求, 以及如何在桌面上建立更精确的发动机各个附件的模型, 还需要进一步研究。
参考文献:
[1] 樊思齐, 李华聪, 樊丁, 等. 航空发动机控制(下册)[M]. 西安: 西北工业大学出版社, 2008: 10-12.
Fan Siqi, Li Huacong, Fan Ding, et al. AeroEngine Control(Part 2)[M]. Xian: Northwestern Polytechnical University Press, 2008: 10-12.(in Chinese)
[2] 任士彬, 孟庆明. 中国发展航空发动机FADEC技术的途径[J]. 航空发动机, 2010, 36(3): 54-56.
Ren Shibin, Meng Qingming. Development Approach of Aeroengine FADEC Technology in China[J]. Aeroengine, 2010, 36(3): 54-56.(in Chinese)
[3] Skira C A, Dehoff R L, Hall W E, Jr. Design Evaluation and Test of an Electronic, Multivariable Control for the F100 Turbofan Engine[C]∥AGARD Conference Proceedings No.274, Advanced Control Systems for Aircraft Powerplants, Cologne, Germany, 1979.
[4] 石斌. 航空发动机高可靠性FADEC软件系统技术研究[D]. 西安: 西北工业大学, 2004: 15-16.
Shi Bin. Research on High Reliability FADEC Software System of Aeroengine[D]. Xian: Northwestern Polytechnical University, 2004: 15-16.(in Chinese)
[5] 冯亚冬. 适航认证的FADEC软件自动测试平台的研究[D]. 上海: 上海交通大学, 2012: 12-13.
Feng Yadong. The Research of FADEC System Control Software Automatic Test Platform Which Is Based on Airworthiness Qualification[D]. Shanghai: Shanghai Jiao Tong University, 2012: 12-13.(in Chinese)
[6] Tamblyn S, Henry J, King E. A ModelBased Design and Testing Approach for Orion GN&C; Flight Software Development[C]∥IEEE Aerospace Conference, Bigsky, Montana, 2010.
[7] 馬恩, 刘富荣, 王鸿钧. 基于MBD 的商用航空发动机控制软件架构设计[J]. 航空计算技术, 2013, 43(6): 95-99.
Ma En, Liu Furong, Wang Hongjun. Architecture Design of Commercial AeroEngine Control System Software[J]. Aeronautical Computing Technique, 2013, 43(6): 95-99.(in Chinese)
[8] 温昱. 软件架构设计[M]. 北京: 电子工业出版社, 2007: 56-58.
Wen Yu. Software Architecture Design[M]. Beijing: Publishing House of Electronics Industry, 2007: 56-58.(in Chinese)
[9] 巴斯 L, 克莱门茨 P, 凯兹曼 R. 软件架构实践[M]. 2版. 车立红, 译. 北京: 清华大学出版社, 2004: 36-40.
Bass L, Clements P, Kazman R. Software Architecture in Practice[M]. 2nd ed. Translated by Che Lihong. Beijing: Tsinghua University Press, 2004: 36-40.(in Chinese)
[10] 张闻乾, 王琳, 李国玉. 某无人直升机的软件架构设计[J]. 测控技术, 2010, 29(7): 65-67.
Zhang Wenqian, Wang Lin, Li Guoyu. Software Architecture Design for Unmanned Helicopters Flight Control[J]. Measurement & Control Technology, 2010, 29(7): 65-67.(in Chinese)
[11] 赵彦斌, 钟再敏. 基于代码自动生成技术的汽车电子实时控制软件开发[J]. 计算机辅助工程, 2008, 17(3): 36-40.
Zhao Yanbin, Zhong Zaimin. Development on Automotive Electronic Real Time Control Software Based on AutoCode Generation Technology[J]. Computer Aided Engineering, 2008, 17(3): 36-40.(in Chinese)
[12] 齐振恒, 孙中杰, 李涛. RTW嵌入式代码自动生成机制与代码结构分析[J]. 计算机测量与控制, 2010, 18(3): 639-642.
Qi Zhenheng, Sun Zhongjie, Li Tao. RTW Embedded Code Auto Generation Mechanism and Code Structure Analysis[J].Comuputer Measurement & Control, 2010, 18(3): 639-642.(in Chinese)
Abstract: Full authority digital electronic control system(FADEC) is the future direction of aeroengine digital control system. Control software is the core of FADEC, and modelbased design(MBD)is the development trend of FADEC control software. In the development process of a certain type of engine control software, the software architecture design based on MBD is carried out, and model is developed and validated in the stage of system demand. By the code automatic generation mechanism, the automatically generated codes are loaded into the target machine. Through the hardware in the loop simulation, it is proved that the software development based on MBD can close down the software defect in the early stage of development process, which saves the time of control software development, and has a certain advantage on the desktop regression verification.
Key words: FADEC; control software; MBD; software architecture; desktop verification; aero engine