衛(wèi)星地面測試通用數(shù)據(jù)分析顯示系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
作者 薛征 陳杭 蔣曉肖 上海航天控制技術(shù)研究所(上海 201109)
本文引用地址:http://www.ex-cimer.com/article/201705/359758.htm薛征(1984-),男,碩士,工程師,研究方向:基于C#的衛(wèi)星地面測試軟件研發(fā)與測試;陳杭,男,碩士,工程師,研究方向:基于C#的衛(wèi)星地面測試軟件研發(fā)與測試;蔣曉肖,女,碩士,高級工程師,研究方向:C#的衛(wèi)星地面測試軟件研發(fā)與測試。
摘要:衛(wèi)星地面測試中,數(shù)據(jù)分析與顯示系統(tǒng)是與用戶交互的唯一界面。為了滿足多種型號衛(wèi)星地面測試中的分析與顯示,本文提出了衛(wèi)星地面測試通用數(shù)據(jù)分析顯示系統(tǒng)。該系統(tǒng)可以及時(shí)、有效地對所有的衛(wèi)星姿控系統(tǒng)地面測試數(shù)據(jù)進(jìn)行分析和顯示,提高了用戶交互性和軟件的可擴(kuò)展性。目前該通用分析顯示系統(tǒng)已應(yīng)用于十余顆衛(wèi)星地面測試中,并得到用戶的廣泛好評。
1 系統(tǒng)功能和主要特點(diǎn)
目前,國防和空間研究對航天衛(wèi)星的功能及數(shù)量需求不斷增加,提供的測試任務(wù)也逐漸增多,過去以型號為主,不同型號、不同測試軟件的管理模式已不能滿足需求,衛(wèi)星地面測試軟件的通用化已成為亟待解決的課題[1]。
地面測試系統(tǒng)由控制軟件、分析顯示軟件、數(shù)據(jù)庫軟件等部分構(gòu)成[2],不同型號新研或試驗(yàn)過程中復(fù)雜度和變更最多的為顯示分析軟件。為縮短衛(wèi)星地面測試研試周期,提出基于C#的衛(wèi)星地面測試通用數(shù)據(jù)分析顯示系統(tǒng),不需要修改源代碼前提下,實(shí)施于不同衛(wèi)星型號。同時(shí),使用者通過修改配置文件即可滿足一般性需求變更。系統(tǒng)功能和主要特點(diǎn)如下:
(1) 實(shí)現(xiàn)數(shù)據(jù)多種格式存儲及快速回放
支持Access、SQL Server類型數(shù)據(jù)庫存儲,數(shù)據(jù)以16進(jìn)制源碼和有效解析數(shù)據(jù)兩種格式進(jìn)行存儲,存儲為SQL Server table和*. dat兩種文件形式。系統(tǒng)提供數(shù)據(jù)回放通道,可按時(shí)間選取特定變量進(jìn)行顯示,回放速率可調(diào)節(jié),最高可達(dá)到原始傳輸速率的10倍速。
(2) 快速實(shí)現(xiàn)數(shù)據(jù)的采集、分析、顯示
采用TCP/IP網(wǎng)絡(luò)異步接收的方式實(shí)現(xiàn)數(shù)據(jù)采集,保證數(shù)據(jù)的快速傳輸及正確性,支持多種數(shù)據(jù)源同步傳輸,并實(shí)時(shí)解析顯示,數(shù)據(jù)分析效率高,響應(yīng)快,數(shù)據(jù)顯示延時(shí)率≤0.5ms。
(3) 支持多種協(xié)議格式、復(fù)雜數(shù)據(jù)類型
該系統(tǒng)兼容多種協(xié)議格式,內(nèi)部包含協(xié)議轉(zhuǎn)換器,可實(shí)現(xiàn)協(xié)議統(tǒng)一化。目前,在軌和在研多顆衛(wèi)星的多樣化協(xié)議均可兼容。支持多種數(shù)據(jù)類型的解析,如bit、byte、int、string、char、float、double和1750f[4];內(nèi)部包含多種函數(shù)公式,可完成簡單線性、專用類型轉(zhuǎn)換計(jì)算,也可完成多項(xiàng)式、查表法等復(fù)雜計(jì)算,有效地實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換。
(4) 高效性的界面設(shè)計(jì)
系統(tǒng)界面設(shè)計(jì)友好,人員獲得數(shù)據(jù)簡便、準(zhǔn)確,數(shù)據(jù)顯示方式多樣,同一數(shù)據(jù)可采用圖像、圖形、曲線、數(shù)值、容器等多種方式展示。變量定義配置支持在線編輯和線下編輯、在線導(dǎo)入兩種方式,頁面支持用戶自定義,可自由進(jìn)行頁面布局,曲線自定義縮放,并自動(dòng)保存。軟件提供源碼接收查看界面,可實(shí)時(shí)查看數(shù)據(jù)接收狀態(tài)。
(5) 通用化結(jié)構(gòu)設(shè)計(jì),可擴(kuò)展性強(qiáng)
該系統(tǒng)整體框架設(shè)計(jì)清晰,采用模塊設(shè)計(jì)方式,對外開放接口。配置靈活,采用excel、xml、config、ini等格式配置文件[3],不同項(xiàng)目僅需更改項(xiàng)目相關(guān)的變量表,更新數(shù)據(jù)協(xié)議設(shè)置,即可完成項(xiàng)目切換,實(shí)現(xiàn)不同項(xiàng)目的實(shí)時(shí)應(yīng)用,軟件通用化強(qiáng)。軟件模塊自定義深度可擴(kuò)展,支持C#、Web Service、Test Stand等接口,可無縫擴(kuò)展。
(6) 異常處理,提供問題準(zhǔn)確定位
軟件內(nèi)部包含異常處理,容錯(cuò)性好,對于常見配置異常及網(wǎng)絡(luò)通訊設(shè)計(jì)了界面反饋,能夠提供出明確的異常位置和異常類型,方便用戶快速準(zhǔn)確地定位問題;有專用異常數(shù)據(jù)反查通道,出現(xiàn)顯示異常時(shí),可快速定位硬件接口數(shù)據(jù)異常傳輸位置,加快試驗(yàn)故障排查工作,提升效率。
2 系統(tǒng)結(jié)構(gòu)
為適應(yīng)不同型號和不同階段測試需求,設(shè)計(jì)了通用分析顯示系統(tǒng)。本系統(tǒng)采用模塊化設(shè)計(jì),主要分為五大模塊:通用配置模塊、數(shù)據(jù)通信模塊、通用解析模塊、實(shí)時(shí)顯示模塊和數(shù)據(jù)存儲回放模塊;系統(tǒng)整體結(jié)構(gòu)如圖1所示。
通用配置模塊實(shí)現(xiàn)不同型號的兼容性,通過統(tǒng)一的配置規(guī)則及配置接口文件,將不同型號的數(shù)據(jù)格式及具體波道數(shù)據(jù)表、函數(shù)處理方式等信息分解到xml、ini、excel格式配置文件中,并輸出為DataTable表格式。
數(shù)據(jù)通訊模塊實(shí)現(xiàn)數(shù)據(jù)快速接收,保證高速穩(wěn)定性。
通用解析模塊實(shí)現(xiàn)協(xié)議轉(zhuǎn)換后數(shù)據(jù)的通用解析,通過調(diào)用通用配置模塊內(nèi)輸出的DataTable表,通過模塊化函數(shù)處理,將16進(jìn)制數(shù)據(jù)計(jì)算轉(zhuǎn)化為符合用戶需求的數(shù)值類型。
實(shí)時(shí)顯示模塊保證實(shí)時(shí)性,實(shí)現(xiàn)數(shù)據(jù)的多樣化顯示,如圖形、曲線、數(shù)值、容器方式等。
數(shù)據(jù)存儲回放模塊實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)存儲以及后期回放,存儲為SQL Server table[6]和*. dat兩種文件形式,后期回放時(shí),支持讀取SQL Server table中16進(jìn)制原始數(shù)據(jù)和dat文件數(shù)據(jù),將數(shù)據(jù)在軟件界面內(nèi)加速回放。
3 系統(tǒng)各模塊設(shè)計(jì)
3.1 通用配置模塊
配置模塊中主要操作的對象為二進(jìn)制文件,其后綴指定為.dat,因此,配置模塊的輸入和輸出均為dat二進(jìn)制文件。衛(wèi)星地面測試時(shí),數(shù)據(jù)復(fù)雜、排列多變,且伴隨有加密和解密過程。因此,通用顯示軟件配置模塊中的dat二進(jìn)制文件的格式以表的形式來定義,主要有波道表、類型表、單機(jī)表、公式表、字節(jié)表、幀表等,每個(gè)表都有各自的屬性列,各個(gè)表之間的關(guān)系如圖2所示。
3.2 數(shù)據(jù)通信模塊
通信模塊的主要功能有實(shí)時(shí)接收數(shù)據(jù)庫的數(shù)據(jù),事后從數(shù)據(jù)庫中提取大批量數(shù)據(jù)供數(shù)據(jù)回放。因此,該模塊提供兩種通訊方式,即通過網(wǎng)絡(luò)接收數(shù)據(jù)即使用TCP、UDP網(wǎng)絡(luò)協(xié)議和通過ADO.NET[7]大批量接收數(shù)據(jù)庫數(shù)據(jù)。
分析顯示軟件與數(shù)據(jù)庫之間為一對多的關(guān)系,當(dāng)TCP通訊時(shí),采用異步模式,主要考慮以下三種情況:一個(gè)數(shù)據(jù)庫軟件同時(shí)要與多個(gè)終端軟件進(jìn)行數(shù)據(jù)交互;做大型實(shí)驗(yàn)時(shí),存在數(shù)據(jù)量大和頻率高的情況;終端軟件需要分析的數(shù)據(jù)種類比較多,如果采用同步模式,一旦一個(gè)終端軟件發(fā)生異常時(shí),其它終端軟件將同時(shí)受到影響。當(dāng)數(shù)據(jù)回放時(shí),終端軟件與數(shù)據(jù)庫之間采用ADO.NET模式通訊,ADO.NET中最重要的特性是:它們是以斷開連接的方式工作。目前,許多服務(wù)構(gòu)建為連接一個(gè)服務(wù)器,檢索一些數(shù)據(jù),再在客戶機(jī)上處理這些數(shù)據(jù),之后重新連接服務(wù)器,把數(shù)據(jù)傳送回去進(jìn)行處理,ADO.NET的斷開連接的本質(zhì)就可以實(shí)現(xiàn)這類操作。
3.3 通用解析模塊
在通用解析模塊中,輸入為網(wǎng)絡(luò)接收的十六進(jìn)制字節(jié)數(shù)組、處理方式、參數(shù)、字節(jié)類型,輸出為經(jīng)過公式處理的目標(biāo)數(shù)據(jù)類型(如int、float、double等)??紤]到后期數(shù)據(jù)分析模塊的更改或數(shù)據(jù)分析方式需要添加的情況,在此模塊中采用設(shè)計(jì)模式——簡單工廠模式,使用設(shè)計(jì)模式使得程序更加靈活、容易修改,且易于復(fù)用。
通用解析模塊采用簡單工廠設(shè)計(jì)模式[8]后的類結(jié)構(gòu)如圖3所示。其中,簡單工廠類中根據(jù)字節(jié)標(biāo)志來決定實(shí)例化數(shù)據(jù)類型的類;實(shí)例化類為一個(gè)抽象類,其中包含一個(gè)虛擬函數(shù)Result(),函數(shù)實(shí)體在具體類中完成;4字節(jié)轉(zhuǎn)float類繼承實(shí)例化類,完成Result()函數(shù)的具體行為,將字節(jié)數(shù)組中其中4個(gè)字節(jié)轉(zhuǎn)化為浮點(diǎn)型數(shù)據(jù)輸出;同理,4字節(jié)轉(zhuǎn)二進(jìn)制類將字節(jié)數(shù)據(jù)中4個(gè)字節(jié)轉(zhuǎn)為二進(jìn)制輸出,8字節(jié)轉(zhuǎn)double類將字節(jié)數(shù)組中8個(gè)字節(jié)轉(zhuǎn)為雙精度浮點(diǎn)數(shù)輸出,8字節(jié)轉(zhuǎn)二進(jìn)制類將字節(jié)數(shù)組中的8個(gè)字節(jié)轉(zhuǎn)為二進(jìn)制數(shù)據(jù)輸出。如果要往數(shù)據(jù)分析模塊中添加其他數(shù)據(jù)類型轉(zhuǎn)化方式,只要在底層添加相應(yīng)的類庫,并繼承實(shí)例化類,同時(shí),在簡單工廠設(shè)計(jì)類中添加字節(jié)標(biāo)志即可。
3.4 實(shí)時(shí)顯示模塊
利用面向?qū)ο蟮某绦蛟O(shè)計(jì)[5]概念,將顯示模塊封裝為各個(gè)控件容器,其中包含文本控件、曲線控件、儀表控件。文本控件以表格形式顯示當(dāng)前時(shí)刻的數(shù)據(jù)狀態(tài);曲線控件以曲線形式描述數(shù)據(jù)趨勢圖,含放大縮小功能;儀表控件以更形象化的圖形顯示各個(gè)波道數(shù)據(jù),例如表盤、溫度計(jì)、柱狀圖、指示燈等。
3.5 數(shù)據(jù)存儲回放模塊
數(shù)據(jù)導(dǎo)出模塊的輸入為經(jīng)過數(shù)據(jù)分析模塊處理完成的數(shù)據(jù)表,輸出為用戶所選格式的文件。后期數(shù)據(jù)處理過程中,不同衛(wèi)星試驗(yàn)人員采用不同工具,因此,該模塊設(shè)計(jì)導(dǎo)出三種不同格式數(shù)據(jù)文件,即txt、excel和origin。
4 系統(tǒng)應(yīng)用
整合上述5個(gè)模塊,形成通用分析顯示系統(tǒng),通過讀取不同配置文件區(qū)分各衛(wèi)星型號變量。操作主要為打開主界面、新建子窗體、子窗體中添加各種控件、控件中添加不同變量等,結(jié)合模塊執(zhí)行過程如圖4所示。
目前,本系統(tǒng)已應(yīng)用于多個(gè)衛(wèi)星型號中,以某衛(wèi)星為例,首先根據(jù)衛(wèi)星試驗(yàn)人員提供的變量說明表配置變量數(shù)據(jù)類型、排序、公式、參數(shù)、解析方式等,配置完成形成統(tǒng)一配置文件;軟件讀入配置文件;試驗(yàn)人員選擇顯示方式如曲線、文本、柱狀圖等;對應(yīng)顯示方式上選擇需要顯示的一個(gè)或者多個(gè)變量;通過配置文件解析源數(shù)據(jù),并將結(jié)果數(shù)據(jù)顯示。
5 結(jié)論
通用數(shù)據(jù)分析顯示系統(tǒng)理論上能夠支持絕大部分衛(wèi)星地面測試分析顯示需求,并支持多顆衛(wèi)星同時(shí)測試。目前,通用數(shù)據(jù)分析顯示軟件已經(jīng)在多個(gè)衛(wèi)星型號中實(shí)際使用,因其操作簡便、用戶界面友好、運(yùn)行穩(wěn)定可靠而受到試驗(yàn)人員的廣泛好評。不同衛(wèi)星型號地面測試采用同一顯示分析軟件,避免軟件設(shè)計(jì)人員重復(fù)開發(fā),節(jié)省試驗(yàn)人員熟悉全新軟件時(shí)間,對縮短衛(wèi)星地面測試研試周期有著重大意義。
參考文獻(xiàn):
[1]張曉清,陳廣旭.通用衛(wèi)星地面測試平臺的設(shè)計(jì)與實(shí)現(xiàn)[J].指揮技術(shù)學(xué)院學(xué)報(bào),2000,11(6):77-81.
[2]龐存辰,程顥,張丹,等.面向GNC分系統(tǒng)地面測試的數(shù)據(jù)解碼軟件設(shè)計(jì)與實(shí)現(xiàn)[J].中國制造業(yè)信息化,2012,41(11):65-71.
[3]趙琳,翟正軍,周健,等.基于配置文件的測試軟件結(jié)構(gòu)一體化設(shè)計(jì)方法[J].測控技術(shù),2011,30(5):94-96.
[4]徐碚,楊學(xué)猛.衛(wèi)星通信自動(dòng)監(jiān)測系統(tǒng)實(shí)現(xiàn)技術(shù)[J].電信網(wǎng)技術(shù),2003,3(3):25-28.
[5]張保祥,馮玉潔.一種衛(wèi)星定位組件測試軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2012,35(4):62-64.
[6]張勇,王堃,王強(qiáng),王宏安,等.基于實(shí)時(shí)數(shù)據(jù)庫的衛(wèi)星測試平臺的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(2):335-337.
[7]雷浩然,陳帥.基于MFC的組合導(dǎo)航檢測軟件快速實(shí)現(xiàn)方法[J].計(jì)算機(jī)應(yīng)用,2013,33(S1):262-264.
[8]喬凱,沈蘇彬.一種網(wǎng)絡(luò)監(jiān)測軟件的分析與改進(jìn)[J].南京郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,31(1):83-89.
本文來源于《電子產(chǎn)品世界》2017年第6期第66頁,歡迎您寫論文時(shí)引用,并注明出處。
評論