石啟亮,李 強,曾俊康
(中國衛星海上測控部,江蘇 江陰 214431)
航天測量船是我國航天測控網的重要組成部分[1],其主要承擔目標飛行器的海上測控任務。綜合測控基帶設備[2]是船載統一載波測控系統的一個關鍵組成設備,它將衛星控制中心與測控系統的上/下行信道連接起來,是集遙測、遙控、測距、測速、數傳等測控業務功能于一體的綜合終端設備,并具有多體制測控功能,其運行可靠性關系到測控任務的成敗。因此綜合測控基帶設備具有功能多、數據交互格式多、傳輸數據量大、傳輸頻率高等特點,同時基帶設備運行時還涉及到成百上千個設備工作參數讀取、設置和上百個工作狀態的監視,但是目前基帶設備的數據和狀態監視功能卻十分匱乏,只采用單一的數值顯示方式,不具備監視設備數據和狀態的變化趨勢的功能,已不符合數據分析和狀態監視的需要。因此采用可視化綜合監視方案,設計一套可視化綜合監視系統軟件,豐富基帶數據分析和狀態監視方法和手段,輔助崗位人員全方位了解綜合測控基帶設備的運行狀態和測控業務數據傳輸狀態并作出有效判斷和決策,可以有效減少由于需要顯示的數據和狀態項較多,崗位人員在長時間工作的情況下無法有效監視設備狀態的變化趨勢且容易漏讀漏判狀態的情況,為圓滿完成測控任務提供可靠保障。
在船載統一載波測控系統中,綜合測控基帶設備連接3個網絡,分別是監控網、測控網、數傳網,而遙測、遙控、測距、測速、數傳等測控業務數據和基帶設備監控信息數據均采用UDP協議,通過組播方式同時以1~20 Hz的不同頻率傳輸到3個不同的網絡中,因此不同類型數據具有不同的IP地址、端口號、組播地址。設計的基帶實時可視化綜合監視方案中主要由連接監控網、測控網、數傳網3個網絡的其中一臺備份綜合測控基帶設備(非工作機)或者另配工控機作為監視計算機,用于3個測控網絡中各類測控業務數據和設備監控信息的接收、處理及顯示。系統結構如圖1所示。

圖1 可視化綜合監視系統結構框圖
基帶實時可視化綜合監視具備以下作用:
1)通過監控網獲取基帶設備上報給系統監控臺的監控信息數據,用于基帶設備接收信號狀態可視化監視和工作參數狀態核查。
2)通過測控網獲取基帶設備發送至測控中心的遙測、測距、測速、遙控返回數據等信息,伺服監控輸出的方位、俯仰角誤差等測角數據,脈雷測量設備輸出的脈雷測量數據以及中心發送至測控系統的遙控指令、引導信息等數據,用于各類測控業務數據的可視化監視。
3)通過數傳網獲取基帶設備發往測控中心的數傳Q路數據、鏈監信息,用于數傳Q路數據的可視化監視和鏈路通斷情況的監視。
船載統一載波測控系統基帶實時可視化綜合監視系統軟件主要由主窗口和基帶網絡數據監視、接收信號特性監視、測距測速變化監視、遙測數據處理監視、數傳Q路數據監視、遙控狀態處理監視、角誤差特性監視、基帶參數核查監視等8個功能模塊組成。設計的各模塊功能如下所述:
1)網絡數據監視功能。對綜合測控基帶設備發送和接收到監控、測控、數傳3個網絡的數據進行監視、統計,并監視相應通道的數據。
2)接收信號特性監視功能。用于實時顯示綜合測控基帶設備接收信號信噪比S/φ、AGC電壓、多普勒頻率變化曲線,采用二維曲線方式顯示,并記錄接收信號閃斷特征點,對基帶狀態數據源碼、解析換算后的信噪比S/φ、AGC電壓、多普勒頻率值等進行實時存盤。
3)測距測速變化監視功能。用于實現顯示基帶、脈雷設備測量數據、引導數據,采用圖形顯示、數值顯示方式實時顯示距離值、速度值、差值等,可以進行一階差分計算并生成曲線,并記錄測距、測速數據閃斷特征點,其中測距、測速數據接收處理頻率可根據數據傳輸頻率進行設置。對接收到的各類測量數據源碼、解析轉換后的測量數據進行實時存盤。
4)遙測數據處理監視功能。用于實時監視基帶遙測數據發送情況,具備全幀顯示、挑路顯示、曲線顯示、柱狀顯示等方式。具備對基帶輸出的遙測數據進行實時、事后丟幀測試的功能??梢杂涗浕鶐Оl送的遙測數據源碼。
5)數傳Q路數據監視功能。用于實時監視基帶數傳Q路數據及鏈監信息發送情況,具備全幀顯示、挑路顯示、曲線顯示、柱狀顯示等方式。具備對基帶輸出的數傳Q路數據進行實時、事后丟幀測試的功能??梢杂涗浕鶐Оl送的數傳Q路數據源碼。
6)遙控狀態處理監視功能。用于監視、統計綜合測控基帶設備遙控指令接收處理、執行及應答信息發送情況,采用列表方式顯示各類信息。
7)角誤差特性監視功能。用于監視伺服輸出方位俯仰角度、AGC電壓變化情況,采用二維曲線方式顯示。對接收到的測角數據源碼、解析轉換后的測角數據進行實時存盤。
8)基帶參數核查監視功能。用于監視綜合測控基帶設備上報至系統監控臺的工作參數狀態情況,核查參數加載是否正確。
基帶實時可視化綜合監視系統需采集的數據包括處理綜合測控基帶設備輸入/輸出的遙測、測距、測速、遙控、數傳、監控等數據之外,還包括脈雷測量系統輸出的測量數據、伺服監控輸出的測角數據以及軌道理論引導數據等。這些數據以1~20 Hz不同頻率分別在3個測控網上以組播形式傳播,因此具有不同的IP地址、端口號和組播地址。軟件接收到這些數據后,通過信息格式校驗和解析,最終以曲線、數值、二進制源碼、列表等形式進行可視化顯示。為提高數據接收的可靠性、實時性,基帶實時可視化綜合監視軟件設計為單進程多線程工作機制,采用MFC多線程編程處理這些并行發送數據,從而提升軟件的運行效率。為保證數據接收的實時性,降低程序邏輯復雜度,總計設計了9個測量數據接收線程,其中將測控網的數據接收按數據類型分為7個線程,監控網、數傳網各1個線程。軟件多線程工作機制設計如圖2所示,均采用全局函數AfxBeginThread()來創建并初始化一個線程的運行。

圖2 多線程工作機制
基帶實時可視化綜合監視系統軟件啟動后,進行系統軟件初始化,各功能模塊從主窗口模塊獲取3個網絡的配置參數,主要包括IP地址、組播地址、端口號等。以測距測速變化監視模塊為例,設計的工作流程如圖3所示,其他模塊參考設計。測距測速變化監視工作流程主要實現過程如下:
1)在啟動網絡接收前,先進行時間格式、坐標軸參數、曲線類型等相關曲線顯示參數的設置,然后可以同時啟動界面刷新定時器和測量數據網絡接收線程,即圖2中線程1~4。設置定時器控制界面刷新周期為500 ms。

圖3 測距測速變化監視工作流程
2)完成套接字創建并綁定IP地址、組播地址、端口號。使用socket()函數建立套接字,若成功創建套接字并綁定IP地址、端口號,將各類測量數據的組播地址加入組播后,并啟動接收進入無限循環程序,使用recvfrom()函數處于等待狀態,直到接收到指定套接字的組播消息,如果收到的消息長度大于0,按照數據源、數據標志碼、信息類別等特征字進行分類和數據格式判斷,并調用自定義測量數據解包類中的功能函數以規定的數據幀格式規范對數據進行解析處理,生成對應的時間(包括絕對時和相對時兩種格式)、距離值、速度值,和接收幀計數、二進制源碼等數據按規定的結構存儲在緩存區,供數據顯示函數調用。同時根據接收到的測量數據的前、后兩幀中的幀計數進行丟幀判斷,若同一類型測量數據前、后兩幀幀計數差大于1,則判斷出現丟幀,采用MFC消息機制中PostMessage()函數將消息放入消息隊列,調用自定義消息響應函數將丟幀信息插入日志隊列并顯示。
考慮到測量數據接收解析和界面數據顯示刷新具有不同的頻率,因此采用共享緩沖區的設計實現同步通信,其中數據接收對緩存區只寫,按接收順序依次編號排列,而數據顯示則對緩存區只讀,軟件根據數據接收幀計數將緩存區中的所有已收到的數據用于界面顯示。
4)在定時器控制下,調用數據顯示函數刷新界面中圖形顯示、數值顯示、源碼顯示等控件。設計中增加了必要的限制條件,即收到數據幀計數大于1時才開始啟動界面刷新,避免增加計算量和計算機資源消耗。
5)若啟動存盤則根據接收到各類測量數據的數據標志碼、數據類型、存盤時間創建各自的存盤文件,對每一類測量數據源碼、解析后的測量數據分別進行存盤。
6)在停止網絡接收后,按順序解綁IP地址、端口號、組播地址,關閉套接字,結束數據接收線程。若需要對接收到的距離值、速度值進行質量分析,可以選擇采用差分計算,則從數據緩沖區調用解析后的時間、距離值、速度值等信息后進行一階差分計算,并在圖形顯示控件中顯示,可以有效分析距離、速度變化情況,找出數據野值,從而確定整個飛行器跟蹤弧段是否存在數據中斷、跳變等異常情況。
船載統一載波測控系統基帶實時可視化綜合監視系統軟件在Windows XP系統平臺上采用Visual C++ 6.0[3-7]編程環境進行開發,軟件中圖形繪制采用Steema Software公司開發的TeeChart8.0繪圖控件[8-10],該控件支持多種操作系統,具有豐富的API編程接口,圖形功能強大并且繪圖效率極高,特別是在軟件程序中制作曲線圖、柱狀圖時使用方便,可控性強。
軟件主要實現過程如下:在VC++6.0環境中創建工程BBEDataMonitorProject,建立基本對話框應用程序。在對話框主界面上添加一個Tab Control控件,增加8個屬性頁,每個屬性頁是用一個“窗體”(對話框)來實現。在工程對話框資源里面添加8個子對話框,分別對應8個功能模塊,并為對話框建類,將Tab Control控件屬性頁與8個子對話框關聯。基帶實時可視化綜合監視系統軟件如圖4所示,通過選擇Tab Control控件標簽來切換功能模塊,當前顯示的為測距測速變化監視模塊界面。

圖4 測距測速變化監視界面
測距測速變化監視模塊以圖形顯示、數值顯示、源碼顯示、列表顯示等相結合的方式實現測距、測速的可視化監視。其以圖形方式顯示距離、速度曲線,以數值方式顯示當前時間、距離、速度值,以源碼顯示方式顯示當前測距、測速接收數據幀,以列表方式記錄數據接收、丟幀等情況。因此測距測速變化監視模塊界面設計中主要使用了TeeChart控件、MSFlexGrid控件、ListCtrl控件、Edit控件、Button控件以及一些單選、多選控件等。其中兩個TeeChart控件用于多種測控體制和數據源的測距、測速數據的實時曲線的顯示,在安裝注冊TeeChart控件后,通過插入ActiveX控件的方式將TeeChart控件增加到對話框界面中;1個MSFlexGrid控件用于實時顯示當前時間、距離、速度值,以及測控系統測量數據與脈雷測量系統測量數據、引導數據之間的差值,以表格化的形式展現;3個Edit控件分別用于顯示測距、測速、脈雷數據源碼,通過單選控件來選擇切換顯示的源碼;8個Button控件分別對應坐標軸設置、顯示參數設置、網收開始/停止、日志存盤、繪圖重置、保存圖片、差分計算功能按鈕;另外兩個ListCtrl控件分別用于測距、測速日志記錄。
將船載統一載波測控系統基帶實時可視化綜合監視系統軟件部署在一套備份綜合測控基帶設備上,同時啟動6路測距、6路測速、1路脈雷測量數據、8路遙測、1路數傳、1路遙控、1路引導總計24路數據進行測試,數據發送均采用UDP協議以組播形式進行,具有1~20 Hz的不同發送頻率。測試結果充分驗證了可視化綜合監視軟件能正確接收所有測控數據,各功能模塊能清晰顯示各類數據接收及變化情況,且日志記錄完整。對各功能模塊界面進行切換測試,完成時間小于2 s。軟件分別運行10 min、20 min、30 min后的運行效率測試結果見表1。從測試結果可知,在軟件運行30分鐘后,CPU占用最大為15%,內存占用<100 MB(綜合測控基帶工控機硬件平臺CPU采用Intel Core2 i7雙核四線程3.2 GHz、運行內存4GB),遠小于軟件設計要求中CPU占用≤30%,內存占用≤20%的要求。

表1 軟件運行效率測試結果
通過采用可視化綜合監視方案,設計了一套統一載波測控系統基帶實時可視化綜合監視系統軟件,實現了對綜合測控基帶接收和發送的各類數據、狀態的可視化監視。通過優化可視化綜合監視系統軟件架構和工作機制、流程,提升了軟件的實時性、可靠性。軟件功能豐富、可視化程度高,具有良好的交互性。通過應用該可視化監視方案和軟件,可以實時監視基帶設備各類數據的收發狀態、變化趨勢和異常實時診斷情況,有效避免數據、狀態監視中存在的漏讀、漏判的情況,提升崗位人員工作效率、設備可靠性。