国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種復(fù)雜模式網(wǎng)傳數(shù)據(jù)軟件模擬器的設(shè)計

2017-03-21 12:53:15潘高峰
計算機(jī)測量與控制 2017年2期
關(guān)鍵詞:模擬器控件子系統(tǒng)

潘高峰,謝 勇,梁 盛

(中國衛(wèi)星海上測控部, 江蘇 江陰 214431)

一種復(fù)雜模式網(wǎng)傳數(shù)據(jù)軟件模擬器的設(shè)計

潘高峰,謝 勇,梁 盛

(中國衛(wèi)星海上測控部, 江蘇 江陰 214431)

針對某型遠(yuǎn)程監(jiān)控系統(tǒng)復(fù)雜、數(shù)據(jù)量大、數(shù)據(jù)結(jié)構(gòu)多變等給軟件設(shè)計帶來的難度,設(shè)計了一個軟件模擬器,構(gòu)成閉環(huán)調(diào)試系統(tǒng),利于檢查實戰(zhàn)軟件,該模擬器以XML技術(shù)為核心,綜合了數(shù)據(jù)幀編排、軟件界面自動生成、用戶控件定制等先進(jìn)技術(shù),有效對監(jiān)視對象進(jìn)行了模擬,實現(xiàn)了多模式下數(shù)據(jù)的自動組幀和發(fā)送功能;通過該模擬器的配合,發(fā)現(xiàn)實戰(zhàn)軟件設(shè)計缺欠,具有很好的推廣應(yīng)用價值。

模擬器; 幀結(jié)構(gòu); XML; 界面自動生成; 用戶控件

0 引言

某遠(yuǎn)程監(jiān)視系統(tǒng)是為完成遠(yuǎn)端多套設(shè)備狀態(tài)監(jiān)視而設(shè)計,每套設(shè)備具有多種工作模式,每種工作模式具有大量的監(jiān)視信息,且設(shè)備數(shù)據(jù)具有多變的特點。這種復(fù)雜數(shù)據(jù)結(jié)構(gòu)給軟件設(shè)計帶來較大的難度,在沒有實際對象的軟件調(diào)試狀態(tài),特別是在關(guān)鍵代碼或整體測試狀態(tài),軟件功能和性能無法保證,給現(xiàn)場調(diào)試和測試帶來極大工作量。在這種情況下,設(shè)計了具有針對性的軟件模擬器,模擬對象實際運行狀態(tài),從而構(gòu)建軟件閉環(huán)測試環(huán)境。

本文針對該系統(tǒng)復(fù)雜、數(shù)據(jù)量大、數(shù)據(jù)結(jié)構(gòu)多變的特點,以XML技術(shù)為核心[1],綜合數(shù)據(jù)幀編排、軟件界面自動生成、用戶控件定制等先進(jìn)技術(shù),設(shè)計了一個可以有效模擬監(jiān)視對象的模擬器。

1 系統(tǒng)結(jié)構(gòu)及原理

該遠(yuǎn)程監(jiān)視系統(tǒng)主要包括監(jiān)視對象、監(jiān)視服務(wù)器、監(jiān)視終端組成,如圖1所示。其中,監(jiān)視對象由多個子系統(tǒng)組成,子系統(tǒng)可以工作在不同的工作模式,每個子系統(tǒng)又由多個分系統(tǒng)組成,各個分系統(tǒng)按照約定的數(shù)據(jù)格式上報數(shù)據(jù)給系統(tǒng)監(jiān)控臺,各個子系統(tǒng)將最終數(shù)據(jù)上報給本地服務(wù)器;監(jiān)視服務(wù)器用于將多個本地服務(wù)器的數(shù)據(jù)進(jìn)行處理,包括數(shù)據(jù)幀處理轉(zhuǎn)發(fā)、數(shù)據(jù)存儲以及遠(yuǎn)程測試等功能;監(jiān)視終端是面向用戶的終端,將多個子系統(tǒng)的數(shù)據(jù)直觀顯示給用戶。

圖1 遠(yuǎn)程監(jiān)視系統(tǒng)原理框圖

本文所設(shè)計的模擬器仿真圖1中所注的模擬部分,其功能為模擬形成多個子系統(tǒng)的數(shù)據(jù),并將其發(fā)給監(jiān)視服務(wù)器,但設(shè)計中存在系統(tǒng)多、模式多、數(shù)據(jù)種類多、數(shù)據(jù)量大等難點。經(jīng)分析,設(shè)計采用以XML技術(shù)為核心,并綜合多項成熟技術(shù),具有高擴(kuò)展性、高時效性的特點。

2 關(guān)鍵技術(shù)的實現(xiàn)

對于軟件模擬器開發(fā)而言,真實性和時效性是必須考慮的問題[2],軟件流程如圖2所示。該軟件模擬器的設(shè)計面臨數(shù)據(jù)類型多變、數(shù)據(jù)傳輸量大、控制邏輯復(fù)雜等難題,經(jīng)分析比較,解決關(guān)鍵技術(shù)的措施包括:制訂數(shù)據(jù)通信協(xié)議以及通信機(jī)制,保證數(shù)據(jù)傳輸可靠;采用XML技術(shù),實現(xiàn)數(shù)據(jù)結(jié)構(gòu)化;采用菜單項關(guān)聯(lián)XML文件方式,實現(xiàn)復(fù)雜邏輯控制;以FlowLayoutPanel控件為容器,以XML文件為介質(zhì),通過設(shè)計自定義控件,實現(xiàn)界面自動生成;使用界面控件值與XML文件對應(yīng)屬性并讀方式,實現(xiàn)數(shù)據(jù)動態(tài)組幀發(fā)送,通過這些關(guān)鍵技術(shù)的解決,成功實現(xiàn)了軟件模擬器的設(shè)計。

圖2 軟件流程圖

2.1 通信機(jī)制

根據(jù)設(shè)備參數(shù)實際情況,將這些參數(shù)分為緩變數(shù)據(jù)和瞬變數(shù)據(jù),緩變數(shù)據(jù)是指設(shè)備端幾乎沒有變化的數(shù)據(jù),比如狀態(tài)設(shè)置;瞬變數(shù)據(jù)是指設(shè)備端時刻變化的數(shù)據(jù),比如跟蹤的AGC電壓。

對于緩變數(shù)據(jù)采用1秒時間間隔發(fā)送方式,接收端每收到一次緩變數(shù)據(jù)幀,返回一個應(yīng)答幀,在發(fā)送完全部緩變參數(shù)后,等待5秒內(nèi),如未收到某個應(yīng)答幀,重新發(fā)送丟失的數(shù)據(jù)幀,直至完成全部數(shù)據(jù)幀發(fā)送。在完成全部數(shù)據(jù)發(fā)送后,設(shè)備緩變參數(shù)變化時,僅發(fā)送變化的相應(yīng)數(shù)據(jù)變量,并通過數(shù)據(jù)應(yīng)答幀確認(rèn)數(shù)據(jù)被接收,如5秒內(nèi)未收到該數(shù)據(jù)確認(rèn)幀,重新發(fā)送丟失數(shù)據(jù)幀。

在所有緩變數(shù)據(jù)發(fā)送完成后,進(jìn)行瞬變數(shù)據(jù)發(fā)送,采用每1秒發(fā)送一方式次,無需應(yīng)答機(jī)幀,也無需考慮參數(shù)變化,全部發(fā)送整幀。

2.2 數(shù)據(jù)幀結(jié)構(gòu)

任何通信系統(tǒng)均有一定的通信協(xié)議支持來完成特定通信任務(wù)[3],本文設(shè)計了一種簡化信息交換協(xié)議(SIEP),幀結(jié)構(gòu)分為控制域和數(shù)據(jù)域,能夠?qū)崿F(xiàn)多變數(shù)據(jù)的便捷組幀,其幀格式如圖3所示。

圖3 數(shù)據(jù)幀格式

其中,設(shè)備編碼表征圖1中子系統(tǒng),每個子系統(tǒng)具有唯一編碼值;變量編碼表征變量信息類型,每個變量具有唯一編碼值。

2.3 模式關(guān)聯(lián)

通過設(shè)計表征模式信息的XML文件,利用菜單內(nèi)容按照關(guān)鍵字查找方式生成所需調(diào)用表征設(shè)備參數(shù)信息的XML文件字典,從而實現(xiàn)模式與菜單項的關(guān)聯(lián),使得程序在自動界面與數(shù)據(jù)組幀設(shè)計上變得非常簡便。

1)表征模式信息的XML文件:表征模式信息的XML文件,簡稱模XML,在文件中設(shè)計兩個包含邏輯關(guān)系的元素,分別為設(shè)備加電信息和設(shè)備模式信息,這兩個元素又包含以每個設(shè)備相關(guān)信息為屬性的多個子元素,如圖4所示。

圖4 模XML內(nèi)容

2)表征設(shè)備參數(shù)信息的XML文件:表征設(shè)備參數(shù)信息的XML文件,簡稱數(shù)XML,這類文件分為快變和慢變文件,均包含以每個設(shè)備相關(guān)參數(shù)為屬性的元素,對于多字節(jié)數(shù)據(jù)表示為元素,對于少字節(jié)數(shù)據(jù)通過組合為元素(少字節(jié)數(shù)據(jù)為其中的子元素),如圖5所示。

圖5 數(shù)XML內(nèi)容

3)模式與菜單項關(guān)聯(lián):通過加電信息來決定菜單相關(guān)項的使能,通過模式信息來對菜單項相關(guān)文本內(nèi)容進(jìn)行修改,修改后的文本就包含了模式關(guān)鍵字,進(jìn)而生成需要形成數(shù)據(jù)幀的XML文件字典,包括快變和兩種字典,字典中的主鍵為菜單項的文本內(nèi)容,值為XML目錄,也就是通過菜單這個“橋梁”實現(xiàn)了模式與數(shù)據(jù)的關(guān)聯(lián)。

2.4 界面自動化生成

通過多種自定義控件的設(shè)計,并以FlowLayoutPanel控件為容器[4],實現(xiàn)界面元素的結(jié)構(gòu)化自動生成,使用該界面自動生成方法,極大地提高工作效率,其流程如圖6所示。

圖6 自動生成界面流程圖

自定義控件包括文本框、選擇框、指示燈和空顯示控件[5],這些控制直接用于與用戶進(jìn)行數(shù)據(jù)交互,其中文本框控件由文本框和2個標(biāo)簽控件組成,選擇框控件由選擇框和2個標(biāo)簽控件組成,指示燈由按鈕和標(biāo)簽控件組成,空顯示控件無需添加控件。其中,空顯示控件用于對有子元素和無子元素數(shù)據(jù)進(jìn)行隔離,增加數(shù)據(jù)的可讀性,實現(xiàn)界面布局與數(shù)XML文件的結(jié)構(gòu)化。

2.5 界面控件與數(shù)XML并讀

程序要求在改變參數(shù)值時,需要將改變參數(shù)的值組幀發(fā)出,這里使用了一種控件與XML文件并讀方式,它是基于控件值來源于XML文件,在控件值變化時,XML文件內(nèi)容并未改變,正是基于這一特性實現(xiàn)了變化數(shù)據(jù)的判斷與組幀,其流程如圖7所示。

圖7 并讀方式流程圖

3 軟件閉環(huán)測試

本設(shè)計采用了多種先進(jìn)技術(shù),達(dá)到了軟件模擬器 “時間短、費用低、實效好”的設(shè)計原則,運行界面如圖8所示。

圖8 模擬器運行圖

通過與實際工程軟件閉環(huán)測試,發(fā)現(xiàn)顯示軟件的數(shù)據(jù)處理問題一個:部分參數(shù)變化時的數(shù)據(jù)長度比整幀數(shù)據(jù)長度長時,程序未能處理,是由于整幀數(shù)據(jù)為一個BID號,而多個數(shù)據(jù)同時變化時需要在每個變化的數(shù)據(jù)前均加上BID號,可能會導(dǎo)致變化數(shù)據(jù)的幀長超過整幀數(shù)據(jù)長,顯示程序數(shù)據(jù)處理時未考慮此類情況,對顯示程序的判斷邏輯修改后正常;發(fā)現(xiàn)轉(zhuǎn)換軟件多線程處理問題1個:多系統(tǒng)在線時,由于數(shù)據(jù)量非常大,數(shù)據(jù)為“多進(jìn)一出”方式,多線程處理出現(xiàn)競爭,導(dǎo)致個別數(shù)據(jù)包未能及時處理,通過增加緩存和判讀線程數(shù)據(jù)發(fā)送完畢標(biāo)識解決了此問題。在軟件修改完善后,實戰(zhàn)軟件對于軟件模擬器生成的多變數(shù)據(jù)幀結(jié)構(gòu)均能及時處理,達(dá)到良好運行效果。

4 結(jié)論

本文僅僅圍繞復(fù)雜模式軟件模擬器設(shè)計難點,提出一種復(fù)雜模式大數(shù)據(jù)軟件模擬器的設(shè)計方法,對于多模式的邏輯關(guān)系通過關(guān)聯(lián)設(shè)計簡單實現(xiàn),對于大數(shù)據(jù)通過分別編制XML文件并依賴多模式邏輯關(guān)系實現(xiàn)調(diào)用,對于界面生成通過軟件界面自動生成技術(shù)便利實現(xiàn),大大提高了工作效率,降低了工作強(qiáng)度。通過該軟件模擬器與實際工程軟件的閉環(huán)測試,發(fā)現(xiàn)實戰(zhàn)軟件設(shè)計缺欠2個;同時,該軟件模擬器的設(shè)計思路也適用于其它大數(shù)據(jù)量組幀軟件工程,具有很好的推廣應(yīng)用價值。

[1] 王震江.XML程序設(shè)計[M].北京:中國鐵道出版社,2006.

[2] 郝兆平.XML應(yīng)用及發(fā)展趨勢的探討[J].計算機(jī)工程應(yīng)用技術(shù),2009(9):23-29.

[3] 王 恒,李水剛,陳 亮,等.測量船船搖前饋數(shù)據(jù)處理方法研究及應(yīng)用[J].飛行器測控學(xué)報,2011(2):64-69.

[4] 尹 成,陳荔城.Visual C#2010開發(fā)權(quán)威指南[M].北京: 清華大學(xué)出版社, 2012.

[5] 馮廷暉.XML完全手冊[M].北京:中國電力出版社,2000.

Design of a Complex Network Data Transfer Software Simulator

Pan Gaofeng, Xie Yong, Liang Sheng

(Satellite Maritime Tracking and Control Department of China, Jiangyin 214431, China)

A software simulator is designed to resolve a kind of remote monitoring system’s design problem of complex system, large amount of data, changeful data structure, etc. This simulator constitutes a closed-loop debugging system with the internet applications, its performance is checked well. The simulator simulates the monitoring object based on XML technology, and integrates formating the data frame, generating the software interface automatically, designing user controls, and the other advanced technology, it realizes to set and sent the complex mode data frame automatically. The internet applications problem is found using the simulator, the design idea has the very good application value.

simulator; frame structure; XML;interface automatic generation; user controls

2016-09-04;

2016-09-27。

潘高峰(1972-),男,遼寧省錦州市人,大學(xué),高級工程師,主要從事儀器控制方向的研究。

謝 勇(1972-),男,江西省九江市人,碩士,高級工程師,主要從事軟件無線電方向的研究。

1671-4598(2017)02-0107-03

10.16526/j.cnki.11-4762/tp.2017.02.029

TP311.1

A

猜你喜歡
模擬器控件子系統(tǒng)
不對中轉(zhuǎn)子系統(tǒng)耦合動力學(xué)特性研究
了不起的安檢模擬器
盲盒模擬器
劃船模擬器
GSM-R基站子系統(tǒng)同步方案研究
駝峰測長設(shè)備在線監(jiān)測子系統(tǒng)的設(shè)計與應(yīng)用
關(guān)于.net控件數(shù)組的探討
軟件(2018年7期)2018-08-13 09:44:42
動態(tài)飛行模擬器及其發(fā)展概述
車載ATP子系統(tǒng)緊急制動限制速度計算
就這樣玩會VBA中常見的自定義控件
電腦迷(2012年24期)2012-04-29 00:44:03
芦山县| 泰州市| 子长县| 景泰县| 永善县| 长沙市| 农安县| 美姑县| 鄂尔多斯市| 张北县| 平远县| 手游| 临汾市| 阳信县| 阿坝县| 蒙自县| 汾阳市| 临朐县| 永丰县| 舞阳县| 金乡县| 屏南县| 五大连池市| 淮北市| 安国市| 荔浦县| 太仓市| 历史| 深圳市| 彰武县| 吉林市| 施甸县| 嘉兴市| 营山县| 东乡| 苍梧县| 固安县| 泰兴市| 宝清县| 南皮县| 玛多县|