王文龍,張少博,陳海峰
(西安航天動力試驗技術(shù)研究所,陜西 西安710100)
液體火箭發(fā)動機(jī)試車的目的之一,是為了獲取發(fā)動機(jī)的各類參數(shù),因為這些數(shù)據(jù)是驗證發(fā)動機(jī)設(shè)計理論、研究發(fā)動機(jī)工作狀態(tài)和評價發(fā)動機(jī)工作性能的重要依據(jù)。
液體火箭發(fā)動機(jī)的每次試驗都會產(chǎn)生大量不同類型的發(fā)動機(jī)推力、流量、壓力、溫度、振動、位移等參數(shù)數(shù)據(jù)。目前使用不同的處理軟件分別進(jìn)行處理,處理效率低,同時數(shù)據(jù)采集保存的原始數(shù)據(jù)大多為二進(jìn)制碼,試車后需要將大量的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為特定的格式進(jìn)行處理分析,并生成數(shù)據(jù)分析報告。由于需要讀取大量系數(shù)文件和傳感器零位、大氣壓力值、校驗斜率、密度等輔助文件,對二進(jìn)制文件進(jìn)行后續(xù)處理,其過程比較繁瑣,數(shù)據(jù)量較大。針對上述問題,開發(fā)一套處理模塊清晰連貫、功能明確、運行效率較高的試車數(shù)據(jù)處理軟件,滿足當(dāng)前繁重的試驗任務(wù)是十分必要的。
綜合數(shù)據(jù)采集系統(tǒng)是根據(jù)液體火箭發(fā)動機(jī)地面試車技術(shù)特點及多類型參數(shù)測量與數(shù)據(jù)處理技術(shù)要求而設(shè)計的,系統(tǒng)可測量應(yīng)變、壓力、溫度、位移、時統(tǒng)、階段、相位等多類型的信號,并可承擔(dān)各種不同型號試驗的采集任務(wù)。綜合數(shù)據(jù)采集系統(tǒng)原理如圖1所示:
圖1 綜合數(shù)據(jù)采集系統(tǒng)原理圖Fig.1 Principle diagramofsynthetic data acquisition system
建立以數(shù)據(jù)庫為基礎(chǔ)的試驗數(shù)據(jù)綜合分析系統(tǒng),是滿足試驗數(shù)據(jù)利用的必要條件。可以將試驗數(shù)據(jù)與其他試驗相關(guān)的文檔和管理信息緊密聯(lián)系,大大提高數(shù)據(jù)管理效率,改變現(xiàn)有數(shù)據(jù)處理系統(tǒng)存在的處理類型單一、處理錯誤多、速度慢等缺點,同時滿足試驗數(shù)據(jù)的快速處理要求,并能夠進(jìn)行綜合分析利用。綜合數(shù)據(jù)采集系統(tǒng)對編寫數(shù)據(jù)處理軟件提出了較高要求,因為參數(shù)類型多、數(shù)據(jù)量大,處理、分析、計算等方法不同,在實際編寫中要求處理軟件具有較高效率和較強(qiáng)功能。數(shù)據(jù)處理軟件是將所有參數(shù)信息、采集數(shù)據(jù)按照數(shù)據(jù)報告的要求獲得數(shù)據(jù)結(jié)果的軟件。通過處理軟件,可以觀察采集到的毫伏數(shù)、參數(shù)值,可以分段、分時刻進(jìn)行數(shù)據(jù)處理,同時,可以求得不同時間段的最大值、最小值和平均值,可以將掉點、異常的參數(shù)進(jìn)行置空、置零處理或者修正。
隨著計算機(jī)技術(shù)的飛速發(fā)展,火箭發(fā)動機(jī)研制試驗領(lǐng)域也越來越多地使用計算機(jī)技術(shù),計算機(jī)軟件便逐漸成為試驗系統(tǒng)中獨立的、舉足輕重的一個關(guān)鍵環(huán)節(jié),甚至在一定程度上決定著試驗的成敗。在試驗的整個過程中,軟件的正確性、可靠性、安全性對試驗的成敗起關(guān)鍵作用。隨著測量系統(tǒng)向著集成化、模塊化方向的不斷發(fā)展,測量軟件便逐漸形成試驗系統(tǒng)中一個舉足輕重的環(huán)節(jié)。
現(xiàn)有測量系統(tǒng)數(shù)據(jù)采集、處理軟件大多以VB6.0軟件編程語言為基礎(chǔ),為了實現(xiàn)與其他采集系統(tǒng)的有效集成,軟件架構(gòu)采用VB6.0軟件開發(fā)平臺。通過與關(guān)系型數(shù)據(jù)庫ACCESS進(jìn)行交互處理,并按數(shù)據(jù)處理要求編寫數(shù)據(jù)處理算法,調(diào)用NI采集系統(tǒng)二進(jìn)制源文件,數(shù)據(jù)處理后輸出數(shù)據(jù)報告文件。
軟件的底層輸入是NI采集硬件采集得到的二進(jìn)制DAT數(shù)據(jù)文件和TIM時間文件,軟件信息交互通過ACCESS信息設(shè)置數(shù)據(jù)庫進(jìn)行設(shè)置和調(diào)用,輸出所要求的數(shù)據(jù)報告文件。
數(shù)據(jù)處理軟件的目標(biāo)是將采集系統(tǒng)采集的二進(jìn)制原碼轉(zhuǎn)換為便于分析的相應(yīng)數(shù)據(jù)格式,并按要求進(jìn)行數(shù)據(jù)處理、分析,最后輸出數(shù)據(jù)報告文件。軟件的整體架構(gòu)如圖2所示。
圖2 試車數(shù)據(jù)處理軟件組成結(jié)構(gòu)圖Fig.2 Configuration ofdata processingsoftware for test
該綜合數(shù)據(jù)處理軟件整個處理功能模塊整體性強(qiáng)、功能明確、運行效率較高。根據(jù)軟件功能要求,軟件流程依次為文件處理、數(shù)據(jù)處理、報告輸出三個部分。在文件處理模塊,主要進(jìn)行系數(shù)文件的讀取,信息設(shè)置、信息驗證工作;在數(shù)據(jù)處理模塊,進(jìn)行時間源文件、數(shù)據(jù)源文件的調(diào)用、計算、處理;報告輸出模塊是按照輸出要求進(jìn)行數(shù)據(jù)報告打印、存儲、顯示等輸出工作。軟件流程如圖3所示。
圖3 數(shù)據(jù)處理軟件流程圖Fig.3 Flowchart ofdata processingsoftware
處理軟件首先要實現(xiàn)對參數(shù)配置信息的調(diào)用、采集數(shù)據(jù)的讀取、校驗結(jié)果的讀取、零位數(shù)據(jù)的讀取功能,這些信息都存放于ACCESS數(shù)據(jù)庫的不同表中,利用VB接口函數(shù)選擇相應(yīng)表中所需要的數(shù)據(jù)讀入。在對數(shù)據(jù)的預(yù)處理過程中,重要的一步就是對各種應(yīng)變、壓力、溫度、位移的校驗斜率的處理,處理方法采用最小二乘法。
為了達(dá)到綜合數(shù)據(jù)處理的目的,其試車數(shù)據(jù)處理軟件設(shè)計要綜合考慮各測量參數(shù),通過分析各類型參數(shù)處理計算方法,編寫相應(yīng)的處理算法,使處理軟件能廣泛地應(yīng)用于試車的各類參數(shù)。對于應(yīng)變、推力、壓力參數(shù)的校驗主要是通過加載三遍六檔應(yīng)變值,采集系統(tǒng)采集電壓值,用最小二乘法擬合曲線,求出應(yīng)變-電壓關(guān)系系數(shù),保證S2在0 3%以內(nèi)。否則應(yīng)查找原因重新校驗。而后根據(jù)校驗出來的斜率值,結(jié)合校驗零位和實際采集到的電壓值,計算出相應(yīng)的實際測量物理量數(shù)值。數(shù)據(jù)處理的最終結(jié)果是以三種方式提供的,分別是1:1毫伏數(shù)、初算、復(fù)算。1:1毫伏數(shù):毫伏數(shù)就是將系統(tǒng)采集的二進(jìn)制原碼轉(zhuǎn)換為十進(jìn)制碼,按照時間序列輸出。初算:使用1:1計算出的結(jié)果減去零位記錄值后乘以校準(zhǔn)斜率,得出該傳感器的設(shè)計物理量值;復(fù)算:過渡段計算方法與初算相同,平穩(wěn)段計算時通過選擇處理區(qū)間、報告文件、時間區(qū)間、處理步長、處理狀態(tài)進(jìn)行數(shù)據(jù)處理,最終輸出數(shù)據(jù)報告通常選用這種處理方式。數(shù)據(jù)處理軟件實現(xiàn)了各類參數(shù)的處理算法。通過在綜合采集系統(tǒng)界面中配置參數(shù)信息,選擇相應(yīng)參數(shù)類型,讀取校驗結(jié)果、零位數(shù)據(jù),可實現(xiàn)各種不同參數(shù)的數(shù)據(jù)處理。這些信息都存放于ACCESS數(shù)據(jù)庫的不同表中,利用VB接口函數(shù)選擇相應(yīng)表中所需要的數(shù)據(jù)讀入。
在上述分析的基礎(chǔ)上,實現(xiàn)對二進(jìn)制原碼的讀取,進(jìn)而進(jìn)行不同段(過渡段、平穩(wěn)段)和不同的計算方式(毫伏數(shù)、初算、復(fù)算)的數(shù)據(jù)處理、打印功能。軟件功能模塊見圖4。
圖4 軟件功能模塊Fig.4 Function modules ofsoftware
在圖4中,數(shù)據(jù)處理軟件通過轉(zhuǎn)換算法對綜合數(shù)據(jù)采集系統(tǒng)采集的二進(jìn)制文件進(jìn)行原碼轉(zhuǎn)換,并對采集系統(tǒng)參數(shù)配置進(jìn)行校驗。數(shù)據(jù)處理采用1:1毫伏數(shù)、初算、復(fù)算三種供選擇算法,最后按照要求輸出數(shù)據(jù)報告文件。
軟件開發(fā)過程中使用先進(jìn)的開發(fā)框架理念,通過封裝數(shù)據(jù)處理算法,使用模塊化編程模式,采用關(guān)系型數(shù)據(jù)庫存放調(diào)用數(shù)據(jù),并進(jìn)行了軟件的可行性評審、軟件架構(gòu)調(diào)試、軟件測試等,實現(xiàn)了多線程技術(shù)和MFC開發(fā)實時采集、二進(jìn)制大規(guī)模源數(shù)據(jù)的讀取、各類參數(shù)處理算法實現(xiàn)、基于VB的ACCESS數(shù)據(jù)庫應(yīng)用以及軟件的容錯性設(shè)計五個關(guān)鍵技術(shù),使得軟件的處理速度、可靠性、操作性得到提高。同時,功能模塊獨立設(shè)計,模塊之間耦合度低,可以減少模塊間的相互依賴。有利于系統(tǒng)功能的擴(kuò)充,減少系統(tǒng)設(shè)計變更時對系統(tǒng)修改的工作。
數(shù)據(jù)主要來自大型試驗后采集的原始二進(jìn)制文件數(shù)據(jù)和處理后的文本文件以及早期試車紙質(zhì)試驗數(shù)據(jù)。試驗數(shù)據(jù)通過軟件轉(zhuǎn)換成統(tǒng)一的文件格式,并且通過軟件接口導(dǎo)入至關(guān)系數(shù)據(jù)庫中。為了提高數(shù)據(jù)錄入速度,提高數(shù)據(jù)庫對試車數(shù)據(jù)標(biāo)準(zhǔn)化、統(tǒng)一化、一致性要求,對表層成果數(shù)據(jù)的錄入采用三種方式:
1)對零散的數(shù)據(jù)采用手工錄入方式;
2)對批量的excel格式的數(shù)據(jù)入庫采用固定格式上傳;
3) 用戶可以通過提供的模板格式上傳,也可以自定義模板上傳。
試車中高速采集的數(shù)據(jù)量規(guī)模很大,如何有效、快速的提取大規(guī)模二進(jìn)制源數(shù)據(jù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換、讀取、顯示是數(shù)據(jù)處理軟件開發(fā)的一大難點。通常,原始數(shù)據(jù)文件是將一個采集點的所有參數(shù)作為一個數(shù)據(jù)包順序存入。因此,在讀取時,首先要確定所讀參數(shù)的位置,位置的確定根據(jù)參數(shù)排序、所占字節(jié)數(shù)等信息確定,確定了參數(shù)位置后,采用VB提供的數(shù)據(jù)文件讀取函數(shù),按照固定字節(jié)數(shù)讀取所需數(shù)據(jù)。
由于在數(shù)據(jù)文件中數(shù)據(jù)和時間文件是分開存放的,在進(jìn)行數(shù)據(jù)處理時,需要將數(shù)據(jù)文件與時間文件進(jìn)行對應(yīng)處理。通過各種方式對比,最終選擇了按照采集點數(shù)來確定時間位置的方法,如:使用1 000點/秒的采樣速率情況下,數(shù)據(jù)文件的采集點數(shù)達(dá)到1 000時,也正好是時間文件到達(dá)1秒的時間點。采集軟件中對這種對應(yīng)關(guān)系編寫了驗證算法,通過驗證算法可以對這種對應(yīng)關(guān)系進(jìn)行識別,確保數(shù)據(jù)文件和時間文件對應(yīng)處理完全正確。
在數(shù)據(jù)讀取中,為了提高讀取速度,采用以下幾個原則:1)時間文件和數(shù)據(jù)文件分別讀取,減小文件選擇時間;2)按照數(shù)據(jù)序列格式逐字節(jié)讀取,減小字節(jié)搜索時間;3)采用最近原則取數(shù),減小循環(huán)次數(shù)。
為了實現(xiàn)讀取算法的調(diào)試和減少系統(tǒng)修改的復(fù)雜度,對二進(jìn)制大規(guī)模源數(shù)據(jù)的讀取算法,采用封裝的模式,方便程序調(diào)用。通過此種模式,可以方便算法內(nèi)部的修改調(diào)整,而不影響整個處理程序的結(jié)構(gòu)。
試車數(shù)據(jù)基本都以Word、txt這些格式在系統(tǒng)中存在,但是數(shù)據(jù)格式不盡相同,為利用既有數(shù)據(jù),試車數(shù)據(jù)庫系統(tǒng)提供了格式轉(zhuǎn)換功能,把異種格式的數(shù)據(jù)轉(zhuǎn)換為基礎(chǔ)數(shù)據(jù)子系統(tǒng)通用的存儲格式,從而使原有這些試車數(shù)據(jù)文件可以被試車數(shù)據(jù)庫所訪問和利用。為了減少對原有數(shù)據(jù)文件的應(yīng)用改動,可以按照應(yīng)用的數(shù)據(jù)格式要求進(jìn)行轉(zhuǎn)換,制定轉(zhuǎn)換格式功能,該功能可以靈活定義異種數(shù)據(jù)格式同試車數(shù)據(jù)庫系統(tǒng)存儲數(shù)據(jù)格式間的對應(yīng)關(guān)系,根據(jù)需求對數(shù)據(jù)源進(jìn)行取舍,調(diào)整數(shù)據(jù)間的對應(yīng)關(guān)系。建立這種從數(shù)據(jù)源格式到目標(biāo)數(shù)據(jù)格式的映射關(guān)系是進(jìn)行數(shù)據(jù)轉(zhuǎn)換的基礎(chǔ)。根據(jù)上一步制定的轉(zhuǎn)換格式,相應(yīng)子系統(tǒng)自動進(jìn)行數(shù)據(jù)格式的轉(zhuǎn)換,同時生成轉(zhuǎn)換結(jié)果報告。使用者可以根據(jù)報告對轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行審核,審核通過后提交這批數(shù)據(jù)。
該模塊主要用于在試車準(zhǔn)備過程中所產(chǎn)生的各種數(shù)據(jù)表格的日常維護(hù)與管理,這些表格包括:試車大綱、傳感器校驗和安裝表格、參數(shù)通道表格、采集設(shè)備系數(shù)文件表格以及信息記錄表格等。
通過上述介紹的數(shù)據(jù)處理算法,編制相應(yīng)的參數(shù)處理軟件模塊,以便在處理數(shù)據(jù)時,通過選擇不同參數(shù)設(shè)置來處理不同類型的參數(shù),進(jìn)而生成相應(yīng)的數(shù)據(jù)處理結(jié)果文件和顯示圖表。
報表生成功能可以對試車過程中的各種數(shù)據(jù)表格進(jìn)行分類管理,以報表的試車代號和試車參數(shù)為檢索條件,從數(shù)據(jù)庫服務(wù)器中提取出歷次試車所有相關(guān)數(shù)據(jù),經(jīng)過計算、統(tǒng)計、匯總,分析形成規(guī)范的數(shù)據(jù)報告報表。為了精細(xì)地控制打印效果、節(jié)省打印成本,系統(tǒng)提供打印預(yù)覽和打印設(shè)置等打印控制。
在試車數(shù)據(jù)處理、分析軟件設(shè)計中,廣泛應(yīng)用關(guān)系型庫ACCESS進(jìn)行匯總、對比、繪圖等,并且ACCESS數(shù)據(jù)庫具有較強(qiáng)的通用性,使用靈活方便。在建立ACCESS數(shù)據(jù)庫時,充分考慮數(shù)據(jù)交互的效率。設(shè)計的數(shù)據(jù)庫整體架構(gòu)見圖5。
圖5 ACCESS數(shù)據(jù)庫關(guān)系圖Fig.5 Configuration ofACCESSdatabase
通過VB信息設(shè)置模塊實現(xiàn)處理信息數(shù)據(jù)庫與通用信息、系統(tǒng)信息、校驗信息、板卡信息的數(shù)據(jù)交互,將所有數(shù)據(jù)處理信息保存到數(shù)據(jù)處理信息數(shù)據(jù)庫。在數(shù)據(jù)處理模塊運行時,VB與ACCESS的數(shù)據(jù)交互僅與數(shù)據(jù)處理信息數(shù)據(jù)庫有關(guān),而與其他邏輯算法結(jié)構(gòu)無關(guān),這樣就有效提高了數(shù)據(jù)處理程序的運行效率。
經(jīng)過一段時間的調(diào)試與試車使用,證明新的綜合數(shù)據(jù)采集系統(tǒng)滿足設(shè)計指標(biāo),采集數(shù)據(jù)準(zhǔn)確可靠,已作為試驗區(qū)緩應(yīng)變數(shù)據(jù)測量的主系統(tǒng),成為其他特殊信號、小信號測量的預(yù)備系統(tǒng),也成為關(guān)鍵參數(shù)測量的主系統(tǒng)的有效備份和補充,提升了試驗區(qū)的測量系統(tǒng)能力。系統(tǒng)目前已多次成功應(yīng)用于火箭發(fā)動機(jī)地面試驗的數(shù)據(jù)采集、處理、分析過程中,為試車提供了真實可信的數(shù)據(jù)結(jié)果報告,為新型號火箭發(fā)動機(jī)研制中所需要的新型測量系統(tǒng)的研發(fā)提供了有效的技術(shù)借鑒。
基于綜合數(shù)據(jù)采集系統(tǒng)的試車數(shù)據(jù)處理軟件實現(xiàn)了多參數(shù)類型、大規(guī)模數(shù)據(jù)的處理、報告輸出。經(jīng)過實際試車使用,軟件運行良好,能夠?qū)Σ煌瑪?shù)據(jù)類型的數(shù)據(jù)按照處理要求進(jìn)行處理,并生成相應(yīng)的數(shù)據(jù)報告輸出。使液體火箭發(fā)動機(jī)試車數(shù)據(jù)報告處理質(zhì)量和效率得到提升,為液體火箭發(fā)動機(jī)試車數(shù)據(jù)報告提供了可靠的軟件支持。
[1]潘小轟.Visual Basic6.0應(yīng)用開發(fā)技術(shù)[M].北京:中國石化出版社,1999.
[2]張賢達(dá).信號處理[M].北京:清華大學(xué)出版社,1995.
[3]劉文濤.Visual Basic+Access數(shù)據(jù)庫開發(fā)與實例[M].北京:清華大學(xué)出版社,2007.
[4]張后蘇,張湛,張浩.VISUAL BASIC語言實用教程[M].長沙:中南工業(yè)大學(xué)出版社,1995.
[5]王棟.Visual Basic程序設(shè)計實用教程[M].北京:清華大學(xué)出版社,2002.
[6]混平,趙政社,劉軍.水擊壓力高速采集系統(tǒng)研制[J].火箭推進(jìn),2008,34(4):59-63.
[7]趙萬明.液氧/煤油發(fā)動機(jī)試車主要參數(shù)測量方法研究[J].火箭推進(jìn),2006,32(5):55-59+68.
[8]郭霄峰,李耀華.液體火箭發(fā)動機(jī)試驗[M].北京:宇航出版社,1991.