(北京宇航系統工程研究所,北京 100076)
運載火箭電氣系統是供電和用電各系統、設備的總稱,由多個分電氣分系統組成。如:用于控制火箭按預定軌道平穩飛行和精確入軌的控制系統;用于監測火箭飛行軌道和飛行過程中工作狀態的外測、遙測系統;用于飛行故障時使火箭自毀的安全控制系統;用于發動機混合比偏差控制、推進劑液位測量與關機的利用系統等。地面也出現了與之相應的多個測試分系統。
電氣系統測試是對運載火箭電氣系統性能進行評估的最重要的手段,其測試的全面性、可靠性和有效性與飛行試驗成敗直接相關。在運載火箭交付總裝前,需要對電氣系統開展綜合試驗,考核電氣系統工作的正確性。目前,電氣系統性能評估多依賴于各型號各系統自身的測試項目,缺乏統一的測試平臺和評估系統。同時,所獲得的測試數據分布在各自的服務器中,缺乏統一的數據管理。隨著型號進入高密度時期,這些缺陷嚴重影響了運載火箭的測試效率和測試可靠性,無法實現電氣系統的整體性能評估,給傳統的運載火箭電氣系統綜合試驗模式帶來了挑戰[1]。
本文借助當前“互聯網+”和云計算技術理念,以標準測試系統為平臺,全面升級測試保障體系,擬通過建立一種基于安全私有云的虛擬化綜合試驗平臺,實現多任務的并行測試,實現跨型號的數據共享與應用,提升試驗效率,充分挖掘試驗數據的應用,為提升運載火箭的可靠性提供支撐。
綜合測試平臺主要由數據綜合管理系統、系統配置管理軟件、自動化測試軟件、過程監視終端軟件、數據處理與分析軟件、故障診斷和預測軟件六大部分組成。綜合測試平臺組成如圖1所示。

圖1 測試平臺組成框圖
數據綜合管理系統為試驗管理、試驗控制、數據管理中心,實現對整個測試平臺的任務調度、數據管理、數據分析、決策支撐、結果呈現。數據綜合管理系統基于私有云平臺實現,采用虛擬化技術實現分布式管理和控制。
系統配置管理軟件通過與其他平臺軟件的映射關系,實現各軟件間接口調用的協議配置[2]。
自動化測試軟件負責儀測試器設備配置,以及測試流程編輯、測試任務執行等工作。
過程監視終端軟件負責顯示測試設備各類型參數的判讀結果。
數據處理與分析軟件負責測試數據回放、數據挖掘及分析等工作。
故障診斷和預測軟件針對測試數據進行大數據分析診斷,進一步給出故障的預測信息。
總體方案設計上采用經典云平臺三層架構[3],如圖2所示。云平臺包含提供物理硬件資源的基礎設施層;提供云存儲、數據庫、云計算等服務的基礎平臺層;提供各類業務應用服務的業務應用層。其中業務應用層包含兩個邏輯分層,一是核心業務模塊,包括設備掛接、數據采集、數據管理、用戶等基礎業務能力層,二是聚合業務應用,對外提供服務,對外服務層具備自適應終端能力,提供臺式計算機、筆記本電腦、平板電腦、手機等多種訪問模式。

圖2 云平臺架構
圖形化測試序列編輯界面可以像利用Visio繪制軟件流程圖一樣描述測試需求,即通過連線關系描述測試流程,通過對圖元輸出項的不同結果進行判斷,按照預先設定的值執行不同的測試序列走向,再通過編輯圖元的屬性,實現對測試判讀范圍等參數的設置,然后由軟件自動將圖形化測試需求轉化為類ATML文本,具體實施時以基本圖元搭建測試項圖元,最終以測試項圖元構成測試流程[4]。因此測試程序開發人員只要了解測試需求,無須編碼即可生成Test Description文件,同時該軟件支持測試報表模板的自動生成功能。

圖3 軟件架構
測試過程的監視是整個測試環節中非常重要的一項,其主要功能是完成數據的解析與呈現。試驗中的數據包含有線數據和無線數據,經過數據采集設備和解調解析設備的處理,形成統一化的網絡接口協議數據包,傳輸至數據采集服務器。過程監視終端軟件設計了通用的數據解析算法,設定通用判據模式,對測試過程中地面和箭上設備的狀態進行實時監控。

圖4 過程監視終端軟件流程圖
圖4中,過程監測程序在啟動時刻開始,將實時獲取數據采集服務器的數據,進行解析判讀,并且把處理結果一方面保存到數據庫,另一方面實時推送到前臺界面進行呈現[5]。
數據處理與分析軟件主要對數據進行回訪以及挖掘,涵蓋設備各階段試驗數據綜合分析和處理。在各階段會持續產生海量測試及狀態數據。需要對這些數據進行存儲,便于后續對其進行數據挖掘,提取有價值、有意義的數據。
數據挖掘基于云平臺的數據庫系統存儲參數包括:設備狀態、電流、電壓、壓力、溫度、功耗、計數、燃料等,參數種類涵蓋:模擬量、數字量、環境參量、狀態參量等,具體狀態可由用戶自定義添加。
數據挖掘算法庫需要具備以下數據處理功能:如頻率參量數據分析支持奇異值剔除、關鍵參數提取、長期穩定性分析以及統計分析等,功率參量數據分析支持功率特性統計、趨勢擬合和分析,時間參量數據分析支持時標、時間間隔的穩定性分析等各類功能。

圖5 數據處理與分析軟件框架圖
故障診斷軟件對測點信息進行初步診斷與分析,得到設備的早期預警或報警信息,對專家系統知識庫進行管理,根據歷史數據、案例、專家知識等建立故障模型,進行實時故障診斷與定位。建立具備開放式、迭代特征的設備故障診斷軟件模塊,針對設備采用的狀態監測技術和提取的狀態特征參數,提供成熟的診斷處理算法,實現基于規則和案例的診斷軟件,建立診斷專家知識庫,并設計用戶操作接口,使專家知識庫可以持續、快速的增添和修改完善[6]。處理流程如圖6所示。

圖6 故障診斷和預測軟件流程圖
根據圖6,故障診斷和預測軟件核心功能為數據獲取、數據處理、數據診斷。故障診斷程序在啟動時刻開始,將實時獲取數據采集服務器的數據,進行數據處理,診斷,并且把處理結果一方面保存到數據庫,另一方面實時推送到前臺界面進行呈現。后臺數據處理部分是通過將樣本數據與系統正常時的數據進行比較,通過二者的差值和相應節點的閾值確定測試節點的歸一化數據。該部分中用戶只需要輸入所有測試節點的閾值,通過計算后直接生成用于層次有向圖模型和用于貝葉斯網絡模型的兩種歸一化數據,以備故障診斷軟件部分使用。
本平臺采用數據綜合管理平臺為數據中心,統一對數據存儲、處理、轉發、以及實現調度功能,這樣做的目的是可以對所接入的其他設備統一規范的管理,以及為日后大數據分析提供最小顆粒度的數據原型,此處數據交互處理通過運用java虛擬機的調度機制,采用多線程進行數據交互,保障數據完整性的同時也極大的提高了運行效率。
平臺采用服務器虛擬化的方式,實現系統并行測試。虛擬化技術的應用使得測試服務器資源充分利用,本平臺所采用的是XenServer,它是在云計算環境中經過驗證的企業級虛擬化平臺, Xen技術被看作是業界最快速、最安全的虛擬化軟件。
本平臺的設計思想是讓設備驅動與應用軟件相互分離,使其解耦,這樣做的優點是不用考慮上層應用軟件的使用方式,例如臺式機、筆記本、其他智能終端設備等,同時不用限制應用軟件的開發語言,例如C++、java、Android等等。
程序根據任務,主線程自動創建需要的處理線程,線程間運行相對獨立,通過內存變量進行關聯,運行時采用搶占式調度模型。在任務執行過程中,程序根據優先級判斷是否允許線程插隊,其他線程讓步,并且在參數判讀方面,采用邏輯判讀、四則運算、三角函數公式運算、對數公式運算等,另外還支持關聯判讀、跳變判讀等形式,盡可能多的滿足判讀需求。
軟件界面UI設計采用當前主流前段框架BootStrap,該前端框架采用HTML5+CSS3為主要技術,該框架的主要優勢是支持同步異步數據傳輸、清晰明了、記憶負擔最小化、設計的一致性、美觀大方、用戶習慣、靈活等設計原則。另外,在顯示上使用Web Worker線程處理,此線程的主要目的是可以快速的進行大量的數據交互處理,極大提高顯示效率。
圖形化較列表方式的測試序列的優勢是它可以構建較為復雜了測試流程,不止是順序執行,它可以接受條件分支、并行分支等,另外它可以是一條指令、一個等待時間條件、一個計數器、一個判讀條件、一個板塊的函數,后續還可以擴展成更多的方式,為以后更加智能更加復雜的測試留有足夠的擴展空間,編輯完測試序列以后統一保存在數據庫中,這樣它可以方便的導出任意需要的文件進行跨平臺交互使用,例如可以是json、xml、atml等。圖7為某型運載火箭綜合試驗中進行測試序列配置。

圖7 測試序列配置圖
測試軟件與硬件的交互主要由JAVA寫前臺配置、執行層,由C語言寫底層驅動層。通過UDP組播的方式進行數據傳輸交互,數據交互格式以XML 通用標記語言進行數據傳輸。
自動測試流程執行如圖8所示。執行測試序列,對左側將指令進行勾選。右側顯示已勾選的指令,通過單選按鈕決定從任意指令開始執行,可從任意位置進行單步執行或連續執行。執行成功的呈現綠色,執行失敗的呈現紅色。如果執行中想要停止則點擊暫停按鈕即可。執行出現錯誤的時候連續執行的任務將停止執行。
測試任務可自動化調度執行,測試完成后可自動導出測試報告,同時也可對測試數據回放分析。
通過在多型號運載火箭綜合試驗中的應用情況來分析,平臺各項性能包括用戶管理、數據解調分析、精度誤差分析、故障分析、設備通訊、測試流程配置、自動化測試、數據存儲與管理等均工作正常。該平臺的應用實現了多型號試驗的同步測試,節省了人力資源,大幅度提高了測試效率和測試覆蓋性。

圖8 自動測試流程圖
本文基于安全私有云設計虛擬化綜合試驗平臺,該平臺具有通用的軟硬件架構,可支持多任務的并行測試,可實現跨型號的數據共享與應用。經過在多型號運載火箭電氣系統綜合試驗中的應用,該平臺很好的完成了綜合試驗需求,并且較傳統的測試模式,在測試效率,測試有效性上有了較大的突破。