李宏亮 譚征
(中國空間技術研究院載人航天總體部,北京 100094)
地面測試設備(Electrical Ground Support Equipment,EGSE)是航天器綜合測試順利進行必不可少的組成部分。按照目前實際測試中廣泛采用的航天器EGSE層級劃分,EGSE系統大致可劃分為兩個層級[1]:①前置級設備,亦即各分系統前端測試設備(Front End Test Equipment,FETE),包括專用測試設備(Specific CheckOut Equipment,SCOE)和通用測試儀器(General Test Instrument,GTI),主要完成航天器各分系統功能測試、接口模擬等功能;②后端級設備,亦即總控設備(Overall CheckOut Equipment,OCOE),主要負責航天器測試程序運行、遙測數據處理及歸檔等。兩者與測試局域網絡共同組成了航天器EGSE系統。
國外航天機構在航天器自動化測試領域起步較早,已發(fā)展出針對航天器上軟、硬件產品分類較為詳細的自動化測試手段,可以自動完成硬件設備功能檢查、可靠性測試[2]、關鍵軟件功能性能檢測[3]等工作。文獻[4]中基于人工智能的航天器產品地面測試設備,實現了類似于具備條件判據自動判讀功能的自動化測試。利用實驗室虛擬儀器工程平臺(LabView)環(huán)境對航天器供配電地面測試設備進行自動化驗收測試的軟件提升了設備驗收測試效率[5]。我國航天器自動化測試方面的研究近年來亦取得長足進步,自動化測試手段已在載人航天[6-7]、北斗導航衛(wèi)星[8-9]等多個宇航產品測試中得到應用。然而,當前國內外自動化測試系統設計主要著眼于航天器測試序列執(zhí)行方面,相關系統大多配置于EGSE系統的后端級,對于前端測試設備的自動化運行關注較少。部分自動化測試系統雖具備分系統測試設備管理或類似功能的模塊,但僅可實現對測試設備的指令控制[10-11],未能實時獲取測試設備自身運行狀態(tài)信息;系統與被測航天器的耦合性強,對硬件的依賴程度也較高[12]。多數航天器綜合測試過程中前端測試設備仍然需要測試人員的大量人工操作,重復工作量大,耗時多,易出錯;測試操作對人員的束縛與航天器自動、遠程測試的發(fā)展趨勢相左,航天器前端測試設備的自動化管理亟需加強。
為解決上述問題,本文提出一種航天器前端測試設備自動化管理系統,將前端測試設備作為整體進行統一管理,對前端測試設備具有完備的監(jiān)視、控制、運行、記錄功能,解決了功能、接口各異的航天器前端測試設備難以集同管理、自動化控制方法欠缺的難題,在航天器自動化測試應用中取得了良好效果。
航天器綜合測試流程大致可分為3個階段:測試準備階段、測試執(zhí)行階段、測試后狀態(tài)恢復與數據分析階段。航天器前端測試設備管理相關工作也相應分布在上述階段中。
在測試準備階段,測試人員對航天器所屬各分系統的前端測試設備進行加電、參數與狀態(tài)設置、接口聯通等準備工作。前端測試設備準備工作具有以下特點:大部分航天器所屬分系統均配有前端測試設備;規(guī)模較大、功能復雜的分系統設備數量多,接口復雜;測試準備工作操作繁多、耗時較長,但在航天器測試全周期中設置操作流程是固定的,測試工況沒有大變化時,設置參數也很少發(fā)生更改。測試準備階段前端設備管理具備通過自動化控制手段進行快速、統一操作的需求。
在測試執(zhí)行階段,測試人員需要針對航天器測試中具體執(zhí)行的測試項目進行相應的前端設備操作,通常對時序、時間間隔有明確要求;對時序要求嚴格的項目,人工操作容易失誤。如將相關操作轉化為自動化執(zhí)行模塊,可以與航天器自動化測試項目設計的時序實現精準對應。因此本階段前端設備操作相關工作也適合以自動化執(zhí)行模塊的方式進行自動運行。測試正常進行時,自動執(zhí)行模塊無需人工干預;測試中遇到異常狀況時,測試人員再介入處置。
在測試后狀態(tài)恢復與數據分析階段,航天器斷電,前端測試設備需完成設備狀態(tài)恢復、接口斷開、數據保存、斷電等設備狀態(tài)恢復工作,測試人員需結合當前測試情況查詢測試過程中前端設備狀態(tài)、測試指令執(zhí)行情況等數據,完成數據分析、測試評估等工作,設備狀態(tài)恢復和數據記錄同樣可以通過自動化手段實現。
綜上所述,航天器綜合測試流程中前端測試設備管理工作如果由特定的自動化管理系統進行統一實施,將大幅減少重復性工作,減輕測試人員操作壓力和減少操作失誤。本文提出的航天器前端測試設備自動化管理系統,主要負責管理被測航天器所屬的各分系統專用測試設備和通用測試儀器,為測試人員提供統一的綜合監(jiān)視界面,自動實時監(jiān)視多臺設備運行、控制設備設置參數及狀態(tài)、收集運行信息、記錄運行監(jiān)控數據。
該系統作為管理航天器專用測試設備和通用測試儀器運行的中樞,應具備以下幾方面的功能。
(1)實現航天器專用測試設備和通用測試儀器運行、控制全自動化。按照測試流程,在航天器加電測試前,控制專用測試設備和通用測試儀器自動完成開機、測試狀態(tài)與參數設置、內外部接口鏈接等工作;航天器電測進行過程中,根據測試細則安排的測試項目,進行相關測試設備的狀態(tài)設置(例如遙測通道切換、通信模式切換、數據實時比對等);實時保存當前測試中專用測試設備和通用測試儀器的運行狀態(tài)和數據,航天器電測結束后,控制測試設備自動關閉。
(2)實時獲取專用測試設備和通用測試儀器的運行狀態(tài)信息,對獲取信息按照事件內容緊急程度進行分類顯示、記錄、歸檔;對緊急程度較高的信息(如設置參數變化、工作異常等),自動向測試人員報警,以便及時處置。
(3)批量化集同管理專用測試設備和通用測試儀器。根據測試需求動態(tài)添加、清除被管理設備,并維護設備信息、控制命令等,實現即插即用。
(4)可遠程管理測試設備,控制接口便捷靈活。
航天器前端測試設備自動化管理系統借鑒了當前成熟的綜合測試自動化測試軟件架構設計,采用Visual Studio軟件開發(fā)。軟件設計按照模塊化思路,將系統預期實現功能分解為多個功能模塊,模塊間數據接口簡潔清晰,在設備類型、功能控制方面具備較強的可擴展性。
系統整體結構如圖1所示,共劃分為6個功能模塊,分別是:①網絡通信模塊,負責系統的網絡接口功能實現,建立與被管理前端測試設備、總控主測試處理器(Main Test Processor,MTP)的網絡連接,接收被管理設備發(fā)出的狀態(tài)信息并根據協議處理信息內容,向設備發(fā)出控制命令并獲取回令;②數據解析模塊,從有效數據包緩存隊列中依次取出有效數據包,按照設計的數據包格式解析出航天器標識符、發(fā)送方發(fā)送時刻的本地時間、發(fā)送方設備標識(ID)、接收方設備標識、信息標識、發(fā)送方發(fā)包累計計數、數據內容,根據信息標識識別出分級狀態(tài),并將接收到的數據寫入日志文件;③設備管理模塊,通過數據鏈表結構動態(tài)維護被管理設備,可通過系統軟件界面或配置文件添加、刪除被管理設備,設備信息包括設備名稱、設備代號、控制命令名稱、控制命令代號、IP地址、端口號等,根據網絡通信模塊收到的控制指令代號,解析指令內容,控制設備完成相應動作,按照通信協議生成指令回令反饋至網絡通信模塊;④指令序列執(zhí)行模塊,讀取人機界面選擇的指令序列內容,按照指令代號和設備ID送設備管理模塊處理為對應指令,控制指令執(zhí)行間隔、循環(huán)次數、邊界條件設置;⑤數據歸檔模塊,負責記錄管理系統自身運行過程中產生的日志數據及接收到的被管理設備數據,并實時記錄,便于追溯;⑥顯示/操作模塊,顯示管理系統自身運行狀態(tài),被管理設備發(fā)送的各類狀態(tài)信息等,響應測試人員的輸入,是管理系統軟件的人機輸入/輸出交互界面。
圖1 前端測試設備自動化管理系統 軟件模塊與接口Fig.1 Software module and interface of spacecraft FETE automatic management system
前端測試設備自動化管理系統將標準以太網接口作為系統的對外信息交互接口。按照對象劃分,可分為兩大類接口:與前端測試設備的信息接口(如圖1中的網絡接口A),與總控MTP的信息接口(如圖1中的網絡接口B)。
每類信息接口中分別包含若干子接口。其中網絡接口A包括:信息匯報接口A0,采用組播方式接收各個被管理設備的運行狀態(tài)信息,可用一個組播端口同時接收多個設備信息,便于減輕網絡開銷;命令控制端口A1、A2、……、AN(N為系統管理的設備數量),每個控制端口分別與各自對應的設備交互控制命令及回令信息,互不干擾。網絡接口B包括:信息匯報接口B0,向總控應急存儲數據服務器組播地址發(fā)出設備運行狀態(tài)信息,用于備份及查詢;控制端口B1,與總控操作控制臺交互控制命令,用于測試人員通過操作控制臺向各分系統SCOE發(fā)送控制命令;控制端口B2,與總控自動化測試軟件交互控制命令,用于SCOE控制指令與自動化測試序列銜接。
自動化管理系統作為多臺測試設備的集同管理方,在網絡拓撲上具有一對多的特點,即一個系統同時面對多方設備進行信息交互。由于管理系統運用了標準網絡接口,參照傳輸控制協議/網際協議(TCP/IP)五層體系結構[13],以下主要對管理系統軟件的網絡層、傳輸層、應用層3層協議進行介紹。
2.2.1 網絡層協議
網絡層采用IP協議傳輸數據。數據以IP報文形式傳遞,協議實現由運行系統軟件的計算機上的商用網卡完成。
在數據傳輸方式上,針對不同數據采用差異化傳輸方式。由于被管理設備數量眾多,將管理系統接收設備狀態(tài)信息的IP地址設置為組播地址,被管理設備將包含狀態(tài)信息的IP數據包以組播方式發(fā)往該地址,僅需開通一個網絡端口即可同時接收多個設備發(fā)送的數據信息,可大大節(jié)約網絡資源。組播協議由測試局域網內具有路由功能的交換機實現。
監(jiān)控系統將包含控制命令的IP數據包以單播方式發(fā)往被管理設備,并接收設備的執(zhí)行回令,管理層次清晰。
2.2.2 傳輸層協議
為保證數據傳輸的實時性,管理系統軟件在傳輸層使用用戶數據報協議(User Datagram Protocol, UDP)。UDP協議是無連接的,對于管理系統與被管理設備的信息交互簡潔高效。數據傳輸可靠性通過應用層協議設計保證。
2.2.3 應用層協議
針對管理系統與被管理設備交互的狀態(tài)信息與控制命令(包含回令)信息,分別設計應用層協議。
一個具有統一功能接口的軟件接口模塊在管理系統軟件的設計過程中被同步開發(fā)出來,用于管理系統與被管理設備間協議信息交互。該模塊可方便地植入被管理設備的上位機軟件,完成對應設備的狀態(tài)信息收集、發(fā)送,接收并處理系統管理軟件發(fā)出的控制命令,生成命令回令。該模塊可保證被管理設備與管理系統間的通信符合應用層通信協議的設計。
1)狀態(tài)信息
狀態(tài)信息數據協議主要有以下作用:①區(qū)分數據包的起止位置;②輔助管理系統軟件判別信息類別、進行數據校驗,通過與配置文件中的協議對應字段比對,判別收到的信息是否正確有效;③標記信息對應事件發(fā)生的時間和具體內容;④輔助管理系統軟件識別并計算當前已收到的狀態(tài)信息數據量。
為了實現狀態(tài)信息數據的清晰分類,在狀態(tài)信息數據協議中設計了信息標識字段,其所表示信息類型見表1。
表1 狀態(tài)信息數據協議 信息標識設計Table 1 Design of information identification in the status information data protocol
協議規(guī)定,“心跳包”類型數據在被管理設備啟動后自動按固定時間間隔向管理系統發(fā)送,發(fā)送時間間隔可以設置。管理系統軟件的設備管理模塊為每臺被監(jiān)控設備維護一個數據結構,保存該設備的設置心跳包周期和心跳計數值。軟件每收到一包心跳包數據,就用收到數據中的心跳包周期更新對應被監(jiān)控設備的數據結構中的心跳包周期;管理系統軟件定時更新心跳包計數并將前后兩次收到的心跳包計數間隔時間與心跳包周期進行比對,超過周期則判斷設備離線,脫離管理,否則設備為在線狀態(tài)。該方案類似程序設計中的“看門狗”技術,可以快速判斷被管理設備與管理系統的通信狀態(tài)。
“提示”、“警告”、“錯誤”3種信息類型,依據其信息內容,緊急程度分為3個等級,由低依此升高。管理系統軟件接收到這3類狀態(tài)信息后,判斷信息標識字段數值,即可實現對設備狀態(tài)信息的自動分級。
2)控制命令
控制命令協議格式參照經過多個型號工程應用驗證的航天器綜合測試設備間通信協議格式設計,信息頭部分與后者相同,信息體部分包含被管理設備的設備代號、控制命令代號、設置參數(每個命令可包含多個參數,如無參數可缺省)??刂泼钚畔Ⅲw格式見表2。
表2 控制命令信息體格式Table 2 Format of controlling command information part
每條控制命令的多個參數間通過分隔符“:”間隔,參數值用美國信息交換標準代碼(American Standard Code for Information Interchange,ASCII)碼表示。
對于遙測數據處理前端等專用測試設備來說,主要的控制操作是通道切換、數據接口連接等動作,這些動作的具體執(zhí)行函數可以在前述的軟件接口模塊中與相應的控制命令綁定,在管理系統軟件端實現相關操作;對于示波器、信號源、頻譜儀等通用儀器來說,在前期工程研制工作中,相應儀器的前端控制軟件已開發(fā)完成,軟件接口模塊也被移植到通用儀器前端控制軟件中。該設計的優(yōu)勢在于:一是對應的通用儀器前端控制軟件具備滿足系統級測試要求的對通用測試儀器的監(jiān)視控制功能,可以在測試需要時單獨使用;二是便于與自動化管理系統的控制接口銜接,使專用測試設備和通用測試儀器的控制接口統一,無需在自動化管理系統端設計不同的接口。對通用測試儀器執(zhí)行控制命令時通常需要對頻率、功率、帶寬等參數進行設置,因此可使用帶有參數的控制命令,特定命令的具體參數意義(如參數1代表頻率值,參數2代表功率值等)同樣在軟件接口模塊中定義。
包含參數的控制命令格式設計可使信息體部分根據使用場景的特點靈活擴展內容,數據格式簡明,可靠性高;通用的信息頭部分可保證管理系統與總控MTP通信過程無需特別改動,易于實現。
控制自動化和監(jiān)視自動化是航天器前端測試設備自動化管理系統實現其整體功能的兩個核心要素。命令序列運行和狀態(tài)自動監(jiān)視作為該系統的兩個關鍵功能,分別在控制和監(jiān)視兩方面體現了系統支持自動化測試的設計構想。
2.3.1 命令序列運行
自動化管理系統對測試設備的自動化控制主要通過測試命令序列的執(zhí)行來體現,對于某臺測試設備來說,測試命令可以控制其完成特定的測試動作,將不同設備的一系列動作連續(xù)起來,可以完成序列化的測試狀態(tài)控制。以航天器電測前測試設備加電及狀態(tài)設置為例,常見的設置操作包括:前端軟件與數據處理終端連接、微波開關通道切換、程控衰減設置、串口啟動等一系列動作,將上述設置動作對應的控制命令按照操作的先后順序進行編輯,并將各設備的具體執(zhí)行時間作為邊界條件納入序列文件,即可形成完成特定操作目標的指令序列集。根據測試進程的具體安排,選擇對應的指令序列集運行,可完成相應的測試操作。
自動化管理系統除了支持控制指令序列的順序執(zhí)行外,還可以靈活設置序列中命令運行的起始位置、終止位置,以及是否在后臺連帶執(zhí)行其它輔助功能批處理文件等;也可以按照設置的時間間隔循環(huán)執(zhí)行某個控制命令序列,以達到自動運行的效果。
為自動化管理系統設計的控制命令序列格式見表3,一個命令序列可包含多行內容,在使用時該表格作為系統軟件的配置文件管理。
表3 控制命令序列格式Table 3 Format of controlling command sequence
表3中,序號列為某一行的指令序號,由1開始順序遞增;設備代號列為當前行控制指令對應所屬的測試設備代號,與管理系統配置文件中的相應設備一致;指令代號和參數列為當前行準備執(zhí)行的控制指令代號;指令名稱列為當前行準備執(zhí)行的控制指令名稱,主要用于測試人員查看指令內容,掌握序列進行程度;間隔時間列表示當前行準備執(zhí)行指令與下一行準備執(zhí)行指令之間的時間間隔,單位為ms,用于控制相鄰兩條指令的執(zhí)行時序。
2.3.2 狀態(tài)自動監(jiān)視
前端測試設備自動化管理系統對被管理設備的運行狀態(tài)、日志信息實現自動判讀、分類、提示、記錄。
管理系統啟動后,默認運行在計算機后臺,對收到的設備狀態(tài)信息按照信息分級標識實時判讀,當有提示、告警級別信息出現或設備運行異常、心跳包數據停止發(fā)送時,軟件自動從后臺運行狀態(tài)切換到前臺顯示狀態(tài),并以醒目方式提示使用者關注當前信息狀態(tài)。該設計既可使系統軟件在長期運行中占用最小規(guī)模的計算機資源,又可在不影響測試人員其它工作的情況下自主監(jiān)視被管理設備的運行。
航天器前端測試設備自動化管理系統是航天器自動化測試體系的重要組成部分,與航天器自動化測試系統、自動判讀系統、遙測顯示系統、數據分析系統等一起構成了航天器自動化測試環(huán)境。
在航天器測試實施過程中,它與自動化測試系統聯系最為緊密,二者既相互獨立,又相輔相成。根據測試進程安排,前端測試設備自動化管理系統的測試序列可以與航天器自動化測試系統的測試程序以特定邏輯時序執(zhí)行。常見的邏輯時序包括:①按照時間順序串行執(zhí)行,如航天器加電前先進行地面測試設備設置(自動化管理系統執(zhí)行控制命令程序)、再進行航天器加電設置(自動化測試系統執(zhí)行航天器加電程序);②在特定時間段并行執(zhí)行,如實施航天器與地面測試設備通信模式切換、下行圖像通道切換、航天器供電電源切換與太陽翼進出影等對時序有要求的測試項目。前端測試設備自動化管理系統與航天器自動化測試系統共同促進航天器測試自動化程度提升。
航天器前端測試設備自動化管理系統目前已應用于某航天器綜合測試。在圖2所示的航天器EGSE系統中,通常會按照被測航天器分系統的數量,配置多臺測試計算機用于測試數據判讀。該類計算機是通用性強的商用貨架產品,自動化系統軟件可安裝在任意一臺接入航天器測試局域網的測試計算機上,無需特殊的硬件環(huán)境支持,具有分布式配置特點;系統軟件通過測試局域網對前端測試設備進行管理,不受測試地域局限,支持遠程測試;系統管理設備覆蓋了射頻微波、網絡管理、基帶處理、接口模擬、數據管理、供配電等多個類別,是對航天器綜合測試設備自動化相關研究工作[14-17]的有機集成和全面提升。
圖3是自動化管理系統軟件運行時的主界面,界面上方是系統的整體運行狀態(tài),包括被管理設備的數量、接收和發(fā)送的數據包數量、信息過濾統計信息等,以及部分功能按鈕;界面左下側是當前已添加到該系統的測試設備列表;界面右下側是系統已收到的設備狀態(tài)信息,每條信息包含信息記錄時間、來源設備、具體事件描述,每條信息最左側的圖標標識了該信息的屬性。圖4是雙擊系統軟件界面左側設備列表中的某臺設備項后,顯示的該設備運行狀態(tài)信息和對應的控制命令列表,測試人員可以根據測試進程隨時查看測試設備運行狀態(tài),并在窗口右側的命令列表中選擇控制命令進行相關操作。圖5展示了某航天器電測進行前,測試人員運行測試設備啟動設置序列的過程。序列中的控制命令按照設定的時間間隔順序發(fā)出。該控制序列是典型的航天器測試狀態(tài)設置操作指令集,其指令可大致劃分為幾大功能類別:一是控制測試設備網絡連接的相關指令,用于測試設備間建立網絡通信鏈路;二是控制測試設備開關切換、衰減設置的相關指令,用于測試設備鏈路功率設置、信息通道選取等;三是微波射頻相關指令,用于控制射頻信號輸出;四是功能性設置指令,如模式切換、應用場景選擇等。序列執(zhí)行過程中,管理系統自動對每條指令的回令進行判別,只有確認收到前一條指令執(zhí)行成功的回令后,序列才繼續(xù)執(zhí)行;若因為某些原因,系統未收到執(zhí)行回令或回令提示當前指令執(zhí)行失敗,系統將自動提示,并暫停當前序列的執(zhí)行,交由測試人員處置。
圖2 航天器EGSE系統層級結構Fig.2 Hierarchy of spacecraft EGSE systeml
在航天器綜合測試中應用測試設備自動化管理系統,可大幅提升測試實施效率。以某航天器的日常電測為例,以傳統方法進行電測前測試狀態(tài)準備,包含設備加電、設備狀態(tài)設置等上百個操作,全部需要測試人員在測試機柜附近完成,單次準備時間平均需要1200 s;航天器電測結束后的測試設備狀態(tài)恢復、關機等工作單次完成平均耗時900 s,測試過程中還需要經常實施諸如射頻通道切換監(jiān)視、下行圖像切換監(jiān)視、遙測通道切換等操作,費時費力。
應用測試設備自動化管理系統后,在測試人員與前端測試設備完全分離的狀態(tài)下,僅通過自動化管理系統即可遠程完成設備加電、控制、斷電等全部操作,加電前單次準備時間僅需49 s;斷電后設備狀態(tài)恢復時間僅需30 s。管理系統軟件可在接入測試局域網的任意計算機上運行,無需其它硬件支持,布置方式簡單靈活。表4列舉了部分測試操作項目在應用該系統前后的實施效果對比情況。相比傳統方法,前端測試設備自動化管理系統對地面測試設備操作執(zhí)行效率有明顯提升。
圖3 前端測試設備自動化管理系統 軟件主界面Fig.3 Main interface of spacecraft FETE automatic management system
測試設備操作效率提升可促進航天器綜合測試整體效率提高。以航天器常規(guī)測試日均8小時計算,測試前后準備時間及測試中操作時間累計約1小時,按照表4的效率估算,測試中使用自動化管理系統可縮減約11%航天器綜合測試時間。對于載人航天等具有較大規(guī)模前端測試設備的航天器來說,測試效率提升會更顯著。
圖4 前端測試設備狀態(tài)信息與控制命令窗口Fig.4 Statu information and controlling command window of FETE
圖5 某航天器電測狀態(tài)設置命令序列集運行狀況Fig.5 Running status of spacecraft integrated test setup command sequence
表4 應用自動化管理系統前后測試實施效果對比Table 4 Test performance contrast before & after applying automatic management system
本文探討的航天器前端測試設備自動化管理相關工作是持續(xù)改進、不斷迭代的過程。后續(xù)可結合航天器前端測試設備供電環(huán)節(jié)改造,配置支持以太網接口控制的智能供電單元進一步簡化設備供、斷電操作程序;也可細化前端測試設備運行狀態(tài)信息及控制命令的數量、類型,逐步減少直至完全消除設備運行過程中的人工干預環(huán)節(jié),以期不斷提高航天器前端測試設備的自動化運行、管理水平。
本文針對航天器綜合測試過程中前端測試設備自動化運行程度低、集中管理難的問題,設計了一種航天器前端測試設備自動化管理系統。該系統可自動監(jiān)視測試設備狀態(tài)、控制設備運行,接口與總控自動化測試系統兼容,可實現航天器前端測試設備自動化、遠程化管理。航天器綜合測試工程實踐表明,該系統應用后可有效提升前端測試設備管理效率,促進航天器自動化測試實施。