吳遠(yuǎn)盛 陳超 朱帥琦
摘要: 全權(quán)限數(shù)字電子控制系統(tǒng)(FADEC)是未來航空發(fā)動機(jī)數(shù)字控制系統(tǒng)發(fā)展的方向, 控制軟件是FADEC的核心, 基于模型設(shè)計(MBD)是FADEC控制軟件發(fā)展的趨勢。 本文在某型發(fā)動機(jī)控制軟件的開發(fā)過程中, 開展了基于MBD的軟件架構(gòu)設(shè)計, 并在系統(tǒng)需求階段進(jìn)行了模型的開發(fā)和驗(yàn)證。 最后通過代碼自動生成機(jī)制, 將自動生成后的代碼加載到目標(biāo)機(jī)中, 通過硬件在回路仿真驗(yàn)證, 證明采用基于MBD的軟件開發(fā)能夠?qū)④浖毕莘忾]在開發(fā)過程的前期, 節(jié)約了控制軟件開發(fā)時間, 并在桌面回歸驗(yàn)證上具有一定的優(yōu)勢。
關(guān)鍵詞: FADEC; 控制軟件; MBD; 軟件架構(gòu); 桌面驗(yàn)證; 航空發(fā)動機(jī)
中圖分類號: TJ763; V433文獻(xiàn)標(biāo)識碼: A文章編號: 1673-5048(2018)04-0073-05
0引言
隨著航空產(chǎn)業(yè)的迅速發(fā)展, 對飛行動力系統(tǒng)的要求越來越高。 作為飛機(jī)的心臟, 航空發(fā)動機(jī)安全有效的工作離不開先進(jìn)的控制技術(shù), 發(fā)動機(jī)性能的充分發(fā)揮主要依靠控制系統(tǒng)來實(shí)現(xiàn)和保證[1]。 近年來已日漸成熟的全權(quán)限數(shù)字電子控制系統(tǒng)(Full Authority Digital Electronic Control, FADEC)[2-3]具有體積小、 重量輕、 可靠性高、 控制精度高等優(yōu)勢, 其控制軟件易于編寫和修改, 可以實(shí)現(xiàn)復(fù)雜的控制規(guī)律和許多現(xiàn)代控制算法, 在航空發(fā)動機(jī)控制領(lǐng)域占據(jù)越來越重要的地位[4]。
傳統(tǒng)的FADEC嵌入式軟件開發(fā)是以代碼為中心的V模型開發(fā)流程, 以手工編碼為中心, 測試工作的重心出現(xiàn)在開發(fā)階段晚期(集成和系統(tǒng)測試階段), 早期的開發(fā)階段難以驗(yàn)證和發(fā)現(xiàn)缺陷, 而驗(yàn)證工作越往后, 需要的工作量越大、 難度越高, 導(dǎo)致軟件交付的周期長、 成本高[5]。
在基于模型的開發(fā)(ModelBased Design, MBD)[6-7]中, 設(shè)計人員根據(jù)系統(tǒng)需求建立模型, 并對模型進(jìn)行仿真測試, 及早發(fā)現(xiàn)其中的缺陷并不斷進(jìn)行修正和驗(yàn)證迭代, 最后直接通過模型生成和移植可執(zhí)行的嵌入式代碼。 基于模型的開發(fā)在設(shè)計階段就能不斷暴露軟件缺陷并進(jìn)行封閉, 而且省去了手工編碼和單元測試的工作, 開發(fā)人員將更多精力集中到軟件設(shè)計和控制算法優(yōu)化上。
本文在某型發(fā)動機(jī)控制軟件的開發(fā)過程中, 采用基于MBD的控制軟件設(shè)計, 提供了設(shè)計方案, 并在開發(fā)前期根據(jù)系統(tǒng)需求建立模型, 對模型進(jìn)行仿真測試。 封閉缺陷后, 模型通過MATLAB工具中的Simulink/Code Generation自動生成代碼, 下載到目標(biāo)機(jī)中, 完成整個控制軟件的開發(fā)過程。
1發(fā)動機(jī)簡化控制需求
本文描述的控制軟件實(shí)現(xiàn)了發(fā)動機(jī)控制的主要功能, 包括:
(1) 信號的采集, 包括模擬量、 頻率量、 開關(guān)量、 狀態(tài)量的采集;
(2) 故障檢測和處理, 包括極值故障、 斜率故障、 BIT故障、 回路故障和硬件故障檢測, 以及建立相應(yīng)的故障對策;
(3) 信號標(biāo)定轉(zhuǎn)換、 表決和濾波;
(4) 發(fā)動機(jī)控制功能, 包括主燃油控制、 加力燃油控制、 噴口控制、 導(dǎo)葉角控制、 防消喘控制、 防冰控制、 熱回油控制、 應(yīng)急放油控制、 液壓泵卸載控制;
(5) 占空比輸出和開關(guān)量輸出控制;
(6) 通訊功能, 包括與地面保障設(shè)備通訊、 與飛機(jī)設(shè)備通訊、 控制器通道間通訊;
(7) 歷史數(shù)據(jù)統(tǒng)計和存儲。
2軟件架構(gòu)設(shè)計[8-10]
軟件架構(gòu)設(shè)計遵守如下原則:
(1) 分層原則: 設(shè)計的分層層數(shù)不超過4層;
(2) 模塊劃分原則: 采用結(jié)構(gòu)化和模塊化的設(shè)計方法, 劃分關(guān)鍵模塊和重要模塊;
(3) 低耦合高內(nèi)聚原則: 模塊之間和程序單元之間的依賴關(guān)系應(yīng)減小到最低程度;
(4) 接口控制原則: MBD與非MBD模塊接口定義需經(jīng)相關(guān)人員共同確定并形成基線文檔, 維護(hù)過程中出現(xiàn)接口變更時, 提交接口文檔更改申請后, 再更改相應(yīng)的控制軟件。
根據(jù)軟件架構(gòu)設(shè)計原則, 將本文描述的控制軟件劃分為4層: 硬件操作層OS、 通用層EClib、 手工代碼應(yīng)用層AS和模型應(yīng)用層MBD。 各層實(shí)現(xiàn)的主要功能如下:
(1) 硬件操作層OS主要實(shí)現(xiàn)控制軟件與數(shù)字電子控制器的數(shù)據(jù)交互, 包括從電子控制器中采集原始數(shù)據(jù)給AS層進(jìn)行數(shù)據(jù)加工處理, 并將AS層邏輯處理后的輸出數(shù)據(jù)通過電子控制器輸出給外部執(zhí)行機(jī)構(gòu);
(2) 通用層EClib不參與控制, 只向OS和AS層提供通用庫函數(shù);
(3) 手工代碼應(yīng)用層AS主要實(shí)現(xiàn)對OS提供的采集數(shù)據(jù)的加工和處理、 故障診斷并形成相應(yīng)的故障對策、 發(fā)動機(jī)各種狀態(tài)的建立、 防消喘和開關(guān)量輸出控制、 歷史數(shù)據(jù)統(tǒng)計和存儲以及通訊功能;
(4) 模型應(yīng)用層MBD實(shí)現(xiàn)發(fā)動機(jī)的主要功能, 包括主燃油計算、 加力燃油計算、 噴口控制、 導(dǎo)葉角控制、 占空比控制。
根據(jù)軟件架構(gòu)設(shè)計原則, 本文描述的控制軟件架構(gòu)設(shè)計方案如圖1所示, 每層中的各個子模塊按照功能劃分, 分別實(shí)現(xiàn)相應(yīng)的功能。
3基于系統(tǒng)需求的模型仿真和測試
借助于Matlab/Simulink工具, 基于系統(tǒng)需求搭建完整的閉環(huán)數(shù)字仿真平臺, 見圖2。 各個模塊模擬的功能如下:
(1) PLANE模塊: 用來模擬飛機(jī)向發(fā)動機(jī)提供的指令信號, 包括油門桿角度、 飛行高度、 馬赫數(shù)等;
(2) EEC模塊: 用來模擬數(shù)字電子控制器的工作, 根據(jù)指令信號和反饋信號, 計算出控制量給定和控制輸出信號, 包括主燃油計算、 加力燃油計算、 風(fēng)扇導(dǎo)葉角給定值計算、 壓氣機(jī)導(dǎo)葉角給定值計算、 噴口面積給定值計算以及各個回路的占空比計算;
(3) ACTUATOR模塊: 用于模擬伺服系統(tǒng)跟隨特性, 采用系統(tǒng)辨識的方法得到相應(yīng)執(zhí)行機(jī)構(gòu)的簡化模型;
(4) ENGINE模塊: 模擬發(fā)動機(jī)真實(shí)工作狀態(tài), 根據(jù)執(zhí)行機(jī)構(gòu)模型輸出信號和指令信號, 按照發(fā)動機(jī)模型計算出發(fā)動機(jī)的輸出信號, 包括轉(zhuǎn)速、 溫度和壓力;
(5) SENSOR模塊: 模擬控制器傳感器采集環(huán)節(jié), 采集執(zhí)行結(jié)構(gòu)和發(fā)動機(jī)輸出信號;
(6) PANEL_CONTRL和ECGM_DISPLAY模塊: 仿真結(jié)果的圖形化顯示。
根據(jù)圖2的閉環(huán)數(shù)字仿真平臺和系統(tǒng)需求, 在前期開展數(shù)字仿真與測試, 針對每條總體需求設(shè)計測試用例, 根據(jù)自動測試程序在閉環(huán)數(shù)字仿真平臺上獲得測試結(jié)果, 對其符合性進(jìn)行測試和迭代, 直至模型的全部功能測試結(jié)果符合系統(tǒng)需求。
4代碼自動生成過程
基于模型的開發(fā)方法中一項(xiàng)核心的技術(shù)就是代碼自動生成技術(shù), Simulink/Code Generation是MATLAB一個工具箱, 根據(jù)代碼生成規(guī)則以及代碼生成需求實(shí)現(xiàn)定制化和符合性的配置, 隨后選擇所需目標(biāo)機(jī)語言編譯器, 將基于系統(tǒng)需求搭建相應(yīng)完整的仿真模型自動生成代碼[11-12]。 代碼自動生成的機(jī)制和過程如圖3所示。
5硬件在回路驗(yàn)證
桌面完成MBD功能的仿真測試和缺陷修復(fù)后, 通過自動生成工具將生成的代碼和手工代碼進(jìn)行集成, 可下載到目標(biāo)機(jī)中進(jìn)行硬件在回路驗(yàn)證。 硬件在回路仿真環(huán)境圖如圖4所示。
控制軟件分別加載在控制器的A/B通道內(nèi), A/B通道控制軟件通過CCDL總線通訊進(jìn)行數(shù)據(jù)的交互, 地面檢測裝置、 信號調(diào)理箱和數(shù)字電子控制器通過數(shù)字信號進(jìn)行數(shù)據(jù)的交互, 飛機(jī)通訊模擬軟件通過1394b總線通訊和數(shù)字電子控制器進(jìn)行總線數(shù)據(jù)的交互。 地面檢測軟件通過獲取油門桿、 高度和馬赫數(shù)等輸入信號運(yùn)行發(fā)動機(jī)模型, 計算出轉(zhuǎn)速、 溫度和壓力信號, 并通過RS-422總線通訊傳給控制器, 上位機(jī)軟件通過RS-422總線通訊實(shí)時顯示控制軟件的監(jiān)視數(shù)據(jù)和故障信息。
試驗(yàn)過程: 在該發(fā)動機(jī)的飛行包線內(nèi), 控制油門桿識別使發(fā)動機(jī)運(yùn)行在慢車狀態(tài)、 節(jié)流狀態(tài)、 中間狀態(tài)和加力狀態(tài), 其仿真結(jié)果如圖5所示。 可以看出, 整個過程中, 發(fā)動機(jī)轉(zhuǎn)子轉(zhuǎn)速、 導(dǎo)葉角和噴口控制變化平穩(wěn), 控制正常。
從整個仿真結(jié)果來看, 無論是動態(tài)過程還是穩(wěn)態(tài)過程, 發(fā)動機(jī)各個控制參數(shù)均沒有出現(xiàn)過突的毛刺和激變, 證明通過桌面級的仿真驗(yàn)證, 確定好相關(guān)控制參數(shù)后, 通過自動生成代碼, 即可完成在目標(biāo)機(jī)上的調(diào)試。 和原來在目標(biāo)機(jī)上進(jìn)行控制性能參數(shù)調(diào)試相比, 大大節(jié)約了調(diào)試時間, 并且可以通過建立實(shí)物的數(shù)學(xué)模型, 在桌面上進(jìn)行不斷的性能優(yōu)化迭代。
6結(jié)束語
本文對基于MBD的某型發(fā)動機(jī)控制軟件的開發(fā)過程進(jìn)行了研究, 通過架構(gòu)設(shè)計準(zhǔn)則和功能模塊的劃分, 設(shè)計了相應(yīng)的軟件架構(gòu), 并在前期基于系統(tǒng)需求開展了建模和仿真驗(yàn)證工作。 通過RTM自動生成代碼技術(shù), 將生成后的代碼進(jìn)行集成, 下載到目標(biāo)機(jī)中, 即完成了整個軟件的開發(fā)過程。 驗(yàn)證結(jié)果表明, 采用基于MBD的軟件開發(fā)模式, 能夠在前期通過桌面級仿真發(fā)現(xiàn)缺陷, 并在桌面上確定和性能相關(guān)的控制參數(shù), 避免在目標(biāo)機(jī)中進(jìn)行相關(guān)的調(diào)試工作, 大大節(jié)約了控制軟件開發(fā)時間。
隨著基于MBD的控制軟件開發(fā)應(yīng)用的不斷深入, 對于模型設(shè)計的安全性要求、 模型設(shè)計的配置管理要求, 以及如何在桌面上建立更精確的發(fā)動機(jī)各個附件的模型, 還需要進(jìn)一步研究。
參考文獻(xiàn):
[1] 樊思齊, 李華聰, 樊丁, 等. 航空發(fā)動機(jī)控制(下冊)[M]. 西安: 西北工業(yè)大學(xué)出版社, 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] 任士彬, 孟慶明. 中國發(fā)展航空發(fā)動機(jī)FADEC技術(shù)的途徑[J]. 航空發(fā)動機(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] 石斌. 航空發(fā)動機(jī)高可靠性FADEC軟件系統(tǒng)技術(shù)研究[D]. 西安: 西北工業(yè)大學(xué), 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] 馮亞冬. 適航認(rèn)證的FADEC軟件自動測試平臺的研究[D]. 上海: 上海交通大學(xué), 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 的商用航空發(fā)動機(jī)控制軟件架構(gòu)設(shè)計[J]. 航空計算技術(shù), 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] 溫昱. 軟件架構(gòu)設(shè)計[M]. 北京: 電子工業(yè)出版社, 2007: 56-58.
Wen Yu. Software Architecture Design[M]. Beijing: Publishing House of Electronics Industry, 2007: 56-58.(in Chinese)
[9] 巴斯 L, 克萊門茨 P, 凱茲曼 R. 軟件架構(gòu)實(shí)踐[M]. 2版. 車立紅, 譯. 北京: 清華大學(xué)出版社, 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ī)的軟件架構(gòu)設(shè)計[J]. 測控技術(shù), 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] 趙彥斌, 鐘再敏. 基于代碼自動生成技術(shù)的汽車電子實(shí)時控制軟件開發(fā)[J]. 計算機(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ī)制與代碼結(jié)構(gòu)分析[J]. 計算機(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