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