• 
    

    
    

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

      ?

      基于VBScript的遙測數(shù)據(jù)處理技術(shù)研究

      2015-07-28 12:47王利偉劉春光
      現(xiàn)代電子技術(shù) 2015年11期
      關(guān)鍵詞:遙測數(shù)據(jù)處理

      王利偉 劉春光

      摘 要: 飛行器的遙測數(shù)據(jù)幀格式隨型號、批次而不同,給遙測數(shù)據(jù)處理帶來很大不便。利用ActiveX Scripting 技術(shù)能實現(xiàn)VBScript引擎嵌入到遙測處理程序中,使得遙測處理程序在不修改程序的情況下能夠通過VBScript腳本靈活處理多變的數(shù)據(jù)幀格式。經(jīng)應(yīng)用證明,該技術(shù)具有配置靈活、可擴(kuò)展性強(qiáng)等特點(diǎn),能夠滿足不同格式遙測數(shù)據(jù)解析的需要。

      關(guān)鍵詞: 遙測; 數(shù)據(jù)處理; VBScript; 幀解析模塊

      中圖分類號: TN975?34; V557+.3 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2015)11?0117?02

      Research on telemetry data processing technology based on VBScript

      WANG Li?wei, LIU Chun?guang

      (Detachment of 94, Unit 91550 of PLA, Dalian 116023, China)

      Abstract: The frame format of telemetry data for aircraft is different with models and batches, so it is inconvenient for the telemetry data processing. VBScript engine embedded into the telemetry processing program is realized by using ActiveX Scripting technology, with no program modification of the telemetry processing programs, the various data frame formats are processed by VBScript. The application proves that the proposed technology has the advantages of flexible configuration, good extensibility and so on, and can satisfy the demands of analysis for telemetry data in different formats.

      Keywords: telemetry; data processing; VBScript; frame analysis module

      0 引 言

      因飛行器型號不同、批次不同,遙測數(shù)據(jù)幀格式定義也不盡相同。為處理不同格式的遙測數(shù)據(jù)幀,或者需要重新編制遙測處理程序,或者需要修改原有程序,因軟件開發(fā)測試造成的工作量增加、風(fēng)險增大,給遙測數(shù)據(jù)處理工作帶來很大不便。

      腳本語言具有強(qiáng)大的描述能力和靈活的語法結(jié)構(gòu),為應(yīng)用程序提供腳本支持及進(jìn)行混合語言開發(fā),是實現(xiàn)可擴(kuò)展和可定制的有效方案[1]。為改變以上不利局面,設(shè)想通過在遙測數(shù)據(jù)處理程序中引入腳本引擎的方式以達(dá)到解決上述問題的目的,并進(jìn)行了有益的嘗試。

      1 ActiveX Scripting技術(shù)

      腳本語言通過腳本引擎解釋執(zhí)行,通過在應(yīng)用程序中嵌入腳本引擎,可以使應(yīng)用程序解釋執(zhí)行用戶的程序文本,將它譯成計算機(jī)能執(zhí)行的機(jī)器代碼,完成一系列的功能,從而達(dá)到應(yīng)用程序可擴(kuò)展的目的。ActiveX Scripting技術(shù)是Microsoft Automation技術(shù)和Script技術(shù)結(jié)合的產(chǎn)物,是Microsoft ActiveX技術(shù)的一個組成部分[2]。利用ActiveX Scripting技術(shù),通過在遙測數(shù)據(jù)處理軟件中嵌入VBScript引擎,從而在軟件中執(zhí)行VBScript腳本。

      現(xiàn)有的腳本引擎的功能不能滿足需要時,可以通過自定義函數(shù)或接口擴(kuò)展腳本。Microsoft Automation技術(shù)以COM(組件對象模型)為基礎(chǔ),所有的Automation對象都實現(xiàn)了標(biāo)準(zhǔn)的IDispatch接口,通過IDispatch接口暴露自定義的屬性和方法,可以在腳本中使用這些屬性和方法,Automation對象提供事件處理。腳本引擎根據(jù)對象的類型信息,把其中對對象屬性和方法的引用解釋為對IDispatch接口成員函數(shù)Invoke的調(diào)用,從而實現(xiàn)對對象的控制。通過這一機(jī)制,可以在遙測數(shù)據(jù)處理軟件中創(chuàng)建Automation對象,將其屬性和方法暴露給腳本引擎,腳本引擎通過IDispatch接口調(diào)用屬性和方法的處理。

      2 基于VBScript的遙測數(shù)據(jù)幀解析技術(shù)

      2.1 遙測數(shù)據(jù)幀特點(diǎn)

      遙測數(shù)據(jù)幀的數(shù)據(jù)定義千差萬別,但其結(jié)構(gòu)一般都包含幀頭、幀標(biāo)志、幀數(shù)據(jù)、幀校驗、幀尾(有些遙測數(shù)據(jù)幀定義中不包含幀校驗)[3],可以用以下形式表示:

      其中,為幀頭,為幀標(biāo)志,為幀數(shù)據(jù),為幀校驗,為幀尾。

      幀數(shù)據(jù)是按一定格式定義的字段組成,用于表示監(jiān)測的各個物理量參數(shù),其結(jié)構(gòu)構(gòu)成和表示的物理量的計算公式差別很大。

      遙測數(shù)據(jù)處理過程中一般要經(jīng)過主幀分路、幀解析、分析顯示等過程,如圖1所示。主幀分路模塊依據(jù)分路配置信息進(jìn)行分路,分路后的數(shù)據(jù)幀文件作為幀解析模塊的輸入;幀解析模塊首先依據(jù)幀格式定義解析幀結(jié)構(gòu),之后經(jīng)過物理量還原得到各個參數(shù)的物理量結(jié)果,該結(jié)果作為分析顯示模塊的輸入。

      數(shù)據(jù)幀字段經(jīng)解析計算后輸出為表示的物理量的值,這一過程是遙測數(shù)據(jù)處理中非常重要的步驟。由于要處理的遙測數(shù)據(jù)幀格式種類多,變化比較大,解析計算字段并輸出物理量參數(shù)需要經(jīng)常修改遙測數(shù)據(jù)處理軟件。

      2.2 基于VBScript的遙測數(shù)據(jù)幀解析技術(shù)

      現(xiàn)有的遙測數(shù)據(jù)處理軟件的幀解析模塊使用VC++開發(fā),為了實現(xiàn)通過VBScript腳本靈活處理遙測數(shù)據(jù)幀的目的,需要在幀解析模塊中嵌入VBScript腳本引擎。利用ActiveX Scripting技術(shù)可以方便地實現(xiàn)在解析模塊中嵌入VBScript引擎,從而在軟件中執(zhí)行VBScript腳本,需要對幀解析模塊進(jìn)行如下修改:

      (1) 實現(xiàn)回調(diào)接口IActiveScriptSite

      腳本引擎通過IActiveScript->SetScriptSite()實現(xiàn)回調(diào),從而在程序中取得引擎的狀態(tài)信息,并提供用戶的自定義變量的自動化對象。

      (2) 創(chuàng)建VBScript引擎對象

      使用CoCreateInstance()創(chuàng)建VBScript腳本引擎,獲得該引擎的接口IActiveScript。

      (3) 擴(kuò)展腳本方法

      現(xiàn)有的腳本引擎的功能不能滿足需要時,可以通過自定義函數(shù)或接口擴(kuò)展腳本。為計算字段的值并給字段賦值,至少需要擴(kuò)展字段取原始值和賦計算結(jié)果接口,即:

      VARIANT GetVal (VARIANT fieldID, VARIANT fieldLen);

      //根據(jù)字段ID取字段原始值,fieldLen表示字段所占字節(jié)數(shù)

      SetVal (VARIANT fieldID, VARIANT newValue);

      //設(shè)置字段的計算結(jié)果值

      如果需要處理非整字節(jié)字段(即bit位字段),還需擴(kuò)展位字段取原始值和賦計算結(jié)果的接口函數(shù),與上面的方法類似,不再一一列舉。

      (4) 解釋執(zhí)行用戶代碼

      通過IActiveScript->QueryInterface()取得IActiveScriptParse接口,IActiveScriptParse用于解釋執(zhí)行用戶的腳本代碼。

      解析軟件內(nèi)部主控模塊與腳本引擎的關(guān)系如圖2所示。

      在遙測程序中嵌入VBScript腳本引擎后,通過VBScript腳本能夠進(jìn)行復(fù)雜的邏輯計算,可以實現(xiàn)很靈活的擴(kuò)展和配置,在不修改解析模塊代碼的前提下可以實現(xiàn)對不同格式的遙測數(shù)據(jù)解析。

      2.3 應(yīng)用舉例

      例一:計算單字段情況

      遙測幀中計算壓力字段是較常見的,下面以計算某壓力字段為例進(jìn)行說明,該壓力字段幀內(nèi)ID為1,計算公式如下:

      [y=1 000x-200] (1)

      式中:[x]為壓力字段的原始值;[y]為該壓力物理量的實際值。

      根據(jù)公式(1),該壓力字段的VBScript計算腳本為:

      上述腳本中,通過SetVal()函數(shù)設(shè)置該壓力字段的計算結(jié)果后,該結(jié)果就可作為分析顯示模塊的輸入。

      例二:輸出結(jié)果需要多個字段的情況

      GPS接收機(jī)偽距觀測值的計算需要表1中的字段。

      字段“偽距觀測值”并不是在遙測數(shù)據(jù)幀中的字段,加上該字段的配置是為了輸出最終的“偽距觀測值”這一物理量的需要。

      表1 字段表

      [字段ID\&字段名稱\&類型\&長度\&備注\&12\&GPS周秒\&double\&4\&\&22\&偽碼相位\&int\&4\&\&125\&偽距觀測值\&double\&\&非幀內(nèi)字段\&]

      偽距觀測值計算公式如下:

      [p=(S-λ(1 023 000.0×2 048.0))?c] (2)

      式中:[p]為偽距觀測值;[S]為GPS周秒;[λ]為偽碼相位;c為光速[4],取為299 792 458.0。

      根據(jù)式(2)偽距觀測值的取值腳本如下:

      實際上字段的計算公式比較復(fù)雜且格式多,利用VBScript腳本計算不常見公式的字段值大大提高了遙測幀數(shù)據(jù)處理時的靈活性。

      3 結(jié) 語

      由于工程應(yīng)用中面對的飛行器型號多遙測數(shù)據(jù)幀格式多變,要編制一個通用的遙測數(shù)據(jù)解析軟件存在較大難度,本文在遙測數(shù)據(jù)幀解析的通用性方面做了有益的嘗試。由于將VBScript引擎嵌入到解析模塊,從而可以利用VBScript的靈活性實現(xiàn)對不同遙測幀格式的處理,無需修改解析模塊源代碼。經(jīng)過應(yīng)用證明,該技術(shù)具有配置靈活、可擴(kuò)展性強(qiáng)等特點(diǎn),能夠滿足不同格式遙測數(shù)據(jù)解析的需要。

      參考文獻(xiàn)

      [1] OUSTERHOUT J K. Scripting: higher level programming for the 21st century [J]. IEEE Computer, 1998, 31(3): 23?30.

      [2] 呂思偉,潘愛民.ActiveX Scripting技術(shù)介紹[J].微電腦世界, 1999(1):1?3.

      [3] 展勇忠,柯朝祥,舒海濤.靶場試驗遙測數(shù)據(jù)實時處理軟件技術(shù)[J].國防技術(shù)基礎(chǔ),2007(11):52?56.

      [4] 熊志昂.GPS技術(shù)與工程應(yīng)用[M].北京:國防工業(yè)出版社,2005.

      [5] 羅振貴,鄭永秋,李圣昆.固態(tài)記錄器在遙測數(shù)據(jù)回收中的應(yīng)用研究[J].現(xiàn)代電子技術(shù),2013,36(7):111?114.

      [6] 常樹龍.空空導(dǎo)彈遙測數(shù)據(jù)三維實時顯示系統(tǒng)設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2010,33(4):64?66.

      猜你喜歡
      遙測數(shù)據(jù)處理
      認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計法*
      前饋復(fù)合控制在提高遙測跟蹤性能中的應(yīng)用
      ILWT-EEMD數(shù)據(jù)處理的ELM滾動軸承故障診斷
      遠(yuǎn)程控制式遙測地面站關(guān)鍵技術(shù)研究
      某小型無人機(jī)遙測軟件設(shè)計
      淺談如何提高遙測狀態(tài)估計合格率
      MATLAB在化學(xué)工程與工藝實驗數(shù)據(jù)處理中的應(yīng)用
      Matlab在密立根油滴實驗數(shù)據(jù)處理中的應(yīng)用
      利用VBA處理鄰近氣象站的相關(guān)遙測數(shù)據(jù)
      利用遙測儀測量活塞運(yùn)動
      若羌县| 钟山县| 东莞市| 河南省| 绥棱县| 沙田区| 枣庄市| 隆德县| 霍林郭勒市| 邓州市| 正宁县| 肥西县| 登封市| 岳池县| 伊金霍洛旗| 黄冈市| 连平县| 淳化县| 成安县| 额尔古纳市| 卢龙县| 安国市| 新巴尔虎右旗| 青田县| 金门县| 台州市| 桐城市| 衢州市| 兴城市| 沈阳市| 铁岭县| 遵化市| 玉溪市| 中牟县| 通海县| 石门县| 沭阳县| 新巴尔虎左旗| 石棉县| 永新县| 湾仔区|