《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 一種基于組件的風(fēng)洞通用測控平臺設(shè)計
一種基于組件的風(fēng)洞通用測控平臺設(shè)計
2016年電子技術(shù)應(yīng)用第9期
羅昌俊,馬永一
中國空氣動力研究與發(fā)展中心,四川 綿陽621000
摘要: 為了提高風(fēng)洞測控系統(tǒng)及其軟件的可擴展性和重用性,縮短軟件開發(fā)周期,從風(fēng)洞測控系統(tǒng)的特性與需求出發(fā),綜述了風(fēng)洞測控軟件通用化的現(xiàn)狀,并基于面向?qū)ο笏枷牒拖到y(tǒng)架構(gòu)設(shè)計理念,提出了組件化風(fēng)洞測控軟件平臺的層次結(jié)構(gòu),分析了用戶定制層和功能實現(xiàn)層的組件劃分、組件通信模式/接口和組件封裝,討論了基于組件的風(fēng)洞測控平臺原型系統(tǒng)設(shè)計,為風(fēng)洞測控系統(tǒng)軟件的進一步通用化提供了一種思路和方法。
關(guān)鍵詞: 風(fēng)洞 測控平臺 組件 XML
中圖分類號: TP29
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.09.018
中文引用格式: 羅昌俊,馬永一. 一種基于組件的風(fēng)洞通用測控平臺設(shè)計[J].電子技術(shù)應(yīng)用,2016,42(9):69-71,75.
英文引用格式: Luo Changjun,Ma Yongyi. A design of component-based measurement and control platform for wind tunnel[J].Application of Electronic Technique,2016,42(9):69-71,75.
A design of component-based measurement and control platform for wind tunnel
Luo Changjun,Ma Yongyi
China Aerodynamics Research and Development Center,Mianyang 621000,China
Abstract: In order to improve the scalability and reusability of the wind tunnel measurement and control system, and shorten the developing cycle of the software, this paper summarized the universal of the platform for measurement and control system. Based on the object-oriented theory and system architecture design, this paper proposed the hierarchy of the component-based software platform for wind tunnel measurement and control system, analyzed the components division, component communication mode/interfaces and components package of the custom layer structure and function implementation layer, and discussed the control software platform′s prototype system basing on components. All of the above provided a new idea which could further the universal of the measurement and control system.
Key words : wind tunnel;measurement and control platform;component;XML

0 引言

  風(fēng)洞試驗利用測控技術(shù)控制相應(yīng)設(shè)備產(chǎn)生可控氣流模擬飛行器繞流,并依靠測控技術(shù)獲取飛行器所受到的氣動力/熱/載荷等多種氣動特性數(shù)據(jù),因而風(fēng)洞測控技術(shù)是開展空氣動力學(xué)試驗的核心技術(shù)之一。風(fēng)洞測控技術(shù)的發(fā)展對提升空氣動力試驗與研究能力、水平及質(zhì)量效率有著決定性影響。

  傳統(tǒng)的結(jié)構(gòu)化風(fēng)洞測控軟件存在可擴展性與重用性較差、不易維護、開發(fā)周期長、成本高等缺點,造成風(fēng)洞測控軟件平臺通用化程度不高,各風(fēng)洞之間測控軟件差異較大,操作界面、數(shù)據(jù)格式及通信接口等各不相同,崗位培訓(xùn)工作量大,跨風(fēng)洞人員交流困難,試驗數(shù)據(jù)重復(fù)利用率差,風(fēng)洞群的協(xié)同驗證作用難以充分發(fā)揮。因此,使用結(jié)構(gòu)化設(shè)計方法設(shè)計開發(fā)的測控軟件設(shè)計已難以滿足當(dāng)前試驗需求不斷發(fā)展、試驗技術(shù)日趨復(fù)雜、試驗設(shè)備升級改造和軟件平臺規(guī)范標準的要求。

1 風(fēng)洞測控軟件平臺通用化現(xiàn)狀

  為了進一步提高風(fēng)洞試驗效率和數(shù)據(jù)質(zhì)量,世界一流的氣動機構(gòu)在風(fēng)洞測控軟件平臺通用化方面開展了大量工作,其典型代表就是DNW開發(fā)的GAIUS(Generic Automated Integrated Universal System)系統(tǒng)。

  DNW風(fēng)洞聯(lián)合體管理運營著德國和荷蘭的12座亞、跨、超、高超聲速風(fēng)洞。這些風(fēng)洞建設(shè)于不同時期,并且在未來幾年內(nèi),這些風(fēng)洞的測控系統(tǒng)都將達到設(shè)計使用壽命。為此,DNW為這些風(fēng)洞統(tǒng)一研發(fā)部署了GAIUS系統(tǒng)[1]。系統(tǒng)模塊設(shè)計如圖1所示。

圖像 001.png

  系統(tǒng)包括GAIUS總線、基于用戶腳本的中控系統(tǒng)、用戶界面接口、現(xiàn)場設(shè)備控制(含風(fēng)洞設(shè)備控制及模型姿態(tài)控制)、數(shù)據(jù)采集、數(shù)據(jù)處理等功能模塊。系統(tǒng)具有如下特點:

  (1)封裝性。系統(tǒng)將風(fēng)洞測控系統(tǒng)底層及核心功能封裝為基類,模塊由基類派生,解決單一通用問題,并根據(jù)功能劃分進一步封裝為軟件組件,隱藏具體實現(xiàn)細節(jié),提供接口供風(fēng)洞測控崗位人員及試驗負責(zé)人靈活調(diào)用,這就使得試驗任務(wù)承擔(dān)人員等非專業(yè)軟件開發(fā)人員能方便快捷地在通用基礎(chǔ)平臺上構(gòu)建滿足不同應(yīng)用需求的測控程序。

  (2)獨立性。組件獨立于編程語言,采用不同的語言編寫的組件能在一起協(xié)同工作,并通過標準接口連接到GAIUS總線,組件與組件采用實時發(fā)布-訂閱中間件RTPS實現(xiàn)通信,滿足不同技術(shù)背景的專業(yè)人員對測控軟件的開發(fā)需求。

  (3)靈活性??梢詫M件單獨進行升級,改進完善原有的功能;對于設(shè)備升級造成的底層軟硬件的修改,也只要保證提供的基類和組件對外界的接口不變,就不會影響原有應(yīng)用系統(tǒng)的運行,具有良好的兼容性和靈活性。

  基于組件的軟件開發(fā)技術(shù)從根本上改變了軟件的生產(chǎn)方式,與傳統(tǒng)開發(fā)方法相比具有明顯優(yōu)勢:首先,提高了軟件重用率,通過標準的接口將現(xiàn)有代碼進行包裝,制作成可重用的組件,保護并繼承了現(xiàn)有技術(shù)成果;其次,使開發(fā)的系統(tǒng)更加靈活,模塊化程度高,模塊耦合度低,更加便于維護和升級;最后,降低了對系統(tǒng)開發(fā)者的要求,更加易于學(xué)習(xí)和使用。

  GAIUS系統(tǒng)減少了DNW在眾多風(fēng)洞上的重復(fù)投資,不同設(shè)備之間的操作人員交流變得更簡單,設(shè)備的升級改造變得更容易,試驗效率得以提高。據(jù)報告稱,GAIUS系統(tǒng)的應(yīng)用使DNW所屬風(fēng)洞試驗效率提高約30%。

  DNW風(fēng)洞群GAIUS系統(tǒng)的研發(fā)理念對我國未來的風(fēng)洞群建設(shè)具有重要參考價值。

2 基于組件的風(fēng)洞測控軟件平臺設(shè)計

  合理有效的軟件體系架構(gòu)設(shè)計有助于分析和描述系統(tǒng)的不同層次結(jié)構(gòu),簡化軟件系統(tǒng)的開發(fā),既便于軟件重用,又便于系統(tǒng)的擴展升級。

  2.1 總體思路

  本文提出的組件化測控軟件基于面向?qū)ο笏枷氩⒔Y(jié)合了組件開發(fā)的方法,將測控系統(tǒng)分解為一個軟件框架和若干實現(xiàn)基本獨立功能的模塊,并將這些完成不同功能的模塊都封裝成組件的形式,根據(jù)實際的測試任務(wù)需求,在軟件框架上選取所需的組件并加以裝配,從而形成一個滿足特定需求的測控系統(tǒng)。

  2.2 層次結(jié)構(gòu)

  風(fēng)洞測控軟件平臺主要有兩個任務(wù):一是為用戶提供一個建立和操作測控系統(tǒng)的集成開發(fā)環(huán)境;二是接收用戶提出的測控需求,完成系統(tǒng)的組裝及風(fēng)洞試驗測控任務(wù)。因此,根據(jù)這兩個任務(wù),可以將整個測控軟件劃分為用戶定制層和功能實現(xiàn)層兩部分[2]。整體結(jié)構(gòu)如圖2所示。

圖像 002.png

  2.3 組件劃分

  一個組件通常包含一個或多個邏輯上相關(guān)的類,合理地劃分組件,有利于組件的復(fù)用和實現(xiàn),以及系統(tǒng)的配置管理。組件粒度越大,其功能就越完善,獨立解決某一類問題的能力就越強,但實現(xiàn)和理解組件就相對困難,重用難度加大;粒度越小,組件越易于復(fù)用,但管理組件等代價將增大,甚至大于復(fù)用帶來的好處。劃分組件時應(yīng)從功能模塊的完整性、高內(nèi)聚和低耦合性等方面出發(fā)。本文根據(jù)風(fēng)洞測控系統(tǒng)特性,依據(jù)重用原則、閉包原則、消息傳送原則、分布式服務(wù)分割原則,對風(fēng)洞測控系統(tǒng)的組件進行如下劃分:

  (1)用戶定制層為風(fēng)洞測控軟件的上層,主要功能是用戶根據(jù)其需求通過用戶定制界面設(shè)置測控系統(tǒng)運行需要的各種數(shù)據(jù)信息,包括選擇功能組件、確定輸入?yún)?shù)等。當(dāng)用戶對系統(tǒng)定制完畢后,就會生成基于XML的定制信息表。然后,應(yīng)用程序控制中心將定制信息表傳遞至功能實現(xiàn)層。當(dāng)用戶制定不同的功能時,通過在用戶定制層給出的信息調(diào)用相應(yīng)的功能實現(xiàn)層控件,實現(xiàn)整個軟件系統(tǒng)的運行,還可針對不同的需求進行擴展。

  (2)功能實現(xiàn)層為風(fēng)洞測控軟件的底層,負責(zé)接收并解析上層傳遞下來的XML定制信息表,實現(xiàn)底層數(shù)據(jù)間的傳輸以及發(fā)送控制命令,最后生成用戶定制的系統(tǒng)運行界面。按照組件技術(shù)設(shè)計的觀點,根據(jù)需要對系統(tǒng)要實現(xiàn)的功能進行分類和歸納,將功能實現(xiàn)層軟件的主要操作封裝在相應(yīng)的類中,形成不同的功能組件庫。應(yīng)用程序控制中心根據(jù)裝配信息,將用戶選取的組件從庫中調(diào)用出來并進行組合,從而構(gòu)建出一個定制的測控軟件系統(tǒng)。

  2.4 組件接口與通信

  組件劃分后需要進行接口設(shè)計,它是組件設(shè)計的重要部分。一個組件接口是一組邏輯上相互關(guān)聯(lián)的操作,這些操作定義了某類公共行為。接口是一組操作的規(guī)范,而非任何特定的實現(xiàn)。接口和具體實現(xiàn)的分離,使其具有較高的抽象性,提高了系統(tǒng)的復(fù)用能力,有利于系統(tǒng)的維護和擴充。接口設(shè)計要兼顧簡單和實用性。組件的內(nèi)部細節(jié)不應(yīng)反映到接口中。接口與內(nèi)部實現(xiàn)細節(jié)的隔離程度越高,組件發(fā)生變化對接口的影響就越小。

  軟件組件之間的數(shù)據(jù)交互采用典型的生產(chǎn)者-消費者設(shè)計模式進行設(shè)計,其中數(shù)據(jù)流的上游作為數(shù)據(jù)生產(chǎn)者,數(shù)據(jù)流的下游作為數(shù)據(jù)消費者。為了使組件設(shè)計更為簡單,而把數(shù)據(jù)隊列的管理放到數(shù)據(jù)消費者組件中進行,對外只保留添加數(shù)據(jù)的接口,如圖3所示。

圖像 003.png

  2.5 組件封裝

  通過對風(fēng)洞測控軟件功能模塊進行組件封裝,以服務(wù)的方式提供給任何需要該項功能的使用者,而使用者并不需要掌握實現(xiàn)某項測試功能的代碼,只需知道其接口標準即可。

  封裝技術(shù)主要包括DLL(Dynamic link library)封裝和COM(Component Object Model)封裝。

  DLL在Windows系統(tǒng)中占有非常重要的地位,是功能模塊封裝技術(shù)中最常用的實現(xiàn)技術(shù)之一。DLL是一種二進制代碼,一經(jīng)調(diào)試成功,任何開發(fā)語言只需遵循調(diào)用的函數(shù)說明即可調(diào)用它,如用VC++開發(fā)的DLL可被VB、JAVA等語言調(diào)用。

  COM包含了DLL,按照COM規(guī)范實現(xiàn)的DLL可以被視為COM組件,它既可以被存在于同一臺計算機上的應(yīng)用程序調(diào)用,還可以被遠程網(wǎng)絡(luò)上的其他應(yīng)用程序調(diào)用,目前應(yīng)用得比較普遍的是ActiveX控件。

3 基于組件的風(fēng)洞測控軟件平臺原型系統(tǒng)設(shè)計

  將測控軟件分解為若干個實現(xiàn)獨立功能的組件,根據(jù)實際的風(fēng)洞試驗任務(wù)需求,選擇所需的功能組件并將其組裝起來,從而形成一個滿足特定需求的測控系統(tǒng)。用戶可根據(jù)其需求通過用戶界面設(shè)置測控系統(tǒng)運行需要的各種數(shù)據(jù)信息,包括選擇功能組件、確定輸入?yún)?shù),所有輸入信息通過用戶界面向控制中心傳遞,控制中心生成XML信息表,向功能實現(xiàn)層傳遞定制信息,將用戶選取的組件從庫中調(diào)用出來并進行組合,從而構(gòu)建出一個定制的測控軟件系統(tǒng)。

  根據(jù)設(shè)計思路,試驗中根據(jù)試驗內(nèi)容自動組織試驗組件(各個控制系統(tǒng))和試驗流程,使系統(tǒng)實現(xiàn)全自動集成,當(dāng)風(fēng)洞需要在定總壓定迎角定M數(shù)運轉(zhuǎn)方式、定總壓定迎角步進變M數(shù)運轉(zhuǎn)方式、定總壓定M數(shù)步進變迎角運轉(zhuǎn)方式、定總壓定M數(shù)連續(xù)變迎角運轉(zhuǎn)方式、定M數(shù)定迎角變總壓運轉(zhuǎn)方式等運行方式中切換時,風(fēng)洞測控程序的準備過程變得更簡單容易,只要對相應(yīng)的參數(shù)進行配置即可完成。統(tǒng)一的風(fēng)洞運行參數(shù)界面如圖4所示。

圖像 004.png

  比如,采用定總壓定迎角步進變M數(shù)運轉(zhuǎn)方式開車,M=0.3、0.4、0.5、0.6、0.7、0.72、0.75、0.8。操作人員只需調(diào)用統(tǒng)一的開車參數(shù)配置程序,分別對總壓、迎角和M數(shù)進行配置,而不需修改專業(yè)性更強的源代碼,即可生成所需的完整的開車程序(圖5、圖6)。程序準備時間大大縮短,從而提高了試驗準備效率。

圖像 005.png

圖像 006.png

4 結(jié)論

  風(fēng)洞測控軟件采用面向?qū)ο笤O(shè)計思想和組件設(shè)計技術(shù),將提高測控軟件的開發(fā)速度和效率,提高程序復(fù)用率,縮短開發(fā)周期,降低開發(fā)成本,并打破傳統(tǒng)測控系統(tǒng)的結(jié)構(gòu)固定、功能單一等限制。這種設(shè)計思想使測控軟件平臺更容易維護和擴充,從而滿足對于測控軟件通用性、可移植性和可擴展性的要求,使現(xiàn)有設(shè)備和設(shè)施能夠更好地滿足更多更復(fù)雜的風(fēng)洞試驗的需求。

  參考文獻

  [1] Detlef Krack.The generic automated integrated universal system(GAIUS) for wind tunnels,German-Dutch wind tunnels DNW[C].Seattle:AIAA Aerospace Conference,2009. 

  [2] 趙海源,王麗芳,蔣澤軍.基于組件化思想的測控軟件開發(fā)平臺設(shè)計與實現(xiàn)[J].電子設(shè)計工程,2013(21):82-83.

  


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。