999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python的航空發(fā)動機仿真平臺開發(fā)

2021-06-21 01:53:18
計算機應用與軟件 2021年6期
關鍵詞:發(fā)動機數(shù)據(jù)庫模型

肖 力

(無錫工藝職業(yè)技術(shù)學院 江蘇 無錫 214200)

0 引 言

航空發(fā)動機數(shù)字電子控制系統(tǒng)(數(shù)控系統(tǒng))涉及自動控制、電子、軟件、機械液壓等眾多學科領域,是一個多變量、非線性、多功能的復雜系統(tǒng),且朝著綜合化、小型化、智能化和分布式的方向發(fā)展[1-5]。由于航空發(fā)動機臺架試驗和試飛試驗的高投入和高風險,在數(shù)控系統(tǒng)裝機之前的研發(fā)活動中,需要進行一系列仿真實驗,其中主要包括數(shù)控系統(tǒng)全數(shù)字仿真、硬件在回路仿真和半物理仿真三個環(huán)節(jié)[6]。隨著計算機技術(shù)的發(fā)展和應用,基于數(shù)字計算技術(shù)的航空發(fā)動機建模、控制算法和系統(tǒng)仿真對航空發(fā)動機數(shù)控系統(tǒng)的研制起到了重要的助推作用。數(shù)字仿真技術(shù)的應用主要體現(xiàn)在控制算法和控制邏輯的缺陷識別、復雜環(huán)境模擬、故障注入和極限邊界逼近等方面,從而達到提升控制系統(tǒng)質(zhì)量、提高研發(fā)效率和降低驗證成本的目的[7-8]。因此,開發(fā)可靠高效的數(shù)字仿真平臺對航空發(fā)動機數(shù)控系統(tǒng)的設計和驗證起到十分關鍵的支撐作用。

Python語言是一種解釋型的動態(tài)語言,既支持面向過程的編程又支持面向?qū)ο蟮木幊蘙9]。Python在數(shù)值計算和仿真方面有強大的第三方開源庫支撐,開發(fā)人員可以自行更改Python開源算法的細節(jié),與航空發(fā)動機仿真平臺開發(fā)常用的傳統(tǒng)的MATLAB或VC++環(huán)境相比較,在GUI設計、數(shù)據(jù)庫開發(fā)和可移植性方面,Python優(yōu)于MATLAB;在靈活性、易用性和開源支持方面,Python優(yōu)于VC++。結(jié)合航空發(fā)動機數(shù)控系統(tǒng)仿真驗證的需要,本文開發(fā)基于Python的航空發(fā)動機全數(shù)字仿真平臺,從整體框架、發(fā)動機模型和數(shù)據(jù)庫等方面進行闡述,并通過發(fā)動機仿真實驗驗證了平臺的正確性。

1 仿真平臺總體架構(gòu)設計

仿真平臺的總體架構(gòu)見圖1,是由發(fā)動機數(shù)學模型、仿真數(shù)據(jù)庫、數(shù)據(jù)分析與圖形化顯示、人機交互界面和仿真調(diào)度等功能模塊構(gòu)成的綜合化純數(shù)字仿真環(huán)境。

圖1 仿真平臺整體結(jié)構(gòu)圖

數(shù)據(jù)庫管理模塊完成數(shù)據(jù)庫創(chuàng)建、更新和檢索等功能,數(shù)據(jù)庫包含的主要信息有用戶數(shù)據(jù)、發(fā)動機特性數(shù)據(jù)和故障數(shù)據(jù)等。發(fā)動機模型模塊是包含發(fā)動機部件級模型的發(fā)動機模型庫,采用Python類對發(fā)動機各部件的氣動熱力學模型和通用算法進行設計和封裝,支持接口調(diào)用和繼承,可以方便地進行擴展。數(shù)據(jù)分析和顯示模塊綜合使用Python的矩陣運算庫Numpy、數(shù)據(jù)運算庫SciPy、數(shù)據(jù)處理庫Pandas和可視化繪圖庫Matplotlib對數(shù)據(jù)進行處理,并包括仿真報告生成等功能。人機交互模塊提供統(tǒng)一的界面管理能力,具有輸入?yún)?shù)設置、用戶信息配置、工具條等多種界面能力支持。任務管理模塊完成仿真平臺的任務調(diào)度和任務管理功能。

2 發(fā)動機建模

航空發(fā)動機模型是仿真系統(tǒng)的核心組成部分,發(fā)動機建模方法通常有理論分析法和試驗法,航空發(fā)動機部件級建模的方法屬于理論分析法,它是根據(jù)航空發(fā)動機在工作過程中所遵守的熱力學和動力學原理,把發(fā)動機工作表示成一組非線性方程組。這種建模方法以發(fā)動機各部件特性數(shù)據(jù)為依據(jù),按部件間的共同工作關系來建立發(fā)動機的動態(tài)或穩(wěn)態(tài)數(shù)學模型。部件法建模包括兩方面工作:(1) 發(fā)動機工作部件流道的氣動熱力計算;(2) 建立反映發(fā)動機動態(tài)、穩(wěn)態(tài)工作中各個部件共同工作關系的控制方程并求解[10]。本文研究的某型渦噴發(fā)動機,結(jié)構(gòu)見圖2。工作部件主要包括進氣道、壓氣機、燃燒室、渦輪和尾噴管。部件級模型的輸入?yún)?shù)是飛行高度(H)、馬赫數(shù)(Ma)、環(huán)境壓力(P0)、環(huán)境溫度(T0)和燃油流量(WF)。輸出參數(shù)為發(fā)動機各部件的截面參數(shù)(轉(zhuǎn)速、溫度、壓力等)和性能參數(shù)(推力等)。

圖2 某航空發(fā)動機結(jié)構(gòu)示意圖

圖2中,截面①為進氣道進口,截面②為進氣道出口(壓氣機進口),截面③為壓氣機出口(燃燒室進口),截面④為燃燒室出口(渦輪進口),截面⑤為渦輪出口,截面⑥為尾噴口。

2.1 部件模型設計

根據(jù)發(fā)動機工作過程的氣動熱力學關系,建立各個部件的模型,再按照各部件的數(shù)據(jù)流交互關系將建好的各部件模型進行調(diào)度組合,形成層次結(jié)構(gòu)的發(fā)動機部件模型。

本文的部件模型程序設計采用了面向?qū)ο蟮脑O計方法,面向?qū)ο蠹夹g(shù)具有封裝、繼承、派生等特點,可以自定數(shù)據(jù)結(jié)構(gòu)或模塊。使用面向?qū)ο蠓椒ǖ姆椒ㄟM行航空發(fā)動機部件建模,使得模型程序各模塊功能具有相對獨立性和可擴展性,以適應未來不斷升級的仿真需求。按照發(fā)動機部件、工質(zhì)以及求解通用算法,設計不同的Python類,見圖3。PyClass_Solver是算法求解庫類,包含了三角函數(shù)算法、查找算法、非線性方程組數(shù)值求解算法等的實現(xiàn)和封裝。PyClass_Map類包含了發(fā)動機部件特性插值算法。PyClass_Interface類屬于數(shù)據(jù)交換類,對接口進行有效的數(shù)據(jù)封裝,使得程序有良好的可擴展性。

圖3 部件模型程序設計

2.2 發(fā)動機穩(wěn)態(tài)和動態(tài)模型

航空發(fā)動機在運轉(zhuǎn)過程中,所有部件協(xié)同工作,形成一個有效的整體,各個部件必須共同滿足一定的協(xié)同工作條件。其中發(fā)動機穩(wěn)態(tài)工作必須同時滿足壓力平衡、功率平衡和流量連續(xù)三大條件[8]。

根據(jù)渦輪進口截面流量連續(xù)可得控制方程,即:

(Wg4T-W4c)/Wg4T=0

(1)

式中:Wg4T是渦輪特性數(shù)據(jù)插值得到的渦輪進口流量;W4c是經(jīng)過壓氣機、燃燒室等部件計算傳遞到渦輪進口的流量。

根據(jù)尾噴口壓力平衡可得控制方程,即:

P6c/P6-1=0

(2)

式中:P6c是尾噴管出口的大氣壓力;P6是經(jīng)過各部件特性計算傳遞到尾噴管出口的壓力。

根據(jù)發(fā)動機轉(zhuǎn)子功率平衡可得控制方程,即:

PT/PC-1=0

(3)

式中:PT是渦輪產(chǎn)生的功;PC是壓氣機消耗的功。

式(1)-式(3)共同組成了發(fā)動機的穩(wěn)態(tài)控制方程。

發(fā)動機動態(tài)工作過程是渦輪和壓氣機扭矩差產(chǎn)生轉(zhuǎn)動加速度的過程,因此渦輪和壓氣機的轉(zhuǎn)動功率不再平衡(但壓力平衡和流量連續(xù)仍然成立)。根據(jù)動力學原理,得到如下表達式:

(4)

式中:MT是燃氣渦輪的扭矩;ηT是燃氣渦輪效率;MC是壓氣機扭矩;J是轉(zhuǎn)動慣量;Ng是轉(zhuǎn)速。代入功率與轉(zhuǎn)矩的關系,可得轉(zhuǎn)子加速度與功率的關系表達式。

(5)

因此,式(1)、式(2)和式(5)共同組成了發(fā)動機的動態(tài)控制方程。

2.3 發(fā)動機模型求解

部件級模型由許多非線性方程及圖表、曲線等組成,因此無法給出一個閉合形式的解析解,必須采用數(shù)值解法進行求解計算。本文使用Newton-Raphson方法(牛頓-拉夫遜法),這種方法的實質(zhì)是迭代求解,基本思想是不斷對初猜值進行修正,使之逼近真實解。具體過程為:根據(jù)經(jīng)驗先確定一組初猜值(每個方程一個),將初猜值及其他已知參數(shù)代入方程,計算出發(fā)動機各個截面的參數(shù);將相關參數(shù)代入控制方程中檢查控制方程是否成立;如果成立,初猜值即為方程的解;否則,通過迭代對初猜值進行修正;將修正后的參數(shù)代入部件模型進行氣動熱力計算,檢查控制方程是否成立。如此反復,通過不斷修正初猜值,使其逼近方程的真正解[8,10-13]。

本文穩(wěn)態(tài)模型的求解即為用牛頓-拉夫遜方法修正初值n1、n2、n3,控制方程組如下:

fi(n1,n2,n3)=εi

(6)

在一定精度(本文用εmin=10-5)意義下成立,即:

fi(n1,n2,n3)=εi≤εmin

(7)

式中:i=1,2,3;ε為相對誤差。

假設第K步計算后相對誤差不滿足期望,即:

fi(n1,n2,n3)=εi|K≥εmin

(8)

則根據(jù)牛頓-拉夫遜法按偏導數(shù)方向修正初猜值,得到下一步初猜值。

ni|K+1=ni|K+Δni

(9)

式中:

(10)

A為雅可比矩陣,表達式為:

(11)

發(fā)動機仿真時,初猜值選擇壓氣機換算轉(zhuǎn)速Nc,渦輪落壓比Zg和壓氣機壓比系數(shù)Zc。

穩(wěn)態(tài)仿真的計算求解流程如圖4所示。

圖4 發(fā)動機模型穩(wěn)態(tài)求解流程

3 數(shù)據(jù)庫設計

傳統(tǒng)的發(fā)動機仿真平臺的各類數(shù)據(jù)基本都是采用文本形式存儲,文本形式的數(shù)據(jù)在存儲和讀寫等方面存在數(shù)據(jù)冗余量大、數(shù)據(jù)交互性差等不足。本仿真平臺為了減少數(shù)據(jù)冗余、實現(xiàn)數(shù)據(jù)資源的充分共享、提高數(shù)據(jù)的組織和管理能力、實現(xiàn)數(shù)據(jù)與應用程序的物理獨立,采用了數(shù)據(jù)庫的方式對數(shù)據(jù)進行存儲和管理。數(shù)據(jù)庫包括用戶信息數(shù)據(jù)、發(fā)動機特性數(shù)據(jù)和發(fā)動機性能數(shù)據(jù)和故障數(shù)據(jù)等。本文采用SQLite數(shù)據(jù)庫進行設計,SQLite是一款輕量級嵌入式關系型數(shù)據(jù)庫,具有開源、系統(tǒng)開銷小、檢索效率高等特點,實現(xiàn)了高效存儲中小規(guī)模的數(shù)據(jù),它支持SQL的大多數(shù)公共特性[14-16]。Python中內(nèi)置了SQLite3,可以方便地進行數(shù)據(jù)庫操作。

數(shù)據(jù)庫模塊見圖5,該模塊的輸入有XML數(shù)據(jù)格式的文件(發(fā)動機特性數(shù)據(jù)和用戶信息數(shù)據(jù)等)和仿真數(shù)據(jù)文件,對XML文件使用Python的Pandas庫進行XML解析,為提高解析大型XML數(shù)據(jù)文件的速度,提高數(shù)據(jù)庫創(chuàng)建和更新效率,采用了Pandas模塊對XML文件進行分塊,以1 MB為單位分塊讀取并解析XML。啟動仿真時,仿真模塊訪問數(shù)據(jù)庫中的數(shù)據(jù),獲取仿真需要的特性數(shù)據(jù),仿真過程產(chǎn)生的仿真數(shù)據(jù)(包含發(fā)動機性能數(shù)據(jù)、故障數(shù)據(jù)等)實時更新到數(shù)據(jù)庫中。圖6展示了數(shù)據(jù)庫中的數(shù)據(jù)表設計以及故障信息表中的數(shù)據(jù)。

圖5 數(shù)據(jù)庫模塊結(jié)構(gòu)圖

圖6 數(shù)據(jù)庫設計示意圖

4 數(shù)據(jù)分析與顯示

該模塊支持數(shù)據(jù)分析、圖形顯示和報表生成,其中數(shù)據(jù)分析是對仿真后的數(shù)據(jù)的離線分析,數(shù)據(jù)來源于數(shù)據(jù)庫。數(shù)據(jù)顯示包括仿真過程中的實時數(shù)據(jù)顯示和事后數(shù)據(jù)分析顯示。分析和顯示的數(shù)據(jù)包括發(fā)動機各截面的參數(shù),此外還包括發(fā)動機性能指標的分析,如仿真過程中的調(diào)節(jié)時間、超調(diào)量和穩(wěn)態(tài)誤差等。數(shù)據(jù)分析綜合使用Python的矩陣運算庫Numpy、數(shù)據(jù)運算庫SciPy和數(shù)據(jù)處理庫Pandas來實現(xiàn),圖形化顯示使用Python數(shù)據(jù)可視化繪圖庫Matplotlib。Matplotlib源于模仿MATLAB,但是它依托于Python語言,繼承了Python語法面向?qū)ο蟆⒁鬃x、代碼簡潔等優(yōu)點,是Python的開源拓展庫。Matplotlib可獨立地用于繪圖,也可嵌入在應用程序中,作為一個功能被使用。此外,數(shù)據(jù)分析與顯示還包含報表生成功能,可生成Excel格式的數(shù)據(jù)報表和Word文檔,這些形式的報表和文檔,對故障分析、仿真結(jié)果評審等可以提供很大便利。生成的報表和文檔作為數(shù)控系統(tǒng)適航認證的證據(jù)鏈數(shù)據(jù)進行歸檔,并與數(shù)控系統(tǒng)的其他數(shù)據(jù)項一起進行全生命周期的配置管理。

5 人機交互模塊設計

人機交互模塊負責平臺與用戶的人機交互,為用戶提供友好、可靠、靈活易用的人機交互功能,主要包括用戶參數(shù)錄入、數(shù)據(jù)顯示、系統(tǒng)參數(shù)設置等功能,人機交互模塊結(jié)構(gòu)圖見圖7。其中,菜單欄主要用于信息配置,包括用戶信息、項目信息和仿真參數(shù)等。對界面進行功能區(qū)域劃分,主要分為數(shù)據(jù)顯示(包括關鍵參數(shù)、動態(tài)曲線和實時故障信息三部分)、用戶輸入操作和子窗體操作幾個部分。

圖7 人機交互模塊界面結(jié)構(gòu)圖

6 仿真實驗

仿真驗證分為模塊級驗證和系統(tǒng)閉環(huán)仿真驗證兩部分,前者是對仿真平臺自身的單獨驗證,后者主要是對控制系統(tǒng)和控制軟件的功能和性能驗證。

模塊級驗證的核心是對發(fā)動機模型的驗證,首先驗證模型與理論計算的符合性,選擇階躍信號作為燃油輸入量,部分數(shù)據(jù)的仿真結(jié)果如圖8所示。可以看出,Python開發(fā)的發(fā)動機模型與理論計算分析的結(jié)果相符合,渦輪出口溫度、發(fā)動機轉(zhuǎn)速和推力都具有較好的動態(tài)響應。其次,在相同條件下,該模型的仿真結(jié)果與發(fā)動機地面臺架實驗的真實數(shù)據(jù)對比如表1所示。可以看出數(shù)據(jù)誤差均在0.5%以內(nèi),充分滿足項目數(shù)字仿真的精度要求。其他功能模塊的驗證主要通過調(diào)試和代碼審查的方式進行,均滿足平臺需求。

(a) 供油量曲線(b) 渦輪出口溫度曲線

(c) 發(fā)動機轉(zhuǎn)速曲線(d) 發(fā)動機推力曲線圖8 模塊仿真結(jié)果

表1 300ml/min供油量下穩(wěn)態(tài)結(jié)果對比

系統(tǒng)閉環(huán)仿真驗證是將發(fā)動機控制軟件和仿真平臺構(gòu)成閉環(huán)系統(tǒng)開展閉環(huán)仿真驗證,根據(jù)系統(tǒng)研制任務書和軟件需求規(guī)格說明,設計和編寫系統(tǒng)驗證用例,包括基本功能集、故障用例集等內(nèi)容,并對驗證用例和驗證結(jié)果進行專家評審。對于其中某型號發(fā)動機控制系統(tǒng)的閉環(huán)仿真驗證,讀取數(shù)據(jù)庫中的故障數(shù)據(jù),部分結(jié)果見圖9,其中的故障發(fā)生時間和故障消失時間是指相對于啟動仿真時刻的時間。

圖9 閉環(huán)實驗故障數(shù)據(jù)記錄圖

與基于MATLAB開發(fā)的航空發(fā)動機全數(shù)字仿真平臺相比,本仿真平臺在人機界面、數(shù)據(jù)管理和可移植性等方面有明顯的優(yōu)勢,而MATLAB/Simulink環(huán)境中自帶的開發(fā)人員可以直接使用的部分航空類和執(zhí)行機構(gòu)類(慣性環(huán)節(jié)、二階系統(tǒng)等)的數(shù)學模型,目前尚缺少Python開源庫,在本平臺開發(fā)時采用Python編碼實現(xiàn)該類模型。與基于VC++開發(fā)的全數(shù)字仿真平臺相比較,本仿真平臺在數(shù)值分析、報表生成和可維護性方面更具優(yōu)勢。但C/C++語言更接近計算機底層,基于C/C++語言開發(fā)的仿真平臺對底層驅(qū)動(如DFTI通信驅(qū)動等)有更多的支持,易于與硬件實物相結(jié)合,容易實現(xiàn)從全數(shù)字仿真平臺到硬件在回路仿真平臺的切換和資源重用。綜合分析,在全數(shù)字仿真層級,本平臺能充分滿足當前項目的仿真需要,且與傳統(tǒng)平臺相比較,具有多方面的優(yōu)勢。

7 結(jié) 語

本文采用模塊化設計,同時又采用面向?qū)ο蟮慕7椒ㄍ瓿珊娇瞻l(fā)動機數(shù)控系統(tǒng)全數(shù)字仿真平臺的開發(fā),充分結(jié)合Python語言的特點和優(yōu)勢,全數(shù)字仿真平臺集成了航空發(fā)動機數(shù)據(jù)庫、模型庫、人機交互界面等功能模塊,具有低耦合、數(shù)據(jù)與程序相分離等優(yōu)點。通過模塊驗證和系統(tǒng)閉環(huán)仿真實驗驗證了仿真平臺的正確性。目前,該平臺已應用于某系列型號航空發(fā)動機數(shù)控系統(tǒng)原型設計過程中的全數(shù)字仿真。該平臺現(xiàn)階段僅支持發(fā)動機穩(wěn)態(tài)和動態(tài)過程的仿真,后續(xù)將結(jié)合項目進度需要,加入發(fā)動機啟動過程模型等,形成可支撐發(fā)動機全狀態(tài)仿真的全數(shù)字仿真平臺。在模型的使用和繼承方面,未來考慮將MATLAB/Simulink環(huán)境中自帶的和已自定義開發(fā)的部分數(shù)學模型通過MATLAB/Simulink的RTW自動代碼生成工具自動生成源代碼,并將源代碼封裝成動態(tài)鏈接庫(Dynamic Link Library,DLL),在本平臺中直接對該動態(tài)鏈接庫進行集成和調(diào)用。

猜你喜歡
發(fā)動機數(shù)據(jù)庫模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
發(fā)動機空中起動包線擴展試飛組織與實施
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
3D打印中的模型分割與打包
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
新一代MTU2000發(fā)動機系列
主站蜘蛛池模板: 亚洲无码精彩视频在线观看| 国产亚洲精品97AA片在线播放| 亚洲精品天堂自在久久77| 理论片一区| 精品91在线| 亚洲精品视频免费| 久久人人妻人人爽人人卡片av| 精品久久久无码专区中文字幕| a级毛片一区二区免费视频| 午夜福利在线观看成人| 亚洲天堂网在线视频| 精品国产免费观看| 欧美色伊人| 国产人碰人摸人爱免费视频 | 国产一区二区丝袜高跟鞋| 99久久亚洲精品影院| 久久亚洲高清国产| 日韩国产精品无码一区二区三区| 高潮爽到爆的喷水女主播视频| 免费在线播放毛片| 亚洲欧美国产五月天综合| 亚洲美女一级毛片| hezyo加勒比一区二区三区| 欧美高清三区| av免费在线观看美女叉开腿| 国产人前露出系列视频| 就去吻亚洲精品国产欧美| 国产精品久久自在自2021| a级毛片在线免费| 亚洲国产中文综合专区在| 国产精品原创不卡在线| 色综合中文| 大香网伊人久久综合网2020| 欧美精品v欧洲精品| 亚洲国产精品无码久久一线| 国产精品污污在线观看网站| 亚洲大尺度在线| 国产乱人免费视频| 色婷婷在线播放| 免费人成视频在线观看网站| 中文无码精品A∨在线观看不卡| 国产乱子伦视频在线播放| av一区二区无码在线| 国产无码精品在线播放| 国产无码网站在线观看| 亚洲高清免费在线观看| 国产对白刺激真实精品91| 国产成人无码久久久久毛片| 日韩av无码精品专区| 黑色丝袜高跟国产在线91| 欧美劲爆第一页| 国模私拍一区二区三区| 欧美日本中文| 久久国产精品影院| 伊大人香蕉久久网欧美| 亚洲视频在线网| 超碰色了色| 色视频久久| 先锋资源久久| 中文字幕无线码一区| 亚洲va欧美va国产综合下载| 久无码久无码av无码| 婷婷伊人五月| 国产一级做美女做受视频| 欧美成人精品一级在线观看| 国产成人91精品| 午夜爽爽视频| 日本人真淫视频一区二区三区| 欧美日韩国产高清一区二区三区| 亚洲天堂视频在线免费观看| 亚洲国产精品无码AV| 国产黄在线免费观看| 日本国产精品| 日本不卡在线播放| 在线精品自拍| 国产香蕉一区二区在线网站| 黄色国产在线| 福利姬国产精品一区在线| 国产剧情一区二区| 欧美有码在线| 亚洲天堂视频在线观看| 亚洲一区第一页|