《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于LabVIEW RT的自動(dòng)測(cè)試系統(tǒng)的研究與實(shí)現(xiàn)
基于LabVIEW RT的自動(dòng)測(cè)試系統(tǒng)的研究與實(shí)現(xiàn)
來源:微型機(jī)與應(yīng)用2012年第18期
胡桂廷, 陳向東
(北京精密機(jī)電控制設(shè)備研究所, 北京 100076)
摘要: 為了解決接收機(jī)自動(dòng)測(cè)試系統(tǒng)中由于系統(tǒng)時(shí)延與數(shù)據(jù)緩沖給測(cè)試過程中的時(shí)間同步與數(shù)據(jù)對(duì)齊帶來的一系列難題,提高測(cè)試系統(tǒng)的精度,本文對(duì)傳統(tǒng)的自動(dòng)測(cè)試系統(tǒng)進(jìn)行了優(yōu)化。以LabVIEW為平臺(tái)開發(fā)了獨(dú)立于主工控機(jī)的數(shù)據(jù)采集系統(tǒng),并對(duì)數(shù)據(jù)緩沖問題提出了解決方案。試驗(yàn)結(jié)果表明,該系統(tǒng)較好地解決了時(shí)延與數(shù)據(jù)對(duì)齊問題,達(dá)到了預(yù)期目標(biāo)。
Abstract:
Key words :

摘   要:為了解決接收機(jī)自動(dòng)測(cè)試系統(tǒng)中由于系統(tǒng)時(shí)延與數(shù)據(jù)緩沖給測(cè)試過程中的時(shí)間同步與數(shù)據(jù)對(duì)齊帶來的一系列難題,提高測(cè)試系統(tǒng)的精度,本文對(duì)傳統(tǒng)的自動(dòng)測(cè)試系統(tǒng)進(jìn)行了優(yōu)化。以LabVIEW為平臺(tái)開發(fā)了獨(dú)立于主工控機(jī)的數(shù)據(jù)采集系統(tǒng),并對(duì)數(shù)據(jù)緩沖問題提出了解決方案。試驗(yàn)結(jié)果表明,該系統(tǒng)較好地解決了時(shí)延與數(shù)據(jù)對(duì)齊問題,達(dá)到了預(yù)期目標(biāo)。
關(guān)鍵詞: 接收機(jī)測(cè)試; LabVIEW RT;  數(shù)據(jù)采集

    隨著全球經(jīng)濟(jì)的蓬勃發(fā)展,導(dǎo)航被廣泛應(yīng)用在運(yùn)輸車輛監(jiān)控、服務(wù)示范系統(tǒng)工程、石油探測(cè)、航天測(cè)試系統(tǒng)等方面,用于接收、跟蹤、變換和測(cè)量導(dǎo)航信號(hào)的接收設(shè)備——導(dǎo)航接收機(jī)也被應(yīng)用在各種服務(wù)、追蹤、測(cè)試等系統(tǒng)中。
    在一些對(duì)精度及可靠性要求比較高的系統(tǒng)中,一方面接收機(jī)的精度和不確定度評(píng)估直接影響了測(cè)試驗(yàn)證的可信度;另一方面隨著使用時(shí)間及機(jī)械損耗,接收機(jī)的精度會(huì)受到一定的影響,為此需要對(duì)接收機(jī)進(jìn)行定期標(biāo)校。
    一般的接收機(jī)自動(dòng)測(cè)試系統(tǒng)[1]大都把原始數(shù)據(jù)與接收機(jī)接收數(shù)據(jù)進(jìn)行對(duì)比,在此過程中往往忽略了由于操作系統(tǒng)的非實(shí)時(shí)性帶來的時(shí)延以及數(shù)據(jù)緩沖處理給發(fā)送數(shù)據(jù)與接收數(shù)據(jù)的對(duì)齊造成的誤差。
    本文在對(duì)接收機(jī)自動(dòng)測(cè)試系統(tǒng)的構(gòu)架進(jìn)行簡(jiǎn)單介紹的基礎(chǔ)上,著重研究如何采用LabVIEW RT 實(shí)時(shí)系統(tǒng)解決上述問題。
1 測(cè)試系統(tǒng)架構(gòu)
    傳統(tǒng)導(dǎo)航接收機(jī)自動(dòng)測(cè)試系統(tǒng)[2]如圖1所示。

    工控機(jī)記錄并通過GPIB總線控制信號(hào)源的輸出[3];通過天線或射頻信號(hào),信號(hào)源將產(chǎn)生的信號(hào)發(fā)送給接收機(jī);接收機(jī)接收信號(hào)源生成的各類信號(hào)并通過429總線將接收的信號(hào)傳遞給工控機(jī);工控機(jī)最終將接收機(jī)接收到的信號(hào)與信號(hào)源發(fā)射信號(hào)進(jìn)行對(duì)比,給出接收機(jī)誤差補(bǔ)償。
    這一方法在理論上成立,在設(shè)計(jì)和實(shí)現(xiàn)的過程中卻會(huì)因操作系統(tǒng)的非實(shí)時(shí)性和接收數(shù)據(jù)過程中的數(shù)據(jù)緩沖,給最終數(shù)據(jù)對(duì)比時(shí)的時(shí)間同步和數(shù)據(jù)對(duì)齊帶來問題,進(jìn)一步影響系統(tǒng)精度。
    為了解決這一問題,本文對(duì)傳統(tǒng)接收機(jī)自動(dòng)測(cè)試系統(tǒng)進(jìn)行了優(yōu)化,如圖2所示。

    本系統(tǒng)采用IFR International Ltd.生產(chǎn)的專用航空信號(hào)發(fā)生器IFR2030作為信號(hào)源,Collins的GNLU-930、DME-442以及Honey Well的RNA-34BF作為接收機(jī);通過PCI-GPIB板卡實(shí)現(xiàn)工控機(jī)與信號(hào)源控制單元的通信;此外,新增了Agilent公司的DS07104B型示波器以及E4440A型頻譜分析儀,以實(shí)時(shí)顯示跟蹤信號(hào)的變化情況。
    與傳統(tǒng)自動(dòng)測(cè)試系統(tǒng)相比,本系統(tǒng)最大的特色是以LabVIEW為平臺(tái)開發(fā)了獨(dú)立的數(shù)據(jù)采集系統(tǒng),其設(shè)計(jì)方案將在下一節(jié)中進(jìn)行介紹。
2 數(shù)據(jù)采集
    LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一種圖形化編程語言的開發(fā)環(huán)境。它最大的特點(diǎn)是能夠保證應(yīng)用程序的實(shí)時(shí)響應(yīng)[4]只運(yùn)行在物理內(nèi)存中;另一特點(diǎn)是并行特性,多線程數(shù)據(jù)采集任務(wù)的編寫和執(zhí)行更加容易和有效[5]。
    本系統(tǒng)設(shè)計(jì)過程中,以LabVIEW為開發(fā)平臺(tái)將數(shù)據(jù)采集設(shè)計(jì)為獨(dú)立的系統(tǒng)就是考慮到了LabVIEW的以上特性,這些特性使系統(tǒng)在運(yùn)行過程中由于操作系統(tǒng)的非實(shí)時(shí)性而帶來的時(shí)延大大減少[6]。此外,在傳統(tǒng)的接收機(jī)自動(dòng)測(cè)試系統(tǒng)中,工控機(jī)承擔(dān)了包括信號(hào)源控制、數(shù)據(jù)采集、解析與分析處理,以及數(shù)據(jù)存儲(chǔ)的任務(wù),這些多線程操作也給工控機(jī)的響應(yīng)時(shí)間帶來一定的影響, 本系統(tǒng)中數(shù)據(jù)采集系統(tǒng)作為一個(gè)獨(dú)立的單元承擔(dān)了數(shù)據(jù)采集與解析的任務(wù), 降低了主工控機(jī)的負(fù)荷。
    數(shù)據(jù)采集系統(tǒng)作為中間過程是用戶不可見的,上位機(jī)采用TCP/IP協(xié)議實(shí)現(xiàn)對(duì)采集單元的控制及通信。為了使數(shù)據(jù)采集適應(yīng)于ETS實(shí)時(shí)操作系統(tǒng),采集系統(tǒng)采用了ALTA data公司的CPCI采集卡,系統(tǒng)結(jié)構(gòu)如圖3所示。

    數(shù)據(jù)采集流程[7]分為初始化、讀取數(shù)據(jù)、結(jié)束采集三大步,其示意圖如圖4所示。

 

 

    在初始化分支中要分別對(duì)板卡及采集通道進(jìn)行初始化設(shè)置,確立板卡ID號(hào)、發(fā)送和接收通道編號(hào)、總線速率;在讀取通道數(shù)據(jù)分支中調(diào)用獲取緩存中數(shù)據(jù)函數(shù),獲得接收機(jī)數(shù)據(jù);在結(jié)束采集分支中按照初始化的逆序退出相應(yīng)的數(shù)據(jù)采集函數(shù),配置要停止工作的通道編號(hào),調(diào)用函數(shù)關(guān)閉通道[8], 最后再關(guān)閉板卡。設(shè)計(jì)如圖5所示。
    為了不斷接收來自接收機(jī)的數(shù)據(jù),并對(duì)采集到的數(shù)據(jù)進(jìn)行解析和顯示,在程序編寫過程中采用了一個(gè)While循環(huán)[9],如圖6所示。
    對(duì)于數(shù)據(jù)解析部分[10],需要根據(jù)數(shù)據(jù)Label,對(duì)每個(gè)參數(shù)單獨(dú)地進(jìn)行封裝,然后在主程序中進(jìn)行調(diào)用。
    工控機(jī)與數(shù)據(jù)采集單元間的通信采用網(wǎng)絡(luò)TCP協(xié)議[11]。通信模塊程序框圖如圖7所示,上部分循環(huán)實(shí)現(xiàn)向數(shù)據(jù)采集系統(tǒng)發(fā)命令字的功能,下部分循環(huán)接收數(shù)據(jù)采集系統(tǒng)解析后的數(shù)據(jù),并顯示在工控機(jī)面板上。

3 數(shù)據(jù)緩沖方案
    除了系統(tǒng)時(shí)延之外,另一個(gè)影響系統(tǒng)性能的因素是數(shù)據(jù)處理與緩沖。
    在很多數(shù)據(jù)采集過程中,對(duì)數(shù)據(jù)的處理是一個(gè)順序過程,即對(duì)某一數(shù)據(jù)包依次進(jìn)行數(shù)據(jù)采集、數(shù)據(jù)解析、數(shù)據(jù)打包或存儲(chǔ)等過程后再進(jìn)入下一次的采集。這樣在數(shù)據(jù)及數(shù)據(jù)處理量較小的情況下是可行的,但當(dāng)數(shù)據(jù)達(dá)到一定的閾值,在每一步上耗費(fèi)的時(shí)間將顯著提高,這時(shí)就會(huì)出現(xiàn)后續(xù)處理流程長時(shí)間空閑等待前續(xù)流程,或者前續(xù)流程長時(shí)間空閑等待后續(xù)流程處理完畢以進(jìn)入下一個(gè)采集過程。這種處理方式容易帶來數(shù)據(jù)丟失或波形失真等問題,更難以保證實(shí)時(shí)性的要求。
    鑒于以上缺陷,本系統(tǒng)對(duì)數(shù)據(jù)采集流程進(jìn)行了優(yōu)化,改進(jìn)的數(shù)據(jù)采集流程如圖8所示。

    改進(jìn)后,各個(gè)流程既相對(duì)獨(dú)立,又能夠通過緩存實(shí)現(xiàn)模塊間的交互,使數(shù)據(jù)處理量在時(shí)間維中均勻分布。同時(shí)減少了系統(tǒng)在數(shù)據(jù)量很大卻存在進(jìn)程循環(huán)等待這一問題,極大地提高了數(shù)據(jù)采集系統(tǒng)的性能。
    對(duì)于數(shù)據(jù)采集系統(tǒng)內(nèi)部模塊間的交互需要考慮到進(jìn)程間同步、數(shù)據(jù)緩存等問題。對(duì)于數(shù)據(jù)采集模塊與數(shù)據(jù)解析處理模塊,數(shù)據(jù)采集系統(tǒng)采用了主從設(shè)計(jì)模式來實(shí)現(xiàn)。主/從設(shè)計(jì)模式主要用來解決兩個(gè)或多于兩個(gè)的同時(shí)發(fā)生的并且擁有不同運(yùn)行速率的線程間通信間題。其示意圖如圖9所示。

    數(shù)據(jù)采集模塊作為主循環(huán),數(shù)據(jù)處理模塊作為從循環(huán),它們引用相同的通知器句柄。從循環(huán)在程序運(yùn)行之初處于等待通知器狀態(tài),只有當(dāng)從循環(huán)收到主循環(huán)完成采集通知才開始進(jìn)行數(shù)據(jù)處理,處理完成后將進(jìn)入下一次等待通知狀態(tài)。
    數(shù)據(jù)解析處理模塊與網(wǎng)絡(luò)發(fā)送模塊間的交互采用生產(chǎn)者消費(fèi)者設(shè)計(jì)模式。與主從設(shè)計(jì)模式不同,生產(chǎn)者/消費(fèi)者設(shè)計(jì)模式采用了隊(duì)列的數(shù)據(jù)存儲(chǔ)方式(FIFO)。網(wǎng)絡(luò)發(fā)送模塊設(shè)置了一個(gè)數(shù)據(jù)存儲(chǔ)隊(duì)列,從數(shù)據(jù)解析處理模塊發(fā)送來的數(shù)據(jù)按照先進(jìn)先出的方式被存入這一隊(duì)列。程序運(yùn)行時(shí),數(shù)據(jù)解析處理模塊與網(wǎng)絡(luò)發(fā)送模塊同時(shí)運(yùn)行,前者只負(fù)責(zé)將數(shù)據(jù)處理后寫入到緩存隊(duì)列,后者只負(fù)責(zé)將隊(duì)列中的數(shù)據(jù)讀取出來并進(jìn)行下一步操作。
  這樣的處理過程緩和了在數(shù)據(jù)量過大時(shí)的種種矛盾,在實(shí)際處理過程中也達(dá)到了預(yù)期目標(biāo)。然而,仍有一些問題需要進(jìn)一步考慮,主從模式在數(shù)據(jù)采集速率大于數(shù)據(jù)處理速率的情況下,容易造成數(shù)據(jù)的丟失;生產(chǎn)者/消費(fèi)者模式能夠很好地克服上述問題,但是當(dāng)網(wǎng)絡(luò)發(fā)送速率低于數(shù)據(jù)處理速率時(shí),隊(duì)列將會(huì)溢出,在LabVIEW中數(shù)據(jù)發(fā)送將被強(qiáng)行停止。因此合理設(shè)計(jì)各模塊間的關(guān)系,匹配模塊間處理率是系統(tǒng)精益求精的一個(gè)設(shè)計(jì)方向。
4 實(shí)驗(yàn)
  為了測(cè)試對(duì)數(shù)據(jù)采集單元進(jìn)行優(yōu)化后的系統(tǒng)性能,除了常規(guī)的測(cè)試,還進(jìn)行了一次對(duì)比試驗(yàn):將信號(hào)源設(shè)定為正弦信號(hào),分別記錄下傳統(tǒng)自動(dòng)測(cè)試系統(tǒng)與本系統(tǒng)的接收數(shù)據(jù),將它們繪制在同一幅圖像中。實(shí)驗(yàn)結(jié)果顯示,與未經(jīng)優(yōu)化的系統(tǒng)相比,本系統(tǒng)能更好地進(jìn)行時(shí)間同步與數(shù)據(jù)對(duì)齊。同時(shí),采用LabVIEW RT圖形化開發(fā)環(huán)境,應(yīng)用模塊化設(shè)計(jì)方式,把流程中的各個(gè)部分模塊化,也有利于程序的修改和維護(hù)。本設(shè)計(jì)系統(tǒng)達(dá)到了優(yōu)化接收機(jī)自動(dòng)測(cè)試系統(tǒng)的預(yù)期目標(biāo)。
參考文獻(xiàn)
[1] 鄭敬華,劉晨,高超. 一種基于GPIB的自動(dòng)測(cè)試系統(tǒng)實(shí)現(xiàn)方法研究[J].信息通信,2012,21(01):90-92.
[2] 楊文,黃文濤.通用自動(dòng)測(cè)試系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2012,12(01):79-83.
[3] 莫畏.一種基于GPIB的自動(dòng)測(cè)試系統(tǒng)的研究與實(shí)現(xiàn)[J].電腦開發(fā)與應(yīng)用,2008,08(09):5-8.
[4] 何銀菊,夏夢(mèng)芝,黃運(yùn)生. 基于Labview的控制器自動(dòng)測(cè)試平臺(tái)的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2011,28(12):2928-2930.
[5] 歐陽三泰,周琴,譚梅.基于LabVIEW平臺(tái)和GPIB接口的在線測(cè)控系統(tǒng)[J].湖南工程學(xué)院學(xué)報(bào)(自然科學(xué)版),
2006,07(02):4-6.
[6] 李雯,肖凱. 應(yīng)用LabVIEW RT開發(fā)實(shí)時(shí)測(cè)試系統(tǒng)[J].微計(jì)算機(jī)信息,2003,06(08):42-60.
[7] 宜萬兵,秦紅磊, 路輝.基于LabView RT的實(shí)時(shí)采集系統(tǒng)[C].第十七屆全國測(cè)控計(jì)量?jī)x器儀表學(xué)術(shù)年會(huì),2007,
10(10):276-279.
[8] 趙梅,胡天亮,張倩,等.基于LabVIEW的AMT數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與研究[J]. 山東大學(xué)學(xué)報(bào)(工學(xué)版), 2011,25
(06):70-79.
[9] LOVELL T J, JEREMY P. Irish flight validation data gathering and evaluation capabilities[C]. 16th International Flight Inspection Symposium. Beijing, 2010,7:21-25.
[10] Zhang Yiyang, Zhou Shaolei. Signal decoding realization of air data dynamics test System[J]. Electronic Measurement and Instruments, 2007,20(54):156-159.
[11] 劉太陽, 王仕成, 劉志國.基于LabVIEW RT的數(shù)據(jù)實(shí)時(shí)傳輸系統(tǒng)[J]. 計(jì)算機(jī)測(cè)量與控制, 2008,23(02):270-
272.
[12] 郭躍云,鄭賓, 吳柯銳. 基于LabVIEW的429總線收發(fā)系統(tǒng)的設(shè)計(jì)[J]. 國外電子測(cè)量技術(shù),2009,28(6):36-39.

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