999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于數據分發服務和WPF技術的試飛實時監控系統設計

2020-04-07 10:15:54
計算機測量與控制 2020年3期
關鍵詞:系統

(中國飛行試驗研究院 測試所,西安 710089)

0 引言

隨著信息網絡技術的飛速發展,航空武器裝備系統越來越復雜,將面臨試飛風險高、試飛周期短、試飛數據量大等嚴峻問題。一方面未來空天飛行器試飛時需要同時對大量測試數據、高清視頻數據和控制信息進行雙向、持續、高速傳輸,來實現對其超視距的時空連續覆蓋,并通過地面監控實現對故障的及時預警、處置和設備控制,以提高試飛安全性和效率;另一方面有人-無人機協同作戰試飛,將會接入更多的試飛數據匯聚到飛行試驗實時監控網絡[1]。

從發展要求來講,未來所建設系統需要具備三種能力,確保為三類人員提供高質量的實時數據服務:針對測試人員應該提升其業務管理能力,系統應具備集中信息管理、集中任務管理、數據質量管理、容災與處置等能力;針對課題人員,以提升數據服務為基準,使其具備自主監控能力,系統具備簡易操作邏輯、自主發布/訂閱數據、自主評估/分析試驗等特性;針對聯合試驗人員,應具備試驗資源接入與分析能力,系統應具備低成本數據互聯、高可靠異構網絡傳輸、數據服務質量等特性。

然而目前飛行試驗仍然采用以服務為中心的C/S架構監控模式,遙測數據的接收、解析處理及轉發在服務端進行,客戶端被動接收服務器轉發的實時數據。因此現有系統不能有效解決分布式試飛資源的融合處理、數據集中治理、鏈路健康狀態管理以及跨試驗場數據分發等關鍵問題,本文結合目前試飛實時監控系統的特點,引入基于DDS的數據融合處理分發機制,探索其在未來跨試驗場聯合試飛、多機協同試飛等領域中的應用,實現多源數據快速接入、數據自主發布-訂閱、數據服務質量,提高通信效率;采用WPF實現可視化控件編輯、參數-控件雙向綁定,使界面開發引擎與DDS數據傳輸相結合,滿足實時監控畫面的高精度和流暢性,為確保試驗安全、縮短試驗周期、節約試驗經費提供有力支撐。

1 關于DDS

1.1 DDS簡介

DDS(data distribution service for real-time systems)作為分布式實時數據分發的主流技術,已經在證券交易、國外靶場資源整合方案中得到了充分驗證,DDS標準為OMG組織發布,該規范標準化了分布式實時系統中數據發布、傳遞和接收的接口和行為,定義了以數據為中心的發布-訂閱機制,提供了一個與平臺無關的數據模型[2];而且DDS還定義了大量的QoS策略,協調可預測性與執行效率之間的平衡,很好地配置和利用系統資源,支持復雜網絡環境下的數據傳輸需求等[3]。

DDS規范的核心就是標準化了以數據為中心的分布式應用“發布/訂閱”通信模型-DCPS模型[4],該模型隔離了網絡傳輸層與上層應用層的耦合性,將數據的發送抽象為了數據發布者(Publisher),將數據的接收抽象為了數據訂閱者(Subscriber),將傳輸的數據信息抽象成了主題(topic),將邏輯上隔離的虛擬網絡抽象成了域空間(Domain),如圖1所示。

圖1 DDS發布訂閱模型

域空間(Domain)是DDS服務依據域id建立的邏輯上獨立的通信網絡,具有相同主題的訂閱者和發布者才能建立發布/訂閱關系,其中QoS服務質量貫穿整個DDS通信過程[5]。

1.2 WPF

WPF 是 Windows Presentation Foundation 的縮寫,是 MicroSoft 公司新一代圖形化顯示系統,具有多種優越特性:基于DirectX,具有更高的畫面精度;顯示設備的無關性,具有可移植性[6]。同時引入了可擴展應用程序標記語言(eXtensible Application Markup Language,XAML),這是一種全新的標記語言,它是專門用于應用程序UI的定制而開發的,可以在聲明性XAML標記中創建可見的UI元素,使UI設計與運行時業務邏輯分離[7]。XAML代碼可以使用圖形設計工具Microsoft Expression Blend創建,方便開發人員直接修改界面,提高了效率。

1.3 服務質量策略(QoS)

服務質量策略QoS(quality of service policies)是一種網絡傳輸策略,DDS規范定義多個Qos策略,盡可能地滿足客戶對通信質量的需求[8]。DDS的數據傳輸機制采用的傳輸協議,包含有TCP、UDP、RTPS_UDP等,這些協議的使用采用配置文件的方式靈活配置,結合OMG組織定義的22種QOS策略可以滿足系統的各種傳輸要求,其工作流程如圖2所示。

圖2 DDS發布訂閱模型

DDS支持最大帶寬傳輸模式和可靠傳輸兩種模式。其中,最大帶寬傳輸模式以盡可能的最大傳輸速率進行數據傳輸,如果傳輸的協議采用非可靠的傳輸協議(如:UDP協議)時,若發生數據丟包,將不會產生數據重傳,該傳輸模式適用于僅對于最新數據感興趣的持續輸出系統;可靠傳輸模式是在DDS傳輸層上提供的一種可靠數據傳輸服務,依賴底層傳輸協議而提供的一種可靠傳輸服務。針對復雜網絡環境下的試飛任務,可根據當前網絡狀態和試飛科目需求,通過QoS策略可以實現整個網絡的控制,增強其對復雜網絡環境下的適應性和魯棒性。

2 基于DDS的試飛實時監控平臺

基于DDS的試飛實時監控平臺采用一種可以自發現,分布式的軟件構架,多個節點之間通過計算機網絡進行消息傳遞實現復雜網路環境下綜合監控多源數據流的接收、解析、處理和分發任務,主要包括以下兩部分:

1)DDS服務中間件,將DDS服務中間件部署于各個監控終端,實現整個平臺的基礎通信環境。

2)數據融合處理分發,實現基礎配置、多源數據處理、集中數據處理、數據分發等功能。

基礎通信環境可支持UDP、TCP等通訊協議,能夠結合現有遙測實時監控的具體場景以及相關數據模型,建立試飛數據的主題化配置與管理;多源數據處理具備空天地多源數據的接收、解析、處理以及融合處理能力;集中數據處理能夠結合現有數據封裝協議與飛行試驗數據配置信息實現數據解析,能夠基于DDS實現計算業務的封裝與分發,支持多個計算節點的業務派發能力,能夠實時檢測各節點工作狀態,可根據各計算節點的計算能力動態調整各節點計算業務,具備數據存儲功能,并具有管理和發現能力,支持數據回放,同時實現22種QoS服務策略;數據分發支持訂閱發布模式,并能夠兼容現有C/S架構通信模式,將數據分發到各個監控軟件。

2.1 總體架構設計

平臺整體架構采用OpenDDS作為數據通信中間件,OpenDDS是對象管理組織OMG的實時數據分發系統的C++開源實現[9],系統進行分布式處理,每個分布節點之間使用DDS進行數據的傳輸,采用ORM映射技術處理數據庫和實體之間的關系,來提供數據服務業務,利用WPF技術中的XAML引擎來搭建實時監控界面的可視化,使用任務容器引擎,支持多業務的數據解析和處理,整體架構如圖3所示。

圖3 系統整體架構圖

使用DDS中間件替代了原有的Socket原生編程通信底層,利用DDS的協議特點,創建一個更適應于試飛環境下的數據傳輸機制,系統的分布式結構由若干個可以獨立執行的程序模塊組成,它們分布于一個分布式處理系統的多臺計算機上被同時執行。軟件采用Windows的.Net框架進行開發,使用XAML引擎來進行實時編程界面的開發,如控件、數據雙向綁定、二維和三維圖形、事件路由等,可使開發人員和設計人員用來構建和重用 UI 的工具更加豐富。

2.2 平臺運行環境

基于DDS和WPF技術的試飛實時監控系統運行環境如圖4所示,試飛過程中指揮員、各專業課題組人員,通過監控終端和監控大屏進行實時安全監控和任務監控。后臺各個節點通過DDS服務中間件來進行通信。

圖4 系統運行環境

后臺業務處理是系統設計的關鍵,目的是完成飛行數據的解析,能夠解析實時數據和離線數據。主要包括計算服務,實現多源數據流的接收、處理和分發;監控服務,實現解析后數據的可視化展示;管理服務,實現配置信息管理和監控整個網絡節點的信息管理;數據庫服務,實現實時數據的快速存取和業務信息的數據交互。

2.3 并行計算與多任務管理

在真實飛行試驗環境下,通常多架機同時進行數據遙測傳輸與地面安全監控,因此需要采用分布式的多節點同時計算,來進行多任務的并行計算,同時提供管理平臺來對多任務實施全流程管控。并行計算與多任務管理功能由分布式處理平臺提供,本分布式處理平臺由管理端和計算節點端組成,如圖5所示。

圖5 多任務管理結構圖

1)管理端負責收集匯總各計算節點上報的心跳、任務信息、節點機信息等內容,管理端實時顯示各節點的任務狀態和節點機狀態,以便用戶動態調整各節點任務狀況。管理端和計算端的通信通過固定的DDS話題提供整個通信指令和上報鏈路;

3)任務負責執行具體業務邏輯,例如數據的接收、數據的解析和數據的處理等。任務可動態分配到單個或多個CPU核心當中以調整不同的系統性能和并發性。

2.4 實時業務處理分發

實時業務處理分發是系統設計的關鍵,目的是完成飛行數據的解析,能夠解析實時數據和離線數據。并且能夠通過DDS中間件將解析后的數據進行分發,計算服務必須要能夠高效的對數據進行解算,并且能夠快速的將數據進行轉發。

由試驗配置信息綜合管理模塊提供試驗信息解析,根據解析后的參數進行接收、解析、處理、以及融合處理,具體步驟如下。

1)數據接收,完成對多源數據提供參數接收任務,如PCM格式數據、IENA格式數據和iNET格式數據,該任務的主要工作是可以使用不同的接收機制,從不同的信號源中接收原始數據;

2)數據的解析,是根據試驗配置文件提供的解析信息,對數據進行初次解析,將所有數據參數從原始數據包中提取出來,等待后續任務進行處理;

3)數據的處理,是對由解析任務所提取的參數,根據試驗配置文件中提供的校準信息進行相應處理,并將處理結果暫時保存至內存等待后續任務進行使用;

4)數據的融合處理,是由用戶提供類似試驗配置信息格式或以接口形式提供動態鏈接庫進行融合處理;

5)對于處理后的數據(一次處理或融合處理),由DDS進行傳輸,根據不同的話題定義,發布至不同的話題以供鏈路傳輸。

有一天,他在給我換了水之后,很奇怪地問我:“關小姐,我就覺得很奇怪,人家一家人喝水,一桶水也能維持半個月。你一個人,就一個星期一換,怎么這么厲害。”

2.5 基于XAML的編輯引擎設計

界面編輯引擎旨在為數據融合編程可視化顯示提供一個開發、發布平臺,編輯引擎基于.NET WPF開發,提供界面可視化編輯引擎,通過基于XAML的編輯器引擎,用戶通過瀏覽基本控件提供布局控件(Border、Grid、Rectangle、TabControl等)、功能控件(Button、CheckBox、ComboBox、Image、ListBox、RadioButton、TextBox等)、以及圖表等控件,自定義控件庫中的顯示控件,以拖拽的方式設計不同試飛科目監控畫面,如飛控、動力裝置、航電等,同時將可視化控件和參數進行綁定,能夠與DDS數據傳輸相結合,來滿足數據的接收顯示,最后將設計好的XAML文件序列化且錄入關系數據庫。平臺支持多源數據融合,數據源端可將接收的PCM格式數據、IENA格式數據、INET格式數據進行融合顯示,用戶也可以同時將多架飛機的數據進行融合的綜合顯示。

運行階段,首先配置需要實時監控的試飛任務參數,然后生成話題在任務中進行注冊,當話題注冊完畢后,執行任務時,顯控軟件會接收到配置的參數。經數據接收、解析、處理后,都由DDS進行傳輸,按照多參數定制話題,由計算服務傳遞至監控服務。監控服務由兩種方式接收數據:DDS接收模塊接收經由DDS鏈路傳遞的數據至編輯引擎當中,或使用兼容模式下的UDP與已有系統進行連接。

1)基于Canvas的布局

系統中的控件庫分為兩大類:布局控件(Layout Control)和可視化子控件(Sub Control)。WPF的布局控件都在System.Windows.Controls.Panel這個基類下面,一般使用WPF提供的各種控件在界面進行布局,同時對各種子控件(如按鈕、文本框,下拉框等)進行排列組合。但是對于復雜的布局情況,每當布局控件內的子控件改變其位置時,布局系統就可能觸發一個新的處理過程,子控件數量會嚴重影響系統整體性能。本系統引入Canvas布局面板,同時為各個子控件添加鼠標事件,實現控件的旋轉、平移等動態修改。由于Canvas畫布只是一個存儲控件的容器,不會自動調整內部元素的排列及大小,因此具有良好的性能優勢。

定義拖拽方向枚舉:

public enum DragDirection

{

TopLeft = 1,

TopCenter = 2,

TopRight = 4,

MiddleLeft = 16,

MiddleCenter = 32,

MiddleRight = 64,

BottomLeft = 256,

BottomCenter = 512,

BottomRight = 1024,

}

XAML布局代碼:

Stroke="Azure"

Width="64"

Height="64"

Canvas.Left="210" Canvas.Top="20"/>

2)試飛參數雙向綁定(Binding)

試飛安全監控要求傳感器數據或總線數據變化時,監控畫面能夠實時更新,傳統的定時器操作會丟失瞬態數據,而事件機制又會增加代碼的復雜度,本系統采用Binding技術實現試飛數據和可視化控件的雙向綁定,一但監控的試飛數據發生變化,可視化控件的值會自動更新,實現代碼如下所示:

Public class Parameters: INotifyPropertyChanged

{

public event PropertyChangedEventHandler ParamPropertyChanged;

private string x;

public string X;

{

get {return x}

set { x = value;

if(this.ParamPropertyChanged !=null)

{

this.ParamPropertyChanged.Invoke(this,new

PropertyChangedEventArgs(“X”));

}}

}

this.graph.SetBinding(Graph.DataSourceProperty,new Binding() {

//以下設置數據綁定

...

});

Parameters類繼承INotifyPropertyChanged類,其成員變量x在set方法中使用PropertyChanged委托。PropertyChanged委托的作用是當X變量發生變化時,通告所有與Parameters類綁定的對象,使其成員變量數據與X同步。

3 應用及分析

基于DDS和WPF技術的試飛實時監控系統已在飛行試驗領域中得到應用驗證。通過基于XAML編輯引擎,以拖拽控件的方式完成監控畫面的快速集成,大幅縮短了監控畫面設計周期;支持PCM、INET、IENA等類型的遙測數據解析與處理,支持TCP、UDP傳輸協議,能夠對DDS質量服務策略進行選擇,例如實時回滾數據的處理與顯示,高網絡延遲環境下的數據分發等,應用效果如圖6所示。

圖6 應用效果圖

4 結束語

DDS標準已在歐美等國家中的民航、國防領域得到廣泛應用,且已形成相對完善的商業產品。將DDS技術引入飛行試驗測試領域,可以很好地滿足未來空天地試飛監控測試和跨試驗場聯合試飛等對數據實時性、可靠性和靈活性的要求,提升數據傳輸能力。目前國內DDS的相關研究和應用范圍非常有限,特別是飛行試驗鑒定領域應加強該技術的研究,拓寬應用范圍。

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 一级香蕉人体视频| 国产午夜无码片在线观看网站| 日韩美一区二区| 欧美中文字幕一区二区三区| 欧美在线网| 欧美激情综合一区二区| 国产精品妖精视频| 国产二级毛片| 另类重口100页在线播放| 欧美午夜在线观看| 制服丝袜在线视频香蕉| 中文字幕无码制服中字| 免费国产在线精品一区| 亚洲天堂视频在线免费观看| 亚洲系列中文字幕一区二区| 亚洲日韩久久综合中文字幕| 免费高清毛片| 欧美a级在线| a级毛片毛片免费观看久潮| 免费在线成人网| 欧美激情二区三区| 强奷白丝美女在线观看| 国产精品免费久久久久影院无码| 一本大道香蕉久中文在线播放| 1769国产精品免费视频| 四虎永久免费地址在线网站 | 欧美色视频网站| 国产亚洲欧美在线人成aaaa | 亚洲男人的天堂在线| 啪啪永久免费av| 欧美日韩理论| 亚洲欧美日韩中文字幕在线| 成人一级黄色毛片| 成人免费午夜视频| 91免费片| 波多野结衣中文字幕一区| 欧美日韩免费在线视频| 国产精品自在在线午夜| 国产av剧情无码精品色午夜| 免费观看精品视频999| 日韩国产综合精选| 秋霞午夜国产精品成人片| 欧美日韩国产在线播放| 成人在线天堂| 亚洲国产成人久久精品软件| 欧美爱爱网| 狠狠干综合| 无码高潮喷水在线观看| 在线免费看黄的网站| 在线不卡免费视频| 欧美国产日韩在线播放| 国产乱人伦偷精品视频AAA| 免费亚洲成人| 免费人成在线观看成人片| 九色综合视频网| 国产精品天干天干在线观看| 最新国语自产精品视频在| 一级毛片高清| 国产成人精品一区二区免费看京| www.91在线播放| a毛片免费观看| 亚洲综合18p| 亚洲品质国产精品无码| 天天操天天噜| 波多野结衣亚洲一区| 亚洲不卡影院| 久久精品人人做人人综合试看 | 欧美不卡二区| 九九九久久国产精品| 久久狠狠色噜噜狠狠狠狠97视色| 欧美成人精品一级在线观看| 日本在线国产| 久久伊人色| 色精品视频| 亚洲日韩高清在线亚洲专区| 特级精品毛片免费观看| 99久久亚洲综合精品TS| 一本大道无码高清| 精品综合久久久久久97| 精品福利视频网| 九九热免费在线视频| 青草国产在线视频|