摘要:結合航空發動機試驗數據批量處理的需要,基于Python程序設計語言,完成了某航空發動機試驗數據處理程序的開發,并通過示例進行了驗證。結果表明,基于Python的發動機試驗數據處理方法能夠高效地完成數據處理和分析任務,特別是對于長周期試驗數據,自動化批處理能夠減少技術人員的重復勞動,同時還可以避免人為低級錯誤,提升數據處理的可靠性,可以為航空發動機設計人員分析試驗數據提供參考。
關鍵詞:Python 航空發動機 試驗數據 批量處理[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
航空發動機在研制過程中需要開展大量的臺架試驗,特別是時間周期長的持久、可靠性累積和壽命試驗,試驗時數長達幾十小時到幾千小時。試驗數據的處理和分析是確保試驗結果準確可靠的關鍵環節。采用Excel、Origin等傳統數據處理工具進行處理,需要大量的重復性勞動,效率低下,并且可能引入人為誤差。因此,航空發動機試驗數據處理技術的發展對提高航空發動機性能和可行性具有重要意義。本文以某型發動機實測試驗數據為例,基于Python程序設計語言,完成了某航空發動機試驗數據處理程序的開發,并通過示例進行了驗證。
1 Python編程的特點
Python是一種高級編程語言,其優點之一是語法簡潔明了,接近自然語言,易于學習和理解,并且具有強大的數據處理能力[1],便于發動機設計人員根據參研型號數據的特點和自身需要進行代碼的更改和功能的擴展。此外,Python擁有豐富的庫資源,尤其是在數值計算方面擁有強大的第三方開源庫支撐[2]。數據處理分析方面,提供了矩陣運算庫Numpy、數據處理庫Pandas等,可以方便地對表格形式的數據進行處理,也提供了與流行數據庫的數據交互接口[3]。在圖形化顯示方面,數據可視化繪圖庫Matplotlib可以方便地繪制柱狀圖、餅圖、線圖、散點圖、等高線圖、3D 圖形等[4]。
相較于使用Excel、Origin等工具進行數據處理,Python能夠提供更高效的數據處理和分析工具,并且可以實現更多的自動化和批量處理操作,是一種更為高效和靈活的數據處理方式,能夠減少技術人員的重復勞動,節約時間成本,同時還可以避免人為低級錯誤,提升數據處理的可靠性。
2 試驗數據處理與分析
2.1 處理流程
數據處理的流程如圖1所示,主要包括數據導入、判斷數據有效性、剔除壞點、進行分割和拼接,得到完整有效的試驗數據,然后進行信息統計、穩態數據處理和瞬態數據處理,以及進行結果的圖形化顯示。
2.2 數據導入
航空發動機試驗數據往往是以時間序列的形式記錄下來的,格式通常為表格形式的純文本、表格或數據庫文件。根據數據文件的格式類型,可以通過Pandas庫方面地讀取表格數據,并保存為表格的形式。處理大量試驗數據時,選中數據文件所在的文件夾路徑,匹配正確的數據文件格式,可以進行批量數據讀取。
2.3 數據預處理
導入數據后,首先判斷是否為連續試驗數據,然后進行預處理,包括識別試驗車臺、識別數據正誤、數據分割與拼接、數據統計等。
2.3.1識別試驗車臺
對于不同的試驗車臺,部分測量的試驗參數可能存在差異,相同的測量參數在不同的試驗臺也可能存在不同的命名。因此,導入數據后,需要確定試驗車臺,以便通過試驗車臺確定需要的數據參數。
2.3.2識別數據正誤
試驗過程中,可能會因為測點損壞、電磁干擾等原因導致數據存在錯誤,在處理數據前,首先應對數據的正確性進行判斷,根據參數的可能性區間,去除壞點數據。
2.3.3數據分割與拼接
試驗車臺保存數據過程中,可能會因為試驗時間較長而將同一次試驗數據按時間保存為多個文件,或將多次短時間的試驗數據保存為一個文件。為了便于后續數據統計及畫圖,需要判斷每次試驗的開始時刻和結束時刻,并依此對數據進行分割與拼接,即對數據表格的行進行增加和刪除操作。
2.3.4數據統計
航空發動機整機臺架試驗分為冷運轉、假開車和起動運行3類。其中,冷運轉一般時間較短,發動機轉子有轉速,但不供油;假開車持續時間與冷運轉時間相當,供油但不點火;起動運行時供油且點火,一般時間較長,從2 [wl4]"min到數小時不等。對于每次試驗,一般需要對冷運轉、假開車和起動的次數,以及發動機總運行時間、不同狀態運行時間等數據進行統計和記錄。相較于人工記錄,通過編程進行自動化批量統計可以避免人為誤差,更為精確和方便。
2.4 穩態試驗數據處理
2.4.1穩態數據點獲取
得到穩態性能是發動機地面臺架試驗最基本的要求之一。對于得到穩態數據,最為關鍵的是對狀態“穩定”的判別。判據過于嚴苛,可能導致狀態停留時間較短時遺漏該狀態的穩態數據點;判據過于寬松,可能得到未穩定的數據。實際試驗中,不僅油門桿或功率桿會影響到發動機的狀態,發動機進口溫度和壓力,以及引氣和液壓、直流和交流等功率分出都會影響發動機的狀態。因此,一般選擇功率或高壓轉速,結合油門桿或功率桿角度、進口溫度、引氣流量、功率分出值等參數進行嵌套判斷。取5~10[A5]" s內的滑動算術平均值,通過均方差判斷數據是否穩定,以得到穩態數據點。
2.4.2參數篩選
試驗車臺記錄保存的數據中,一般包括轉速、功率、溫度、壓力等發動機性能參數,以及滑油系統參數、燃油系統參數、起動系統參數、振動參數、車臺設備的相關參數等,多達幾十甚至上百個數據列。因此,需要從大量的數據列中篩選出重要的、需要關注的參數,方便后續試驗報告的編制。
2.4.3參數換算修正
發動機進行地面臺架性能試驗時,試驗大氣條件對性能參數的影響較大,為了便于對比和考核,需要將不同大氣條件下的發動機穩態性能參數數據換算到相同條件。
2.4.4數據變化趨勢
對于周期較長的試驗,批量得到穩態數據后,通過對比相同狀態的相同參數隨時間的變化趨勢,得到性能的衰減情況。
2.5 瞬態試驗數據處理
2.5.1起動過程
起動過程中,需要關注點火成功時間、點火轉速、起動時間、起動過程中最高溫度、最高燃油流量等參數,以便對起動性能進行判斷。其中,點火成功時間一般定義為轉子開始有轉速到渦輪前溫度或排氣溫度開始上升的一段時間。起動時間一般定義為從轉子開始有轉速到轉速到達地面慢車狀態對應轉速的一段時間。
2.5.2停車過程
在停車過程中,需要對轉子余轉時間進行統計,以便判斷轉子的靈活性,以及是否有卡滯發生。余轉時間一般為從下拉功率桿停車到轉子轉速下降至零的一段時間。
2.5.3加減速過程
加減速響應時間和超調量是評估航空發動機性能的重要指標之一。加減速響應時間一般定義為功率桿(或負載桿)以不大于0.5 s的時間移動時,從功率桿(或負載桿)開始移動至功率值第一次到達功率變化95%所需的時間[5]。通過功率桿的變化率判斷加減速開始的時刻,以該時刻為時間軸基準向前尋找狀態變化前的穩態數據,向后尋找狀態變化后的穩態數據,再由狀態變化前后的穩態功率計算得到功率變化95%的值,最后根據該值尋找對應時刻,即可得到響應時間。
2.6 結果顯示與可視化
試驗數據可視化是數據分析的重要步驟之一,可以幫助設計人員更直觀地理解數據。Python提供的Matplotlib庫,可以方便地繪制折線圖、直方圖、散點圖等各類圖形,便于設計人員直觀地了解每次試驗中主要性能參數、振動參數、滑油系統參數等隨時間的變化,判斷發動機工作是否存在異常、是否存在性能衰減等情況。
3 數據處理實例
以某型航空發動機1[A6]"50 h持久試車為例,根據《航空渦輪螺槳和渦輪軸發動機通用規范》(GJB 242A—2018)要求,150 h持久試車需要開展25個階段試驗,每個階段6 h。
在某個階段試車過程中,發動機功率和各測點振動參數變化折線圖如圖2所示。圖2中,除時間外的參數均已進行無量綱化處理,可以直觀地判斷振動測點振動值變化情況和振動參數是否超出限制值。
在整個150 h持久試車試驗中,最大功率狀態的排氣溫度分布直方圖如圖3所示。根據《航空渦輪螺槳和渦輪軸發動機通用規范》(GJB 242A—2018)要求,在最大功率狀態時,第一級渦輪轉子進口溫度應為最高允許的穩態燃氣溫度。通過狀態累積時間統計,可以得到最大功率狀態的第一級渦輪轉子進口溫度分布情況。
在25個階段持久試車過程中,最大狀態的排氣溫度分布散點圖如圖4所示。從圖4中可以看到,排氣溫度隨階段數增加呈上升趨勢,但未超出限制值,并且在前15個階段溫度增加較為明顯,后10個階段則趨于平穩。
4 結論
本文從數據預處理、穩態試驗數據處理與分析、瞬態試驗數據處理與分析、結果顯示與可視化4個方面,介紹了基于Python 的航空發動機試驗數據處理和分析方法,并以150 h持久試車試驗數據為例,給出了數據處理的結果。本文所提供的方法和技巧可以幫助研究人員更好地分析和理解航空發動機試驗數據,可以為航空設計人員分析數據提供參考。
參考文獻