楊 軍 朱學(xué)鋒
(92941部隊(duì) 葫蘆島 125000)
在導(dǎo)彈、火箭的飛行試驗(yàn)中,通過(guò)傳感器、變換器對(duì)彈(箭)各系統(tǒng)狀態(tài)及環(huán)境的數(shù)百個(gè)遙測(cè)參數(shù)進(jìn)行實(shí)時(shí)監(jiān)測(cè),并由遙測(cè)系統(tǒng)采集、編碼、調(diào)制后通過(guò)地面站接收獲得遙測(cè)數(shù)據(jù)。遙測(cè)數(shù)據(jù)處理的任務(wù)是通過(guò)加工、變換、計(jì)算和分析將遙測(cè)參數(shù)從原始測(cè)量數(shù)據(jù)中提取出來(lái),還原成物理量[1~2]。隨著新武器裝備發(fā)展,試驗(yàn)裝備的型號(hào)和數(shù)量愈來(lái)愈多,而遙測(cè)數(shù)據(jù)的幀結(jié)構(gòu)和參數(shù)屬性等會(huì)因型號(hào)不同而變化,且必須在試驗(yàn)前完成數(shù)據(jù)處理軟件的更新和校驗(yàn)工作[3]。因此,遙測(cè)數(shù)據(jù)處理軟件要具有軟件主體穩(wěn)定、接口靈活、維護(hù)高效的特點(diǎn)[4]。
LabVIEW是一個(gè)工業(yè)標(biāo)準(zhǔn)的圖形化開(kāi)發(fā)環(huán)境,使用圖形化編程G語(yǔ)言編寫(xiě)程序,產(chǎn)生的程序是框圖形式。擁有豐富的控件和函數(shù)庫(kù),采用并行處理的設(shè)計(jì)模式,能夠快速實(shí)現(xiàn)數(shù)據(jù)處理、數(shù)據(jù)分析、數(shù)據(jù)顯示、圖形控制等功能強(qiáng)大的應(yīng)用程序。圖形化編程方式可以使技術(shù)人員將設(shè)計(jì)的重心從繁冗的代碼編寫(xiě)轉(zhuǎn)移到系統(tǒng)設(shè)計(jì)和功能實(shí)現(xiàn)上,從而使開(kāi)發(fā)和維護(hù)的效率大幅提高[5]。根據(jù)測(cè)算,通過(guò)G語(yǔ)言編寫(xiě)程序在保證運(yùn)行速度的基礎(chǔ)上,能夠節(jié)省85%以上的程序開(kāi)發(fā)時(shí)間,具有較高的效率[6~7]。本文基于LabVIEW集成開(kāi)發(fā)環(huán)境設(shè)計(jì)遙測(cè)數(shù)據(jù)分路系統(tǒng)實(shí)現(xiàn)遙測(cè)參數(shù)的分路和工程物理量變換,可明顯提高軟件維護(hù)更新的效率。
幀是遙測(cè)數(shù)據(jù)的基本數(shù)據(jù)結(jié)構(gòu)。幀有主幀、副幀(也稱(chēng)主交換子、次交換子)等,由若干個(gè)主幀構(gòu)成一個(gè)幀格式。主幀的基本單位是波道,是傳輸遙測(cè)參數(shù)的基本單元。副幀結(jié)構(gòu)類(lèi)似于主幀的數(shù)據(jù)結(jié)構(gòu),它的基本單位也是波道,副幀通過(guò)主幀的一個(gè)或某幾個(gè)波道傳送的,主幀傳送一幀數(shù)據(jù),副幀只能傳送一路數(shù)據(jù)。主幀、副幀都有一個(gè)表示循環(huán)開(kāi)始或結(jié)束的幀同步碼。子幀是兩個(gè)幀同步碼之間的分割路循環(huán)一周的數(shù)據(jù)。一個(gè)標(biāo)準(zhǔn)的幀格式如圖1,每行為一個(gè)子幀[8~9]。
圖1 遙測(cè)幀結(jié)構(gòu)
遙測(cè)數(shù)據(jù)因?qū)椥吞?hào)和批次的不同,遙測(cè)數(shù)據(jù)的結(jié)構(gòu)及其分路過(guò)程也經(jīng)常發(fā)生變化,因此,設(shè)計(jì)一個(gè)平臺(tái)性質(zhì)的分路軟件來(lái)適應(yīng)不同型號(hào)的導(dǎo)彈遙測(cè)數(shù)據(jù)分路是非常適宜的。從這一點(diǎn)來(lái)考慮,將遙測(cè)數(shù)據(jù)處理中因結(jié)構(gòu)改變而經(jīng)常變化的參數(shù)分路部分提取出來(lái),設(shè)計(jì)成模塊化軟件平臺(tái),作為型號(hào)導(dǎo)彈遙測(cè)數(shù)據(jù)分路系統(tǒng)的基礎(chǔ)[10]。下面按參數(shù)表裝訂、輸出參數(shù)文件配置、幀結(jié)構(gòu)檢測(cè)、遙測(cè)數(shù)據(jù)分路等四個(gè)VI子程序說(shuō)明分路軟件的設(shè)計(jì)。
遙測(cè)參數(shù)表描述了每個(gè)遙測(cè)參數(shù)的代號(hào)、名稱(chēng)、數(shù)據(jù)類(lèi)型、計(jì)算系數(shù)、參數(shù)類(lèi)型和所占波道等屬性。規(guī)范的遙測(cè)參數(shù)表字段格式見(jiàn)表1。
表1 遙測(cè)參數(shù)表的格式
遙測(cè)參數(shù)表的屬性可以通過(guò)純文本文件、電子表格文件按照指定字段順序編排,每行作為一個(gè)參數(shù)屬性記錄,通過(guò)裝訂VI模塊將需要分路或提取的參數(shù)裝訂到數(shù)據(jù)表中。圖2是文本格式的參數(shù)表文件裝訂VI,通過(guò)調(diào)用參數(shù)表裝訂VI將參數(shù)表的屬性導(dǎo)入到二維數(shù)組中,供輸出文件配置VI和遙測(cè)參數(shù)分路VI調(diào)用。
利用參數(shù)表中的參數(shù)代碼、參數(shù)名稱(chēng)等字段的屬性值按照某種規(guī)則合成遙測(cè)參數(shù)文件名,并創(chuàng)建輸出文件。將參數(shù)的輸出文件句柄及其屬性放入數(shù)組緩沖區(qū),供遙測(cè)數(shù)據(jù)分路VI調(diào)用。其具體實(shí)現(xiàn)方法如圖3。
圖3 輸出參數(shù)文件配置VI
幀結(jié)構(gòu)檢測(cè)完成幀碼、幀長(zhǎng)度、幀時(shí)間的檢查,對(duì)結(jié)構(gòu)完整、時(shí)間碼和幀同步碼都正確的幀,將幀時(shí)間通過(guò)時(shí)間碼轉(zhuǎn)換VI轉(zhuǎn)換為浮點(diǎn)數(shù),供分路軟件使用。
圖4 遙測(cè)數(shù)據(jù)幀結(jié)構(gòu)檢測(cè)VI
遙測(cè)數(shù)據(jù)分路模塊首先利用遙測(cè)參數(shù)表裝訂VI和輸出參數(shù)文件配置VI完成程序的初始化工作[11],打開(kāi)遙測(cè)原始數(shù)據(jù)文件并進(jìn)入While循環(huán);再讀取1幀遙測(cè)數(shù)據(jù),利用幀結(jié)構(gòu)檢測(cè)VI檢測(cè)幀結(jié)構(gòu)是否完好,若幀數(shù)據(jù)正常,則利用參數(shù)表提供的數(shù)據(jù)類(lèi)型、處理類(lèi)型以及波道號(hào)從該幀數(shù)據(jù)中提取指定波道的數(shù)據(jù)并進(jìn)行相應(yīng)的工程物理量變換,然后將計(jì)算結(jié)果寫(xiě)入由文件句柄提供的輸出參數(shù)文件。如此循環(huán),直至讀取數(shù)據(jù)文件失敗,結(jié)束程序。遙測(cè)數(shù)據(jù)分路VI程序設(shè)計(jì)如圖5。
圖5 遙測(cè)數(shù)據(jù)分路VI
圖6 軟件交互界面
圖7 參數(shù)曲線
遙測(cè)數(shù)據(jù)分路軟件既可以單獨(dú)執(zhí)行,也可以由其他VI模塊調(diào)用執(zhí)行,具有獨(dú)立的軟件操控界面[12]。界面由遙測(cè)參數(shù)表、參數(shù)初始化和幀結(jié)構(gòu)檢測(cè)統(tǒng)計(jì)結(jié)果三部分組成。為了驗(yàn)證軟件的程序,對(duì)某次試驗(yàn)任務(wù)記錄的遙測(cè)數(shù)據(jù)進(jìn)行分路,裝訂遙測(cè)參數(shù)表、遙測(cè)數(shù)據(jù),輸入試驗(yàn)時(shí)間零點(diǎn)和處理開(kāi)始時(shí)間并執(zhí)行程序,幀結(jié)構(gòu)檢測(cè)結(jié)果如圖6所示,并按圖7所示逐一檢查每個(gè)參數(shù)的圖形曲線,驗(yàn)證參數(shù)數(shù)據(jù)是否正確。經(jīng)測(cè)試表明:該程序各項(xiàng)功能正確、執(zhí)行效率高且易于維護(hù)。
設(shè)計(jì)了基于LabVIEW的遙測(cè)數(shù)據(jù)分路軟件,實(shí)現(xiàn)數(shù)百上千的遙測(cè)參數(shù)的快速提取、變換和計(jì)算。利用其豐富的圖形化編程語(yǔ)言快速構(gòu)建軟件平臺(tái),可有效解決軟件配置更新和校驗(yàn)繁瑣且耗時(shí)長(zhǎng)與試驗(yàn)任務(wù)周期短且時(shí)間要求緊之間的矛盾,明顯降低了維護(hù)難度,提高了工作效率。