摘要:結(jié)合航空發(fā)動機試驗數(shù)據(jù)批量處理的需要,基于Python程序設(shè)計語言,完成了某航空發(fā)動機試驗數(shù)據(jù)處理程序的開發(fā),并通過示例進行了驗證。結(jié)果表明,基于Python的發(fā)動機試驗數(shù)據(jù)處理方法能夠高效地完成數(shù)據(jù)處理和分析任務(wù),特別是對于長周期試驗數(shù)據(jù),自動化批處理能夠減少技術(shù)人員的重復勞動,同時還可以避免人為低級錯誤,提升數(shù)據(jù)處理的可靠性,可以為航空發(fā)動機設(shè)計人員分析試驗數(shù)據(jù)提供參考。
關(guān)鍵詞:Python 航空發(fā)動機 試驗數(shù)據(jù) 批量處理[wl2]
Data Processing and Analysis of Aerospace Engine Test Based on Python
YAO Tian CHENG Jian XU Yanbing
AVIC Hunan Power Machinery Research Institute, Zhuzhou, Hu’nan Province, 412002 China
Abstract: Integrating the needs of aerospace engine test data processing in batches, a data processing test data program for a certain aerospace engine test has been developed using the Python programming language and validated through examples. The results demonstrate that the Python based engine test data processing method can efficiently accomplish data processing and analysis tasks, especially for long-term test data. Automated batch processing can reduce repetitive labor for technical personnel, while also avoiding low-level human errors and enhancing the reliability of data processing. A reference can be provided for aerospace engine designers to analyze test data.
Key Words:Python; Aerospace engine; Test data; Batches processing
航空發(fā)動機在研制過程中需要開展大量的臺架試驗,特別是時間周期長的持久、可靠性累積和壽命試驗,試驗時數(shù)長達幾十小時到幾千小時。試驗數(shù)據(jù)的處理和分析是確保試驗結(jié)果準確可靠的關(guān)鍵環(huán)節(jié)。采用Excel、Origin等傳統(tǒng)數(shù)據(jù)處理工具進行處理,需要大量的重復性勞動,效率低下,并且可能引入人為誤差。因此,航空發(fā)動機試驗數(shù)據(jù)處理技術(shù)的發(fā)展對提高航空發(fā)動機性能和可行性具有重要意義。本文以某型發(fā)動機實測試驗數(shù)據(jù)為例,基于Python程序設(shè)計語言,完成了某航空發(fā)動機試驗數(shù)據(jù)處理程序的開發(fā),并通過示例進行了驗證。
1 Python編程的特點
Python是一種高級編程語言,其優(yōu)點之一是語法簡潔明了,接近自然語言,易于學習和理解,并且具有強大的數(shù)據(jù)處理能力[1],便于發(fā)動機設(shè)計人員根據(jù)參研型號數(shù)據(jù)的特點和自身需要進行代碼的更改和功能的擴展。此外,Python擁有豐富的庫資源,尤其是在數(shù)值計算方面擁有強大的第三方開源庫支撐[2]。數(shù)據(jù)處理分析方面,提供了矩陣運算庫Numpy、數(shù)據(jù)處理庫Pandas等,可以方便地對表格形式的數(shù)據(jù)進行處理,也提供了與流行數(shù)據(jù)庫的數(shù)據(jù)交互接口[3]。在圖形化顯示方面,數(shù)據(jù)可視化繪圖庫Matplotlib可以方便地繪制柱狀圖、餅圖、線圖、散點圖、等高線圖、3D 圖形等[4]。
相較于使用Excel、Origin等工具進行數(shù)據(jù)處理,Python能夠提供更高效的數(shù)據(jù)處理和分析工具,并且可以實現(xiàn)更多的自動化和批量處理操作,是一種更為高效和靈活的數(shù)據(jù)處理方式,能夠減少技術(shù)人員的重復勞動,節(jié)約時間成本,同時還可以避免人為低級錯誤,提升數(shù)據(jù)處理的可靠性。
2 試驗數(shù)據(jù)處理與分析
2.1 處理流程
數(shù)據(jù)處理的流程如圖1所示,主要包括數(shù)據(jù)導入、判斷數(shù)據(jù)有效性、剔除壞點、進行分割和拼接,得到完整有效的試驗數(shù)據(jù),然后進行信息統(tǒng)計、穩(wěn)態(tài)數(shù)據(jù)處理和瞬態(tài)數(shù)據(jù)處理,以及進行結(jié)果的圖形化顯示。
2.2 數(shù)據(jù)導入
航空發(fā)動機試驗數(shù)據(jù)往往是以時間序列的形式記錄下來的,格式通常為表格形式的純文本、表格或數(shù)據(jù)庫文件。根據(jù)數(shù)據(jù)文件的格式類型,可以通過Pandas庫方面地讀取表格數(shù)據(jù),并保存為表格的形式。處理大量試驗數(shù)據(jù)時,選中數(shù)據(jù)文件所在的文件夾路徑,匹配正確的數(shù)據(jù)文件格式,可以進行批量數(shù)據(jù)讀取。
2.3 數(shù)據(jù)預處理
導入數(shù)據(jù)后,首先判斷是否為連續(xù)試驗數(shù)據(jù),然后進行預處理,包括識別試驗車臺、識別數(shù)據(jù)正誤、數(shù)據(jù)分割與拼接、數(shù)據(jù)統(tǒng)計等。
2.3.1識別試驗車臺
對于不同的試驗車臺,部分測量的試驗參數(shù)可能存在差異,相同的測量參數(shù)在不同的試驗臺也可能存在不同的命名。因此,導入數(shù)據(jù)后,需要確定試驗車臺,以便通過試驗車臺確定需要的數(shù)據(jù)參數(shù)。
2.3.2識別數(shù)據(jù)正誤
試驗過程中,可能會因為測點損壞、電磁干擾等原因?qū)е聰?shù)據(jù)存在錯誤,在處理數(shù)據(jù)前,首先應(yīng)對數(shù)據(jù)的正確性進行判斷,根據(jù)參數(shù)的可能性區(qū)間,去除壞點數(shù)據(jù)。
2.3.3數(shù)據(jù)分割與拼接
試驗車臺保存數(shù)據(jù)過程中,可能會因為試驗時間較長而將同一次試驗數(shù)據(jù)按時間保存為多個文件,或?qū)⒍啻味虝r間的試驗數(shù)據(jù)保存為一個文件。為了便于后續(xù)數(shù)據(jù)統(tǒng)計及畫圖,需要判斷每次試驗的開始時刻和結(jié)束時刻,并依此對數(shù)據(jù)進行分割與拼接,即對數(shù)據(jù)表格的行進行增加和刪除操作。
2.3.4數(shù)據(jù)統(tǒng)計
航空發(fā)動機整機臺架試驗分為冷運轉(zhuǎn)、假開車和起動運行3類。其中,冷運轉(zhuǎn)一般時間較短,發(fā)動機轉(zhuǎn)子有轉(zhuǎn)速,但不供油;假開車持續(xù)時間與冷運轉(zhuǎn)時間相當,供油但不點火;起動運行時供油且點火,一般時間較長,從2 [wl4]"min到數(shù)小時不等。對于每次試驗,一般需要對冷運轉(zhuǎn)、假開車和起動的次數(shù),以及發(fā)動機總運行時間、不同狀態(tài)運行時間等數(shù)據(jù)進行統(tǒng)計和記錄。相較于人工記錄,通過編程進行自動化批量統(tǒng)計可以避免人為誤差,更為精確和方便。
2.4 穩(wěn)態(tài)試驗數(shù)據(jù)處理
2.4.1穩(wěn)態(tài)數(shù)據(jù)點獲取
得到穩(wěn)態(tài)性能是發(fā)動機地面臺架試驗最基本的要求之一。對于得到穩(wěn)態(tài)數(shù)據(jù),最為關(guān)鍵的是對狀態(tài)“穩(wěn)定”的判別。判據(jù)過于嚴苛,可能導致狀態(tài)停留時間較短時遺漏該狀態(tài)的穩(wěn)態(tài)數(shù)據(jù)點;判據(jù)過于寬松,可能得到未穩(wěn)定的數(shù)據(jù)。實際試驗中,不僅油門桿或功率桿會影響到發(fā)動機的狀態(tài),發(fā)動機進口溫度和壓力,以及引氣和液壓、直流和交流等功率分出都會影響發(fā)動機的狀態(tài)。因此,一般選擇功率或高壓轉(zhuǎn)速,結(jié)合油門桿或功率桿角度、進口溫度、引氣流量、功率分出值等參數(shù)進行嵌套判斷。取5~10[A5]" s內(nèi)的滑動算術(shù)平均值,通過均方差判斷數(shù)據(jù)是否穩(wěn)定,以得到穩(wěn)態(tài)數(shù)據(jù)點。
2.4.2參數(shù)篩選
試驗車臺記錄保存的數(shù)據(jù)中,一般包括轉(zhuǎn)速、功率、溫度、壓力等發(fā)動機性能參數(shù),以及滑油系統(tǒng)參數(shù)、燃油系統(tǒng)參數(shù)、起動系統(tǒng)參數(shù)、振動參數(shù)、車臺設(shè)備的相關(guān)參數(shù)等,多達幾十甚至上百個數(shù)據(jù)列。因此,需要從大量的數(shù)據(jù)列中篩選出重要的、需要關(guān)注的參數(shù),方便后續(xù)試驗報告的編制。
2.4.3參數(shù)換算修正
發(fā)動機進行地面臺架性能試驗時,試驗大氣條件對性能參數(shù)的影響較大,為了便于對比和考核,需要將不同大氣條件下的發(fā)動機穩(wěn)態(tài)性能參數(shù)數(shù)據(jù)換算到相同條件。
2.4.4數(shù)據(jù)變化趨勢
對于周期較長的試驗,批量得到穩(wěn)態(tài)數(shù)據(jù)后,通過對比相同狀態(tài)的相同參數(shù)隨時間的變化趨勢,得到性能的衰減情況。
2.5 瞬態(tài)試驗數(shù)據(jù)處理
2.5.1起動過程
起動過程中,需要關(guān)注點火成功時間、點火轉(zhuǎn)速、起動時間、起動過程中最高溫度、最高燃油流量等參數(shù),以便對起動性能進行判斷。其中,點火成功時間一般定義為轉(zhuǎn)子開始有轉(zhuǎn)速到渦輪前溫度或排氣溫度開始上升的一段時間。起動時間一般定義為從轉(zhuǎn)子開始有轉(zhuǎn)速到轉(zhuǎn)速到達地面慢車狀態(tài)對應(yīng)轉(zhuǎn)速的一段時間。
2.5.2停車過程
在停車過程中,需要對轉(zhuǎn)子余轉(zhuǎn)時間進行統(tǒng)計,以便判斷轉(zhuǎn)子的靈活性,以及是否有卡滯發(fā)生。余轉(zhuǎn)時間一般為從下拉功率桿停車到轉(zhuǎn)子轉(zhuǎn)速下降至零的一段時間。
2.5.3加減速過程
加減速響應(yīng)時間和超調(diào)量是評估航空發(fā)動機性能的重要指標之一。加減速響應(yīng)時間一般定義為功率桿(或負載桿)以不大于0.5 s的時間移動時,從功率桿(或負載桿)開始移動至功率值第一次到達功率變化95%所需的時間[5]。通過功率桿的變化率判斷加減速開始的時刻,以該時刻為時間軸基準向前尋找狀態(tài)變化前的穩(wěn)態(tài)數(shù)據(jù),向后尋找狀態(tài)變化后的穩(wěn)態(tài)數(shù)據(jù),再由狀態(tài)變化前后的穩(wěn)態(tài)功率計算得到功率變化95%的值,最后根據(jù)該值尋找對應(yīng)時刻,即可得到響應(yīng)時間。
2.6 結(jié)果顯示與可視化
試驗數(shù)據(jù)可視化是數(shù)據(jù)分析的重要步驟之一,可以幫助設(shè)計人員更直觀地理解數(shù)據(jù)。Python提供的Matplotlib庫,可以方便地繪制折線圖、直方圖、散點圖等各類圖形,便于設(shè)計人員直觀地了解每次試驗中主要性能參數(shù)、振動參數(shù)、滑油系統(tǒng)參數(shù)等隨時間的變化,判斷發(fā)動機工作是否存在異常、是否存在性能衰減等情況。
3 數(shù)據(jù)處理實例
以某型航空發(fā)動機1[A6]"50 h持久試車為例,根據(jù)《航空渦輪螺槳和渦輪軸發(fā)動機通用規(guī)范》(GJB 242A—2018)要求,150 h持久試車需要開展25個階段試驗,每個階段6 h。
在某個階段試車過程中,發(fā)動機功率和各測點振動參數(shù)變化折線圖如圖2所示。圖2中,除時間外的參數(shù)均已進行無量綱化處理,可以直觀地判斷振動測點振動值變化情況和振動參數(shù)是否超出限制值。
在整個150 h持久試車試驗中,最大功率狀態(tài)的排氣溫度分布直方圖如圖3所示。根據(jù)《航空渦輪螺槳和渦輪軸發(fā)動機通用規(guī)范》(GJB 242A—2018)要求,在最大功率狀態(tài)時,第一級渦輪轉(zhuǎn)子進口溫度應(yīng)為最高允許的穩(wěn)態(tài)燃氣溫度。通過狀態(tài)累積時間統(tǒng)計,可以得到最大功率狀態(tài)的第一級渦輪轉(zhuǎn)子進口溫度分布情況。
在25個階段持久試車過程中,最大狀態(tài)的排氣溫度分布散點圖如圖4所示。從圖4中可以看到,排氣溫度隨階段數(shù)增加呈上升趨勢,但未超出限制值,并且在前15個階段溫度增加較為明顯,后10個階段則趨于平穩(wěn)。
4 結(jié)論
本文從數(shù)據(jù)預處理、穩(wěn)態(tài)試驗數(shù)據(jù)處理與分析、瞬態(tài)試驗數(shù)據(jù)處理與分析、結(jié)果顯示與可視化4個方面,介紹了基于Python 的航空發(fā)動機試驗數(shù)據(jù)處理和分析方法,并以150 h持久試車試驗數(shù)據(jù)為例,給出了數(shù)據(jù)處理的結(jié)果。本文所提供的方法和技巧可以幫助研究人員更好地分析和理解航空發(fā)動機試驗數(shù)據(jù),可以為航空設(shè)計人員分析數(shù)據(jù)提供參考。
參考文獻