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

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

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

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

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

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

 

 

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

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

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

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

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