• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      大型火箭發(fā)動機(jī)地面試驗(yàn)系統(tǒng)測控軟件架構(gòu)設(shè)計(jì)

      2012-10-15 10:00:36許廣柱吳錦鳳
      火箭推進(jìn) 2012年2期
      關(guān)鍵詞:面向?qū)ο?/a>測控視圖

      許廣柱,吳錦鳳

      (西安航天動力試驗(yàn)技術(shù)研究所,陜西西安710100)

      0 引言

      大型火箭發(fā)動機(jī)地面試驗(yàn)測控系統(tǒng)設(shè)計(jì)分硬件和軟件兩部分。由于目前國內(nèi)外大部分工業(yè)測控硬件都已有系列化的成品設(shè)備儀表,所以在硬件設(shè)計(jì)過程中,絕大部分工作是這些設(shè)備儀表的線路連接和硬件分布式設(shè)計(jì),而大部分軟件設(shè)計(jì)都是根據(jù)不同類別火箭發(fā)動機(jī)試驗(yàn)系統(tǒng)特點(diǎn)有針對性地自主編寫。因此,地面試驗(yàn)測控系統(tǒng)軟件設(shè)計(jì)在整個試驗(yàn)系統(tǒng)中的重要性和比重越來越大,其難度也與試驗(yàn)系統(tǒng)規(guī)模密切相關(guān)。對大型火箭發(fā)動機(jī)地面試驗(yàn)系統(tǒng)而言,由于試驗(yàn)涉及參數(shù)種類繁多,其測控設(shè)備和子設(shè)備數(shù)量龐大,所以,軟件的結(jié)構(gòu)和開發(fā)模式對整個測控系統(tǒng)的使用效率、工作人員配備以及試驗(yàn)效果等有著決定性的影響。

      1 大型火箭發(fā)動機(jī)地面試驗(yàn)系統(tǒng)現(xiàn)狀

      大型火箭發(fā)動機(jī)地面試驗(yàn)系統(tǒng)一般包括:火箭發(fā)動機(jī)、推進(jìn)劑供應(yīng)系統(tǒng)、環(huán)境模擬系統(tǒng)和測控系統(tǒng)四部分。其中,發(fā)動機(jī)推進(jìn)劑供應(yīng)系統(tǒng)負(fù)責(zé)提供燃料和氧化劑;環(huán)境模擬系統(tǒng)模擬高空或者真空等環(huán)境以實(shí)現(xiàn)地面的模擬環(huán)境試驗(yàn);測控系統(tǒng)負(fù)責(zé)發(fā)動機(jī)試驗(yàn)過程的控制和參數(shù)測量。

      試驗(yàn)系統(tǒng)概括起來有如下幾個特性:

      測控系統(tǒng)測量參數(shù)種類眾多,一般包含壓力、溫度、流量和振動等參數(shù),幾乎涵蓋所有的工業(yè)測量參數(shù);

      參數(shù)物理量范圍大且同種參數(shù)的測量傳感器類型繁多。如壓力可以從1 Pa~60 MPa、溫度可從-260℃~3 000℃;一次試驗(yàn)中測控使用到的溫度傳感器類型可能有鉑電阻、熱敏電阻和各種熱電偶等多種。

      由于以上這些特性,導(dǎo)致了系統(tǒng)分類/分組測控困難及設(shè)備數(shù)量龐大等問題,相應(yīng)地也給測控軟件設(shè)計(jì)編寫帶來很多困難。到目前為止,國內(nèi)大型火箭發(fā)動機(jī)地面試驗(yàn)測控系統(tǒng)軟件基本上都是直接根據(jù)硬件分系統(tǒng)類型一對一的設(shè)計(jì)編寫,也就是說,有多少個測控分系統(tǒng)就有多少個應(yīng)用軟件,而且很多院、所在測控軟件設(shè)計(jì)上都采用一個分系統(tǒng)由一個設(shè)計(jì)人員從頭到尾設(shè)計(jì)編寫整個應(yīng)用軟件的方式,甚至每個設(shè)計(jì)人員之間沒有協(xié)作和溝通,編寫出來的應(yīng)用軟件風(fēng)格不同,通用性差。這種軟件開發(fā)模式很明顯不利于維護(hù)和操作人員培訓(xùn)交接等后續(xù)工作,更不利于軟件故障診斷和定位。圖1是大多數(shù)大型火箭發(fā)動機(jī)地面試驗(yàn)測控系統(tǒng)設(shè)計(jì)采用的架構(gòu)示意圖。

      對于火箭發(fā)動機(jī)試驗(yàn)測控系統(tǒng)來說,對象群是指被控制/測量的各種物理參數(shù)(如:閥門開關(guān)、壓力、溫度和流量等)分類/分組對象。其中軟件部分大多采用以下軟件開發(fā)模式(以下簡稱為常規(guī)開發(fā)模式):圖2是常規(guī)控制軟件功能框圖,圖3是常規(guī)測量軟件功能框圖。

      常規(guī)開發(fā)模式中,采用的是過程式程序設(shè)計(jì),所有程序流程都是按照操作過程設(shè)計(jì)編寫的。很顯然,其中有很多重復(fù)功能代碼,且由于很多實(shí)際設(shè)計(jì)中不同軟件人員設(shè)計(jì)編寫整個程序,無法統(tǒng)一規(guī)劃和管理,而在軟件規(guī)??刂粕希挥型ㄟ^減少控制/測量對象,群的數(shù)量才能減少,操作人員的數(shù)量相應(yīng)變化。從大型火箭發(fā)動機(jī)地面試驗(yàn)系統(tǒng)幾個特性可以看出,由于控制及測量的參數(shù)和對象數(shù)量龐大,參數(shù)種類繁多,難以按“群組”分組測控,影響測控歸一化管理,相應(yīng)地測控分系統(tǒng)數(shù)量n就會多(n≥3)。因此,在不減少測控分系統(tǒng)數(shù)量的前提下,這種程序設(shè)計(jì)范型效率低且控制難度大。

      2 面向過程和面向?qū)ο笤O(shè)計(jì)方法比較

      面向過程設(shè)計(jì)方法是一種自上而下的傳統(tǒng)設(shè)計(jì)方法,上面提到的常規(guī)開發(fā)模式就是面向過程的設(shè)計(jì)模式。其特征是以函數(shù)為中心,細(xì)化函數(shù)來劃分程序的基本單位,數(shù)據(jù)在面向過程設(shè)計(jì)中往往處于從屬的位置。這種模式的優(yōu)點(diǎn)是易于理解和掌握,逐步細(xì)化問題的設(shè)計(jì)方法和大多數(shù)人的思維方式比較接近。然而,面向過程設(shè)計(jì)對于比較復(fù)雜的問題,或是在開發(fā)需求變化比較多的時(shí)候,往往顯得力不從心。這是因?yàn)檫^程式設(shè)計(jì)是自上而下的,它要求設(shè)計(jì)者在一開始就要對需要解決的問題有一定程度的了解。在問題比較復(fù)雜時(shí),要做到這一點(diǎn)比較困難,而當(dāng)開發(fā)中需求變化的時(shí)候,以前對問題的理解也許會變得不再適用。事實(shí)上,開發(fā)一個系統(tǒng)的過程也是對一個系統(tǒng)不斷了解和學(xué)習(xí)的過程,而過程式設(shè)計(jì)方法忽略了這一點(diǎn)。另外,過程式設(shè)計(jì)還有個問題就是其設(shè)計(jì)的程序架構(gòu)的依賴關(guān)系問題。主函數(shù)依賴子函數(shù),子函數(shù)依賴更細(xì)小的子函數(shù)。最底層的子函數(shù)其實(shí)就是需求細(xì)節(jié)的實(shí)現(xiàn),而這些實(shí)現(xiàn)因需求變化而常常變化,這樣的結(jié)果導(dǎo)致整個程序的核心邏輯依賴于外延的細(xì)節(jié),本應(yīng)該穩(wěn)定的程序核心邏輯也因此依賴關(guān)系變得不穩(wěn)定。合理的依賴關(guān)系應(yīng)該是反過來:細(xì)節(jié)實(shí)現(xiàn)依賴于核心邏輯。

      面向?qū)ο螅∣bject Oriented)設(shè)計(jì)是一種自下而上的設(shè)計(jì)方法。設(shè)計(jì)過程一般從問題的一部分著手,逐步構(gòu)建出整體。面向?qū)ο笤O(shè)計(jì)以數(shù)據(jù)為中心,類作為表現(xiàn)數(shù)據(jù)的工具,是劃分程序的基本單位。函數(shù)在面向?qū)ο笤O(shè)計(jì)中成為了類的接口。由于面向?qū)ο筮@個自下而上的特性,允許開發(fā)者從問題的局部開始,在開發(fā)過程中逐步加深對系統(tǒng)的理解。這些新的理解以及開發(fā)中遇到的需求變化,都會再作用到系統(tǒng)開發(fā)本身,形成一種螺旋式的開發(fā)方式。面向?qū)ο蟪绦蛟O(shè)計(jì)中,類封裝了數(shù)據(jù),類的成員函數(shù)作為其對外的接口,抽象地描述了類。用類將數(shù)據(jù)和操作這些數(shù)據(jù)的函數(shù)放在一起,就是面向?qū)ο笤O(shè)計(jì)方法的本質(zhì)。引入面向?qū)ο蟮睦^承特性,可以將設(shè)計(jì)中越來越多的模塊之間的依賴型簡化,使整體設(shè)計(jì)的核心健壯穩(wěn)定,架構(gòu)清晰明朗。

      由于面向?qū)ο笤O(shè)計(jì)體現(xiàn)了數(shù)據(jù)的封裝,避免以前過程式設(shè)計(jì)方法中任何代碼都可以隨便操作數(shù)據(jù)而造成的缺陷,而查找修改這種缺陷是非常困難的。面向?qū)ο笤O(shè)計(jì)方法在軟件體系結(jié)構(gòu)方面是強(qiáng)制性的,從而在程序編譯階段就可以解決惰性問題,而不用在程序運(yùn)行階段再去查找問題。

      3 RUP和“4+1”視圖建模簡介

      RUP (Rational unified process)即 Rational統(tǒng)一過程(又稱統(tǒng)一軟件開發(fā)過程),是一個面向?qū)ο笄一诰W(wǎng)絡(luò)的程序開發(fā)方法論,其核心思想是:盡早并且持續(xù)地化解重大風(fēng)險(xiǎn),確保滿足客戶需求,重點(diǎn)放在可執(zhí)行軟件上,盡早在項(xiàng)目中適應(yīng)變化,在早期確定一個可執(zhí)行的架構(gòu)?;赗UP進(jìn)行軟件建模帶來的好處也在于此。

      Philippe Kruchten提出的“4+1”視圖模型由5個主要視圖構(gòu)成:用例(場景)、邏輯視圖、過程視圖、物理視圖和開發(fā)視圖,目前已被RUP采納,成為架構(gòu)設(shè)計(jì)的標(biāo)準(zhǔn)。通過此視圖模型進(jìn)行軟件面向?qū)ο蠓纸夂蠼#梢蕴岣哕浖膹?fù)用性、擴(kuò)展性和可維護(hù)性。

      4 地面試驗(yàn)測控系統(tǒng)軟件建模

      綜合面向?qū)ο?、基于RUP的“4+1”視圖模型和地面試驗(yàn)系統(tǒng)測控軟件開發(fā)經(jīng)驗(yàn),對大型火箭發(fā)動機(jī)地面試驗(yàn)測控系統(tǒng)軟件進(jìn)行“4+1”視圖建模,可以得到很好的軟件架構(gòu)。由于控制和測量在原理上有較大區(qū)別,所以在設(shè)計(jì)上還是采用相對獨(dú)立的原則。

      設(shè)計(jì)從各個基本功能元素入手,編制相對獨(dú)立的完整功能類(class)或結(jié)構(gòu)(struct),通過各自的接口函數(shù)構(gòu)成程序各功能結(jié)構(gòu)模塊。圖4是控制系統(tǒng)軟件過程視圖,控制時(shí)序部分是控制程序的中心,它對系統(tǒng)主控邏輯進(jìn)行分析、判讀和邏輯輸出,板卡的控制采用命令方式,解析后通過硬件接口與硬件板卡交互數(shù)據(jù),控制命令是根據(jù)硬件配置生成的規(guī)范化硬件控制命令包,比如:主控時(shí)序需要控制參數(shù)Param1對應(yīng)的電磁閥關(guān)閉 2 s,命令包就如 CLOSE@SLOT_1@Param1@2這種形式,經(jīng)過命令解析后發(fā)送給硬件接口,板卡就會執(zhí)行此命令關(guān)閉SLOT 1槽位上板卡中Param 1電磁閥對應(yīng)端口電平2 s;通過板卡的數(shù)據(jù)反饋及時(shí)獲取數(shù)據(jù)后進(jìn)行數(shù)據(jù)處理并存儲,再通過消息的方式實(shí)時(shí)顯示主控時(shí)序的執(zhí)行過程,實(shí)時(shí)顯示的具體形式是根據(jù)事先配置定制的諸如流程顯示的圖形。

      測量軟件中心是數(shù)據(jù)處理功能塊,所有的數(shù)據(jù)都是通過它與其他模塊交互。圖5是測量系統(tǒng)軟件過程視圖。所有實(shí)時(shí)數(shù)據(jù)的獲取都是通過數(shù)據(jù)實(shí)時(shí)采集模塊進(jìn)行的,它直接控制硬件并交互數(shù)據(jù);內(nèi)存池非常重要,它作為采集數(shù)據(jù)的緩沖區(qū)臨時(shí)存儲數(shù)據(jù),是所有功能模塊的數(shù)據(jù)源;數(shù)據(jù)算法根據(jù)需求定制不同的數(shù)據(jù)處理函數(shù),包括各種處理公式、數(shù)據(jù)輸入接口、數(shù)據(jù)輸出接口和異常數(shù)據(jù)剔出處理等,由數(shù)據(jù)處理模塊根據(jù)人機(jī)交互的請求實(shí)現(xiàn)不同的數(shù)據(jù)處理功能;數(shù)據(jù)處理模塊將眾多的功能請求(比如:試驗(yàn)數(shù)據(jù)采集、參數(shù)校準(zhǔn)、存儲數(shù)據(jù)和打印報(bào)表等)集中,通過主線程人機(jī)交互模塊中介,實(shí)現(xiàn)相應(yīng)的處理;實(shí)時(shí)顯示通過消息的方式從主界面獲得數(shù)據(jù)并顯示相應(yīng)的需求圖形;數(shù)據(jù)存儲模塊分為實(shí)時(shí)數(shù)據(jù)存儲和事后數(shù)據(jù)存儲,實(shí)時(shí)數(shù)據(jù)通過本地硬盤進(jìn)行二進(jìn)制文件形式存儲,事后數(shù)據(jù)處理的數(shù)據(jù)一般采用數(shù)據(jù)庫存儲方式,模塊必須實(shí)現(xiàn)所有的數(shù)據(jù)庫操作和數(shù)據(jù)的封裝。測量軟件與控制軟件設(shè)計(jì)不同在于數(shù)據(jù)處理需求多且復(fù)雜,因此,在數(shù)據(jù)處理需求分析過程中,必須細(xì)化各種需求,分類匯總,構(gòu)建健壯的類模塊。

      圖4和圖5的視圖模型適用于測控分系統(tǒng)軟件設(shè)計(jì)和整體設(shè)計(jì)。如果測控硬件設(shè)備屬于同一公司產(chǎn)品,因軟件平臺統(tǒng)一,一般情況下可以將所有分系統(tǒng)軟件合并為一個應(yīng)用軟件,設(shè)計(jì)中只需對各個模塊功能依據(jù)板卡驅(qū)動或者板卡執(zhí)行命令來擴(kuò)展功能即可,整體設(shè)計(jì)建模完全不需要改動,軟件的擴(kuò)展維護(hù)很顯然是非常容易的。如果測控分系統(tǒng)硬件設(shè)備分屬不同公司,軟件平臺可能不一致,導(dǎo)致不能合并分系統(tǒng)軟件程序,但每個分系統(tǒng)軟件的設(shè)計(jì)模型仍可采用上述建模,因建模統(tǒng)一,在使用過程中擴(kuò)展維護(hù)也比較簡便。

      通過在硬件結(jié)構(gòu)上的調(diào)整,采用分布式測控設(shè)備和以太網(wǎng)構(gòu)建局域網(wǎng)的方式,相應(yīng)測控軟件在以上視圖模型基礎(chǔ)上稍作調(diào)整即可形成高效的軟件架構(gòu)。圖6是基于以太網(wǎng)的控制系統(tǒng)軟件體系結(jié)構(gòu)示意??紤]到控制系統(tǒng)的實(shí)時(shí)性,將軟件配置和邏輯控制通過主控端分發(fā)給各控制分系統(tǒng)軟件,分系統(tǒng)對時(shí)序分析后直接進(jìn)行實(shí)時(shí)控制操作。

      基于以太網(wǎng)的測量系統(tǒng)軟件體系結(jié)構(gòu)如圖7所示。測量分系統(tǒng)機(jī)將測量所得數(shù)據(jù)通過以太網(wǎng)傳送給服務(wù)端,所有數(shù)據(jù)分析和處理均由服務(wù)端程序執(zhí)行。

      通過統(tǒng)一軟件建模,不論控制系統(tǒng)軟件還是測量系統(tǒng)軟件,由設(shè)計(jì)人員根據(jù)需求制定編寫規(guī)范和接口,每個功能模塊都應(yīng)分解并采用面向?qū)ο缶幊踢M(jìn)行數(shù)據(jù)封裝設(shè)計(jì)。利用面向?qū)ο缶幊陶Z言(如:C++和C#等)進(jìn)行類模塊代碼編寫,規(guī)范化類實(shí)例繼承特性。在代碼編寫過程中,避免大量使用全局變量;對于父類的設(shè)計(jì),注意總結(jié)歸納,利用面向?qū)ο蟮亩鄳B(tài)特性,在子類里編寫細(xì)節(jié)實(shí)現(xiàn)代碼。對于模塊的發(fā)布方式,盡量采用動態(tài)鏈接庫的方式,這樣可以做到改動一個對象實(shí)例功能代碼,只需要重新編譯此對象模塊即可,其他模塊完全不需要改動。為了規(guī)范化代碼編寫過程,有必要制定統(tǒng)一的代碼編寫規(guī)范,按要求注釋代碼功能,建立代碼修改日志文檔,這對于系統(tǒng)軟件的功能修改、擴(kuò)展和發(fā)布等有很大的幫助。圖8是基于“4+1”視圖模型建模后整個火箭發(fā)動機(jī)地面試驗(yàn)測控系統(tǒng)的架構(gòu)示意圖。

      由圖可看出:將以前復(fù)雜眾多的分系統(tǒng)軟件分解和歸納,總結(jié)其特征并統(tǒng)一設(shè)計(jì)結(jié)構(gòu),可做到所有控制分系統(tǒng)和測量系統(tǒng)也只由一套測量軟件進(jìn)行后臺操作,最終在整體層面上,只需要兩個系統(tǒng)應(yīng)用軟件和相應(yīng)的操作人員即可。

      參考開發(fā)規(guī)范,火箭發(fā)動機(jī)地面試驗(yàn)測控系統(tǒng)軟件設(shè)計(jì)需確定一個設(shè)計(jì)小組分工設(shè)計(jì)軟件,每個模塊設(shè)計(jì)都需要分工協(xié)作,好的模塊接口是整體應(yīng)用便利、日后維護(hù)和故障定位的前提。

      基于RUP的“4+1”視圖模型建模方法給出了粗線條的整體設(shè)計(jì)方式,在實(shí)際操作中,各系統(tǒng)的功能模塊還需要根據(jù)需求再分解,以達(dá)到整體設(shè)計(jì)的高重用性、高可靠性和高效性的效果。

      5 結(jié)束語

      綜上所述,依據(jù)統(tǒng)一軟件開發(fā)過程和面向?qū)ο笤O(shè)計(jì)思想,借助目前各種優(yōu)秀的面向?qū)ο缶幊陶Z言,可以為大型火箭發(fā)動機(jī)地面試驗(yàn)測控系統(tǒng)軟件設(shè)計(jì)帶來較好的效果,在設(shè)計(jì)過程中就能最大程度地避免風(fēng)險(xiǎn)和適應(yīng)工程項(xiàng)目的需求變化,從而在工程早期就確定一個可執(zhí)行的軟件架構(gòu),提高測控軟件使用效率、減少操作和維護(hù)人員、更好的故障定位和系統(tǒng)擴(kuò)展。

      [1]比約尼爾(德).軟件工程卷1~3[M].劉伯超,譯.北京:清華大學(xué)出版社,2010.

      [2]何炳林,張煥文,梁柱揚(yáng),等.基于ADS1252的數(shù)據(jù)采集模塊設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2011,34(13):139-141.

      [3]邵維忠,楊芙清.面向?qū)ο蟮南到y(tǒng)分析,面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)[M].北京:清華大學(xué)出版社,2003.

      [4]KRUCHTEN P.The 4+1 view model of architecture[J].IEEE Software,1995,12(6):42-50.

      [5]張磊.基于FPGA與PCI總線的實(shí)時(shí)控制計(jì)算機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2011,19(20):173-180.

      [6]KRUCHTEN P H,THOMPSON C H.An object-oriented,distributed architecture for large scale Ada systems[C]//Proceedings of the TRI-Ada'94 Conference.Baltimore,USA:ACM,1994:262-271.

      [7]張春祥.軟件體系結(jié)構(gòu)理論與實(shí)踐[M].北京:中國電力出版社,2011.

      [8]毛頓,郭慶平.LabVIEW中用DataSocket技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)化應(yīng)用[J].現(xiàn)代電子技術(shù),2002(3):70-71,85.

      [9]楊海成.航天型號軟件工程[M].北京:中國宇航出版社,2011.

      [10]孫誠,王雪梅,張艷紅.連接計(jì)算機(jī)并口的數(shù)據(jù)采集系統(tǒng)[J].電子設(shè)計(jì)工程,2011,19(16):48-50.

      猜你喜歡
      面向?qū)ο?/a>測控視圖
      《測控電路》實(shí)踐教學(xué)改革探討
      電子測試(2018年22期)2018-12-19 05:12:58
      面向?qū)ο蟮挠?jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)軟件系統(tǒng)的開發(fā)
      電子測試(2018年15期)2018-09-26 06:01:34
      面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
      5.3 視圖與投影
      視圖
      Y—20重型運(yùn)輸機(jī)多視圖
      SA2型76毫米車載高炮多視圖
      基于現(xiàn)代測控技術(shù)及其應(yīng)用分析
      向著新航程進(jìn)發(fā)——遠(yuǎn)望7號測控船首航記錄
      太空探索(2016年12期)2016-07-18 11:13:43
      面向?qū)ο骔eb開發(fā)編程語言的的評估方法
      宁陕县| 青岛市| 夏邑县| 崇州市| 景洪市| 朔州市| 丹阳市| 开封县| 尉犁县| 托克托县| 阜平县| 通榆县| 孝感市| 泰州市| 萨嘎县| 汨罗市| 东兰县| 闻喜县| 渑池县| 西藏| 海林市| 庆云县| 确山县| 华阴市| 正安县| 万州区| 比如县| 武胜县| 南充市| 云安县| 朝阳区| 吉安县| 班戈县| 卢湾区| 江源县| 阳朔县| 怀远县| 中宁县| 鸡东县| 宝兴县| 敦化市|