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

基于SharpDevelop構(gòu)建T/R組件測試系統(tǒng)軟件架構(gòu)

2015-05-17 06:51:08楊為祿樓紅英
現(xiàn)代雷達(dá) 2015年11期
關(guān)鍵詞:功能模塊系統(tǒng)

楊為祿,樓紅英

(1.南京國睿安泰信科技股份有限公司,南京 210013;2.南京電子技術(shù)研究所,南京 210039)

0 引言

T/R組件自動(dòng)測試系統(tǒng)的測試軟件是整個(gè)系統(tǒng)控制的靈魂[1],良好的軟件架構(gòu)既能減少開發(fā)人員的工作量,使軟件做到高內(nèi)聚、低耦合,又能夠在后期維護(hù)中取得優(yōu)勢。T/R組件自動(dòng)測試系統(tǒng)軟件架構(gòu)需求主要體現(xiàn)在以下三個(gè)方面:

1)架構(gòu)的通用、可擴(kuò)展、可維護(hù)

T/R組件自動(dòng)測試系統(tǒng)軟件的通用是指軟件在硬件條件滿足的情況下,無需修改或經(jīng)過較少的修改就能夠用于多個(gè)型號、多種產(chǎn)品的T/R組件測試。可擴(kuò)展性是指軟件在現(xiàn)有功能的基礎(chǔ)上能夠進(jìn)行功能的擴(kuò)展,以適應(yīng)需求的變化。可維護(hù)是指軟件易于維護(hù),功能模塊必須做到高內(nèi)聚、低耦合,也就是說軟件中某個(gè)功能模塊的損壞或更改不應(yīng)影響其他功能模塊的運(yùn)行,整個(gè)軟件還能正常工作。

2)測試儀器設(shè)備驅(qū)動(dòng)程序的可互換

儀器設(shè)備中的驅(qū)動(dòng)程序是測試系統(tǒng)中最重要的組成部分之一,用來實(shí)現(xiàn)儀器硬件的通信和控制功能[2],為降低開發(fā)成本,縮短開發(fā)周期,要求測試系統(tǒng)中的儀器硬件設(shè)備能夠不受生產(chǎn)廠家、型號的限制,通過系統(tǒng)軟件對配置的設(shè)備驅(qū)動(dòng)程序自適應(yīng)、自匹配實(shí)現(xiàn)硬件的無縫替換與升級。

3)測試程序的可移植性、可復(fù)用

已編制的測試程序能夠移植應(yīng)用到其他測試平臺中進(jìn)行T/R組件的測試,實(shí)現(xiàn)測試程序的重復(fù)利用。

1 插件及插件系統(tǒng)的優(yōu)點(diǎn)

傳統(tǒng)的系統(tǒng),在編譯發(fā)布完成之后,系統(tǒng)就不允許或者很難進(jìn)行更改擴(kuò)充,如果要進(jìn)行某個(gè)功能的擴(kuò)充,則必須要修改代碼重新編譯發(fā)布。這種傳統(tǒng)的軟件設(shè)計(jì)架構(gòu)給軟件的開發(fā)、測試、維護(hù)等帶來極大困難,往往軟件設(shè)計(jì)階段的耦合性控制不好就會(huì)在設(shè)計(jì)期和維護(hù)期遇到巨大的麻煩。通過引入插件技術(shù)能很好地解決該問題。

所謂的插件就是系統(tǒng)的擴(kuò)展功能模塊,這個(gè)模塊是以一個(gè)獨(dú)立文件的形式出現(xiàn)的,與系統(tǒng)是相對獨(dú)立的。在系統(tǒng)設(shè)計(jì)期間并不知道插件的具體功能,僅僅是在系統(tǒng)中為插件留下預(yù)定的接口,系統(tǒng)啟動(dòng)的時(shí)候根據(jù)插件的配置尋找插件,根據(jù)預(yù)定的接口把插件掛接到系統(tǒng)中,基于插件系統(tǒng)構(gòu)建軟件框架,具有以下優(yōu)點(diǎn):(1)實(shí)現(xiàn)真正意義上的軟件組件的“即插即用”;(2)在二進(jìn)制級上集成軟件,減少大量的軟件重新編譯、發(fā)布麻煩與時(shí)間;(3)能夠很好地實(shí)現(xiàn)軟件模塊的分工開發(fā),能夠大量吸取他人的優(yōu)勢;(4)可較好地實(shí)現(xiàn)代碼隱藏,保護(hù)知識產(chǎn)權(quán)。

2 SharpDevelop的原理及組成

SharpDevelop是一個(gè)使用C#開發(fā)而成的,并為用于開發(fā)C#或者VB.NET項(xiàng)目軟件而設(shè)計(jì)的編輯器軟件,是完全開源的IDE開發(fā)工具。它基于插件技術(shù)來實(shí)現(xiàn)整個(gè)系統(tǒng),完全通過XML配置文件進(jìn)行插接配置,是一個(gè)穩(wěn)定、可靠的插件系統(tǒng)。要基于SharpDevelop開發(fā)應(yīng)用程序架構(gòu)必須先清楚其基本組成及基本概念[3]:

1)插件(AddIn)

在SharpDevelop的概念中,插件是包含多個(gè)功能模塊的集合,而不是一個(gè)功能模塊。在文件的表現(xiàn)形式上,它是一個(gè)addin配置文件,在系統(tǒng)中對應(yīng)AddIn類。

2)插件樹(AddInTree)

SharpDevelop中的插件被組織成樹狀結(jié)構(gòu),成為插件樹。樹的結(jié)構(gòu)是通過擴(kuò)展點(diǎn)(Extension)中定義的路徑(Path)來關(guān)聯(lián)的,類似一個(gè)文件系統(tǒng)的目錄結(jié)構(gòu)。系統(tǒng)中的每一個(gè)插件都在配置文件中指定了 Extension,通過Extension中指定的 Path掛到這棵插件樹上。在系統(tǒng)中可以通過 AddTreeSingleton對象來訪問各個(gè)插件,以實(shí)現(xiàn)插件之間的互動(dòng)。

3)擴(kuò)展點(diǎn)(Extension)

SharpDevelop中的每一個(gè)插件都會(huì)被掛到AddIn-Tree中,而具體掛接到這個(gè)插件樹的哪個(gè)位置,則是由插件的Extension對象中的Path指定的。在addin配置文件中,對應(yīng)于<Extension>。例如下面這個(gè)功能模塊的配置:

<Extension path = "/SharpDevelop/Workbench/Ambiences">

<Class id= ".NET"class= "ICSharpCode.Sharp-Develop.Services.NetAmbience"/>

</Extension>

指定了擴(kuò)展點(diǎn)路徑為 /SharpDevelop/Workbench/Ambiences,也就是在插件樹中的位置。

4)Codon

Codon的功能是描述(包裝)一個(gè)功能模塊(一個(gè)功能模塊對應(yīng)一個(gè)實(shí)現(xiàn)了具體功能的命令類)。為了方便訪問各個(gè)插件中的功能模塊,Codon給各種功能定義了基本的屬性,分別是功能模塊的標(biāo)識(ID)、功能模塊的類型(Name)。這個(gè)Name是addin文件定義中Codon的XML結(jié)點(diǎn)的名稱,ID才是真正的名稱,其中,Name可能是類(Class)、菜單項(xiàng)(MenuItem)、面板(Pad)等等。還是以上述定義為例:

<Extension path = "/SharpDevelop/Workbench/Ambiences"><Class id= ".NET"class= "ICSharp-Code.SharpDevelop.Services.NetAmbience"/>

</Extension>

<Extension ...> 內(nèi)部定義了一個(gè) Codon,<Class...>表示該Codon是一個(gè)Class,接著定義了該Codon的 ID和具體實(shí)現(xiàn)該Codon的類名,在該示例中,類名為 ICSharpCode.SharpDevelop.Services.NetAmbience。運(yùn)行期間將通過反射來找到對應(yīng)的類并創(chuàng)建其運(yùn)行對象。

5)命令(Command)

正如前文所述,Codon描述了一個(gè)功能模塊,而每個(gè)功能模塊都是一個(gè) ICommand的實(shí)現(xiàn)。最基本的Command是AbstractCommand,根據(jù)Codon的不同對應(yīng)了不同的 Command。例如 :MenuItemCodon對應(yīng)MenuItemCommand等等。

6)服務(wù)(Service)

插件系統(tǒng)中,有一些功能是整個(gè)系統(tǒng)都要使用的,例如:文件訪問、資源、消息等等。這些功能都作為插件系統(tǒng)的一個(gè)基本功能為整個(gè)系統(tǒng)提供服務(wù),我們稱其為“服務(wù)”。為了便于訪問,這些服務(wù)都統(tǒng)一通過ServiceManager來管理。

3 利用SharpDevelop構(gòu)建的T/R組件自動(dòng)測試系統(tǒng)軟件架構(gòu)

T/R組件是雷達(dá)的核心,各種參數(shù)的自動(dòng)化測試至關(guān)重要[4],T/R組件自動(dòng)測試系統(tǒng)軟件通過儀器接口總線發(fā)出各類儀器的操作命令,同時(shí)控制被測組件的狀態(tài)切換,并接收系統(tǒng)中所有儀器設(shè)備的測試數(shù)據(jù)信息,對其進(jìn)行分析處理,從而完成T/R組件參數(shù)的測試過程以及后期的數(shù)據(jù)分析和計(jì)算。

從功能上對系統(tǒng)軟件進(jìn)行劃分,主要包括:(1)系統(tǒng)管理,包括用戶管理、數(shù)據(jù)庫管理和日志管理等;(2)T/R組件測試管理,包括被測件管理、測試參數(shù)管理、測試程序管理、測試結(jié)果管理、儀器驅(qū)動(dòng)管理以及校準(zhǔn)參數(shù)管理。

經(jīng)過上述分析,利用SharpDevelop插件系統(tǒng)構(gòu)建T/R組件自動(dòng)測試系統(tǒng)軟件架構(gòu),其基本框圖見圖1。

圖1 T/R組件自動(dòng)測試系統(tǒng)軟件架構(gòu)框圖

框架主體包括以下三部分:

1)框架基礎(chǔ)模塊

(1)插件框架核心:該模塊作為整個(gè)框架的核心,后臺調(diào)度整個(gè)軟件在后臺運(yùn)行,提供各種服務(wù)。

(2)儀器驅(qū)動(dòng)接口模塊:該模塊抽象出系統(tǒng)中常用的儀器功能接口,作為后期二次開發(fā)或替換時(shí)的契約協(xié)議。T/R組件的自動(dòng)測試常用設(shè)備包括:矢量網(wǎng)絡(luò)分析儀、脈沖發(fā)生器、脈沖調(diào)制器、測試夾具臺等[5];

(3)被測組件管理模塊功能接口;

(4)測試參數(shù)管理功能接口;

(5)測試程序接口:T/R組件的主要參數(shù)包括:接收增益和隔離度、接收輸入輸出駐波、接收幅相一致性、接收相位精度、接收衰減器精度、噪聲系數(shù)、發(fā)射輸出功率、發(fā)射駐波、發(fā)射移相器精度、發(fā)射波形參數(shù)、發(fā)射功率調(diào)節(jié)范圍、發(fā)射電流、相位噪聲、頻譜分析等[6],按測試參數(shù)進(jìn)行抽象即可完成測試程序接口的定義。

(6)測試結(jié)果數(shù)據(jù)管理接口;

(7)校準(zhǔn)管理接口:可以根據(jù)測試校準(zhǔn)測試抽象出功率校準(zhǔn)、S21校準(zhǔn)、S12校準(zhǔn)、S11校準(zhǔn)、噪聲校準(zhǔn)等。

基礎(chǔ)功能模塊主要用于定義管理功能接口,實(shí)際應(yīng)用中可以根據(jù)需要擴(kuò)展不同的基礎(chǔ)功能接口定義。

2)框架主模塊

(1)啟動(dòng)軟件的框架:包括了軟件的圖片資源等;

(2)軟件的主窗體及相關(guān)應(yīng)用服務(wù);

3)插件模塊

插件模塊是對基礎(chǔ)模塊中所有已經(jīng)抽象定義的功能接口的具體實(shí)現(xiàn),其作為一個(gè)插件存在系統(tǒng)中,可以自由添加、替換,通過配置文件的配置管理,系統(tǒng)軟件在啟動(dòng)時(shí)動(dòng)態(tài)加載。在T/R組件自動(dòng)測試系統(tǒng)中,其擴(kuò)展性及通用性主要由插件模塊的不斷更新來體現(xiàn)。

例如:儀器驅(qū)動(dòng)插件庫中,可以存放管理同為信號源的不同廠家、型號的驅(qū)動(dòng)庫,以插件形式存在,在需要更換儀器時(shí),只要在配置文件中配置所使用儀器對應(yīng)的驅(qū)動(dòng)即可,無需更改代碼和編譯程序,從而在框架的頂層設(shè)計(jì)時(shí)就保證了系統(tǒng)軟件的通用和可擴(kuò)展。

4 基于SharpDevelop的T/R組件自動(dòng)測試系統(tǒng)軟件的設(shè)計(jì)方法

基于SharpDevelop構(gòu)建的T/R組件自動(dòng)測試系統(tǒng)軟件采用了基于“接口—插件”系統(tǒng)的原理,其開發(fā)過程實(shí)質(zhì)就是各個(gè)功能模塊插件的開發(fā),在該軟件架構(gòu)基礎(chǔ)上開發(fā)T/R組件自動(dòng)測試系統(tǒng)程序的流程如圖2、圖3所示。

T/R組件自動(dòng)測試系統(tǒng)中常用的矢量網(wǎng)絡(luò)分析儀的驅(qū)動(dòng)程序的開發(fā)過程如下:

在系統(tǒng)軟件的框架基礎(chǔ)模塊中已定義矢量網(wǎng)絡(luò)分析儀驅(qū)動(dòng)接口InetWorkAnalysis,則新開發(fā)驅(qū)動(dòng)的過程為:

1)以插件開發(fā)的方式,添加一個(gè)儀器驅(qū)動(dòng)的類庫。如:

public class NetworkAnalyzerZNB8:DeviceDriver-Base.InetworkAnalyzerDriver,在此類庫中完成矢網(wǎng)驅(qū)動(dòng)控制功能的實(shí)現(xiàn)后,將其編譯生成應(yīng)用程序可調(diào)用的驅(qū)動(dòng)文件,其格式為動(dòng)態(tài)鏈接庫,將其命名為“NetworkAnalyzerZNB8.dll”。

2)添加或修改系統(tǒng)軟件中的儀器驅(qū)動(dòng)描述配置文件,其示例代碼如下:

<Path name= "/Workspace/DeviceDriver/">

<DeviceDriver id= "NetworkAnalyzerZNB8"

label="RS ZNB8 DriverModule"version="1.0"type="10"description="create by gratten on 2014-04-27"

class= "NetworkAnalyzerZNB8.NetworkAnalyzerZNB8"/>

</Path>

在示例中,type表示的是儀器的ID號,分別代表不同類型的儀器,如電源“1”、信號源“2”、頻譜儀“3”等,以此類推。

3)系統(tǒng)軟件中調(diào)用矢量網(wǎng)絡(luò)分析儀的驅(qū)動(dòng)

T/R組件自動(dòng)測試系統(tǒng)軟件中驅(qū)動(dòng)的調(diào)用代碼如下:

InetworkAnalyzerDriver_handlerNA;

_handlerNA=DeviceDriverSession.Instance().Get-DriverInstance(InsIDService.Ins_NetowrkAnalyzer_ID.ToString())as InetworkAnalyzerDirver;

if(_handlerNA!=null)

{

_handlerNA.Initialize();

}

else

{

MessageService.ShowError(NetworkAnalyzerDriver Initialize Faild);

return;

}

在調(diào)用過程中,對儀器驅(qū)動(dòng)通過儀器ID主鍵來識別,這個(gè)ID主鍵來源于外配置文件。也就是說,軟件調(diào)用什么驅(qū)動(dòng)完全取決于外部配置內(nèi)容而不是內(nèi)部代碼,這樣就很好地保證了儀器替換的有效實(shí)現(xiàn)。同理,T/R組件測試軟件的其他諸如參數(shù)測試、系統(tǒng)校準(zhǔn)等功能模塊都可以通過同樣的機(jī)制實(shí)現(xiàn)。

基于SharpDevelop構(gòu)建的T/R組件自動(dòng)測試系統(tǒng)軟件在架構(gòu)上保證了通用、可擴(kuò)展、可維護(hù),同時(shí)也提供了T/R組件自動(dòng)測試系統(tǒng)中儀器設(shè)備替換、測試程序復(fù)用的實(shí)現(xiàn)機(jī)制。雷達(dá)T/R組件自動(dòng)測試程序應(yīng)用實(shí)例如圖4所示。

圖4 基于SharpDevelop開發(fā)的T/R組件自動(dòng)測試系統(tǒng)軟件

5 結(jié)束語

本文參考開源IDE軟件SharpDevelop的原理及組成,介紹了如何以SharpDevelop軟件框架為基礎(chǔ)來構(gòu)建軟件的架構(gòu),并以T/R組件自動(dòng)測試系統(tǒng)程序開發(fā)流程為例,說明在此架構(gòu)下構(gòu)建的自動(dòng)測試系統(tǒng)軟件程序具有更好的通用性及擴(kuò)展性。

[1]蔣曉紅,李為玉,石 慧.T/R組件自動(dòng)測試系統(tǒng)的研制[C]//2007航空試驗(yàn)測試技術(shù)學(xué)術(shù)交流會(huì).烏魯木齊:航空試驗(yàn)測試技術(shù)學(xué)術(shù)交流會(huì),2007:11-12.Jiang Xiaohong,Li Weiyu,Shi Hui.Development of T/R module automatic test system[C]//meet of 2007 Aviation test and testing technology academic exchange.Urumqi:Meet of Aviation Test and Testing Technology Academic Exchange,2007:11-12.

[2]方 鵬,趙秀才.自動(dòng)測試系統(tǒng)中儀器可互換技術(shù)及其應(yīng)用[J].儀器儀表學(xué)報(bào),2007,28(4):70-73.Fang Peng,Zhao Xiucai.Instruments exchangeability technique and its application in ATS[J].Chinese Journal of Scientific Instrument,2007,28(4):70-73.

[3]張 軍,李志秀,王 銳,等.基于SharpDevelop插件架構(gòu)的研究及應(yīng)用[J].云南大學(xué)學(xué)報(bào)(自然科學(xué)報(bào)),2011.Zhang Jun,Li Zhixiu,Wang Rui,et al.SharpDevelop plug-in architecture based on the research and apply[J].Journal of Yunnan University(Natural Sciences Edition),2011.

[4]裴 英.雷達(dá)數(shù)字T/R組件自動(dòng)測試系統(tǒng)設(shè)計(jì)[J].現(xiàn)代雷達(dá),2013(6):73-76.Pei Ying.Design of a digital T/R module automatic measuring system[J].Modern Radar,2013(6):73-76.

[5]李為玉.TR組件S參數(shù)自動(dòng)測試軟件的設(shè)計(jì)和應(yīng)用[J].現(xiàn)代電子技術(shù),2012,35(13):123-125.Li Weiyu.Design and application of automatic testing software for TR component S-parameter[J].Modern Electronics Technique,2012,35(13):123-125.

[6]盧 晨.T/R組件自動(dòng)測試技術(shù)研究[J].電子工程師,2003,29(9):35-42.Lu Chen.Study of T/R module auto-testing technology[J].Electronic Engineer,2003,29(9):35-42.

猜你喜歡
功能模塊系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
商業(yè)模式是新媒體的核心
中國廣播(2016年11期)2016-12-26 10:02:01
基于ASP.NET標(biāo)準(zhǔn)的采購管理系統(tǒng)研究
風(fēng)景區(qū)潮汐性人流與可移動(dòng)建筑設(shè)計(jì)研究
科技視界(2016年11期)2016-05-23 12:04:33
輸電線路附著物測算系統(tǒng)測算功能模塊的研究
主站蜘蛛池模板: 91在线视频福利| 欧美天天干| 欧美色综合网站| 中文一级毛片| 国产成人亚洲无码淙合青草| 又爽又大又黄a级毛片在线视频| 中文字幕伦视频| 免费国产黄线在线观看| 亚洲VA中文字幕| 一级毛片免费观看不卡视频| 国产精品嫩草影院av| 日日噜噜夜夜狠狠视频| 欧美在线伊人| 美女毛片在线| 国产精品 欧美激情 在线播放| 高清视频一区| 无码AV动漫| 日韩成人免费网站| 亚洲自拍另类| 久草视频中文| 91精品视频播放| 手机精品福利在线观看| 在线观看国产精品日本不卡网| 极品私人尤物在线精品首页| 国产成人综合网在线观看| 亚洲永久精品ww47国产| 中文字幕日韩丝袜一区| 婷婷色中文网| 在线免费a视频| 免费国产福利| 伊人精品视频免费在线| 欧美亚洲欧美| 9久久伊人精品综合| 日韩视频精品在线| 久久国产免费观看| 亚洲人成电影在线播放| 亚洲精品中文字幕午夜| 国产一国产一有一级毛片视频| 久久久噜噜噜久久中文字幕色伊伊 | 内射人妻无套中出无码| 亚欧成人无码AV在线播放| 国产福利微拍精品一区二区| 最新亚洲av女人的天堂| 91亚洲国产视频| 亚洲欧美精品在线| 97在线国产视频| 国产在线小视频| 久久国产V一级毛多内射| 欧美日韩中文国产va另类| 国产精品久线在线观看| 国产午夜在线观看视频| 亚洲高清免费在线观看| 国产极品美女在线| 中文国产成人精品久久| 国产91视频观看| 伊人色婷婷| 国产精品一区二区不卡的视频| 激情综合网激情综合| 国产福利免费在线观看| 国产色爱av资源综合区| a亚洲视频| 先锋资源久久| 99精品欧美一区| 国产午夜无码片在线观看网站| 蜜桃视频一区| 国产乱人伦精品一区二区| 伊人激情久久综合中文字幕| 免费精品一区二区h| 亚洲性色永久网址| 国产福利小视频高清在线观看| 欧美日韩国产一级| 91精品视频在线播放| 国产成人av一区二区三区| 欧美色亚洲| 另类欧美日韩| 午夜欧美在线| www.av男人.com| 欧美国产综合视频| 2021国产乱人伦在线播放| 免费全部高H视频无码无遮掩| 午夜福利无码一区二区| swag国产精品|