陳利 吳玉葉 羅丹 譚雨晨



摘要:針對某航空發動機試驗臺改造升級后,原有數據回放軟件不支持新數據庫、回放功能需擴展的需求,設計一款多功能數據回放軟件,軟件支持SQL Server數據庫數據表打開、數據回放、圖形化顯示、參數分析等功能。應用表明,軟件界面友好,人機交互能力強,通用性好,可推廣到其他試驗臺。
關鍵詞:航空發動機;數據回放;圖形化顯示
0? ? 引言
航空發動機試驗過程中,需通過數據采集系統采集、記錄試驗中轉速、功率、溫度、壓力、振動等數據[1]。某發動機試驗臺原采用基于VXI總線的數據采集系統,數據庫使用Access。在精細化測試需求牽引下,發動機上需要測量的參數多達上千點,原數據采集系統已不能滿足需求。經試驗臺改造升級,數據采集系統改造成基于LXI總線的分布式數據采集系統,數據存儲改用SQL Server數據庫。因此,原數據回放軟件不能滿足需求,表現在以下幾個方面:
(1)不支持SQL Server數據庫的數據讀取;
(2)軟件功能單一,僅能從Access數據庫中讀取數據,傳輸到數據顯示軟件;
(3)不能在回放界面上繪制多個參數的曲線進行對比、分析;
(4)軟件沒有采用組件的方式進行設計,未提供標準接口,不易集成到新開發的數據采集處理軟件中。
針對上述情況,設計一套多功能數據回放軟件,軟件具備友好的人機操作界面,支持SQL Server數據庫數據表打開,具備數據回放、圖形化顯示、參數分析等功能。
1? ? 需求分析
數據回放主要是試驗后讀取存儲在數據庫中的試驗數據,并傳輸到數據顯示軟件,進行數字、曲線、虛擬儀表等多樣化顯示,方便現場試驗人員重新觀看試驗過程,根據試驗人員提出的回放要求,軟件主要功能需求如下:
(1)軟件可自由選擇某個數據庫、某張數據表,可快速定位數據回放起始點;
(2)具備暫停回放、繼續回放、更改回放速率等功能,能按照設定速率將回放數據傳輸到數據顯示軟件進行同步顯示;
(3)具備曲線顯示功能,能在同一個時間軸下對轉速、功率、燃油流量、排氣溫度等關鍵參數進行多曲線顯示,實現多參數比對、分析;
(4)具備移動光標,可顯示標尺所在時刻、重要參數數值;
(5)曲線具備縮放功能,既能觀看數據整體趨勢,也能對某個時間段的數據進行放大,查看數據細節;
(6)具備抓圖功能,可將曲線波形圖輸出為jpg、png等格式的圖片。
2? ? 軟件設計
2.1? ? 軟件總體設計
回放軟件是通過從數據庫中讀取數據表中的參數及其數據信息,按照用戶設置繪制重要參數曲線。通過曲線上查看、分析數據,定位數據回放起始點,并將數據分發到數據顯示軟件進行顯示。軟件包括以下部分:初始化、加載數據庫、讀取數據表、參數提取、曲線繪制、曲線分析、響應用戶操作。軟件執行流程圖如圖1所示。
2.2? ? 界面設計
人機交互界面是數據顯示及用戶操作窗口,根據軟件需求設計的主界面如圖2所示。
圖中,數據庫列表自動顯示所有SQL Server數據庫,雙擊某一行數據庫名稱,數據表列表自動顯示出該數據庫中所有數據表。雙擊某一行數據表,該表中部分數據在界面刷新。點擊某個參數名前的勾選框,使該參數處于選中狀態,曲線顯示框中自動繪制該參數曲線。同時勾選多個參數,可繪制多根曲線。
重要參數曲線顯示框中,設計一根綠色光標和兩根白色光標。綠色光標用來定位數據時刻,移動綠色光標時,界面中的數字控件會顯示綠色光標所在時刻參數數值。白色光標用來定位時間區間,向上滾動鼠標滾輪,可對白色光標所在區間進行放大,以查看該區間數據細節。向下滾動鼠標滾輪,可縮小曲線,恢復至縮略圖狀態。
2.3? ? 程序設計
程序設計是回放軟件的核心,負責實現軟件所有功能。采用Visual Studio 2010作為開發平臺,使用C#語言,結合NI Measurement Studio圖形控件、多線程技術、ADO.NET技術[2-3]等進行編程實現。
數據提取和曲線繪制是最關鍵、最耗時的兩部分。數據提取是基礎,包含提取參數信息、數據信息,當表中數據量大時,程序執行SQL查詢語句耗時長、效率低。為提高軟件執行效率,采用多線程編程來提取參數信息,每個線程負責部分參數的信息提取,如一張表有500個參數,軟件將開辟5個線程,每個線程負責提取100個參數的數據信息。
圖形化顯示是軟件核心,曲線加載效率、移動光標時數據的流暢性直接影響用戶體驗。為提高曲線繪制效率,將曲線加載容量設定為50 000點,若數據表行數大于50 000,采用間隔采樣(即每n個點抽取一個點,n根據數據表的行數動態更改)方式加載該參數縮略圖,反映該參數變化趨勢。鑒于不同參數量程不一致,為在同一個坐標軸中對多參數進行顯示,曲線加載時采用min-max標準化原則對參數進行歸一化處理,將各參數映射到[0,100]。轉換公式如下:
3? ? 軟件應用
圖3是打開某SQL Server數據表的實際效果,操作主界面上的按鈕,軟件沒有明顯的延遲出現,可隨意選擇回放的數據庫、數據表,快速繪制用戶關心的數據曲線,對相關參數進行比較、分析,并將曲線波形保存成圖片。移動曲線框中的綠色光標,可以獲得回放參數在任何一個時間點的數值。移動白色光標,上下滾動鼠標滾輪,可對白色光標所在區間進行局部放大/恢復,如圖4所示。
點擊開始回放按鈕,軟件從綠色光標所在時刻開始讀取數據,并分發到數據顯示軟件進行同步顯示。回放過程中,可通過暫停回放、繼續回放、更改回放速率3個按鈕,對數據回放進行控制與調整,滿足數據觀看需求。
4? ? 結語
本文設計并開發了一套專用于某航空發動機試驗臺的數據回放軟件,軟件支持SQL Server數據庫,具備數據表打開、數據回放、參數對比分析、數據分發功能,很好地滿足了該試驗臺數據回放的需求。應用結果表明,軟件界面設計良好,數據回放控制準確,提供標準接口,功能易擴展,可以很好地移植到其他試驗臺。
[參考文獻]
[1] 胡寶權,許悅,劉振濤,等.某型航空發動機海量試驗數據回放系統設計[J].航空計算技術,2019(4):119-122.
[2] 孫踐知,張迎新,肖媛媛.C#程序設計[M].北京:清華大學出版社,2010.
[3] 明日科技.SQL Server從入門到精通[M].北京:清華大學出版社,2012.
收稿日期:2020-05-11
作者簡介:陳利(1989—),女,四川南充人,碩士研究生,工程師,研究方向:航空發動機測試。