?
The Challenge:
??? 在飛行中測(cè)量固定翼飛機(jī)推進(jìn)裝置的壓力。
?
The Solution:
??? 利用嵌入式張力測(cè)量裝置、GPIB接口的自定義調(diào)理與數(shù)字化電路、以及LabVIEW控制的PCMCIA-GPIB板卡,構(gòu)建一個(gè)基于PC的系統(tǒng)。
?
??? "為解決這一問題,我們使用了隊(duì)列,這是LabVIEW的一個(gè)新的特性,您可以利用它在RAM中存儲(chǔ)大量的數(shù)據(jù),而不必使用占用大量存儲(chǔ)空間的數(shù)組或字符串操作。為解決第二個(gè)問題,我們使用了LabVIEW的另一個(gè)特性——多線程。"
?
??? ??怂?/a>軟件有限公司與傳感器開發(fā)有限公司,共同開發(fā)了一項(xiàng)在飛行中測(cè)量飛機(jī)推進(jìn)裝置所承受壓力的應(yīng)用。傳感器開發(fā)有限公司開發(fā)了定制的數(shù)據(jù)采集硬件——該硬件測(cè)量螺旋推進(jìn)裝置所承受的壓力,并通過GPIB 將數(shù)據(jù)回傳至便攜式電腦。然后,福克斯軟件有限公司利用LabVIEW進(jìn)行了軟件開發(fā)——該軟件對(duì)硬件進(jìn)行配置,利用一個(gè)PCMCIA-GPIB 板卡讀入和解碼GPIB 采樣點(diǎn),并使用后續(xù)處理,以ASCII 或DaDisp 兼容的格式導(dǎo)出數(shù)據(jù)。
?
硬件設(shè)計(jì)
?
??? 由于該項(xiàng)測(cè)試的特殊性,傳感器開發(fā)有限公司從對(duì)來自推進(jìn)裝置上所附著的32 個(gè)張力測(cè)量裝置的數(shù)據(jù)進(jìn)行量化處理的螺旋電路裝配開始,設(shè)計(jì)并構(gòu)建了自定義的信號(hào)調(diào)理和數(shù)據(jù)采集硬件。由于螺旋系統(tǒng)以“管線”的方式傳輸通過飛機(jī)引擎內(nèi)部的現(xiàn)有除冰滑環(huán),因此不存在遙感勘測(cè)的需求。所以,在許多不同類型的飛機(jī)上快速安裝該系統(tǒng)將非常方便。來自螺旋電路的數(shù)據(jù)通過滑環(huán)傳遞至固定電路,該固定電路將這些數(shù)據(jù)轉(zhuǎn)換為GPIB 格式并將其傳送至便攜式電腦。該便攜式電腦運(yùn)行LabVIEW,并采用PCMCIA-GPIB 板卡讀入數(shù)據(jù)流。為使數(shù)據(jù)傳輸盡可能有效,LabVIEW 程序直接接收來自14- 位模數(shù)轉(zhuǎn)換器的二進(jìn)制數(shù)值,并在其后將數(shù)據(jù)轉(zhuǎn)換為工程單位。
?
??? 由于這是飛行中測(cè)試,因此該團(tuán)隊(duì)需要在測(cè)試設(shè)計(jì)中牢記導(dǎo)航安全。我們提供了一個(gè)附著于飛行操縱桿的簡(jiǎn)單的遙控吊件,使得導(dǎo)航員可以對(duì)測(cè)試序列進(jìn)行控制。通過該遙控吊件,導(dǎo)航員可以通過視線外的便攜式電腦顯示器安全地啟動(dòng)和停止測(cè)試。該吊件還帶有一系列LED以便為導(dǎo)航員指示測(cè)試狀態(tài)以及錯(cuò)誤狀態(tài)。該遙控吊件與一個(gè)DAQ 板卡-DIO24 板卡相接口。
?
軟件設(shè)計(jì)挑戰(zhàn)
?
??? 在進(jìn)行軟件設(shè)計(jì)時(shí),??怂管浖久媾R的最大挑戰(zhàn)便是GPIB 總線的吞吐速率??偟膩砜?,共有41 條通道,每通道的數(shù)據(jù)采樣率為6000 S/s。我們還在每次數(shù)據(jù)掃描之間使用了一個(gè)2- 字節(jié)的間隔符。每個(gè)采樣點(diǎn)包含2 字節(jié)的數(shù)據(jù),這就意味著我們需要以504kB/s 的速率通過GPIB 線路讀入數(shù)據(jù)。硬件使用32 KB 輸出緩存,這需要軟件以高于20Hz 的速率讀取硬件。我們發(fā)現(xiàn),將數(shù)據(jù)以數(shù)據(jù)流的方式直接導(dǎo)入便攜式電腦的硬盤,會(huì)導(dǎo)致兩個(gè)問題:
- 程序運(yùn)行過慢
- 輸出緩存溢出,并伴有數(shù)據(jù)丟失
??? 對(duì)于第一個(gè)問題,我們利用了便攜式電腦上的192 MB RAM ——將所有數(shù)據(jù)存儲(chǔ)在RAM 中直至測(cè)試完成,然后將其寫入硬盤。但是,在內(nèi)存中移動(dòng)(伴有字符串連接和數(shù)組創(chuàng)建等操作)超過30 MB 的數(shù)據(jù)(來自一個(gè)60 秒長(zhǎng)的測(cè)試)會(huì)嚴(yán)重降低程序的運(yùn)行速度。為了杜絕這一問題,我們采用了隊(duì)列,這是LabVIEW 的一個(gè)新特性,您可以利用它在RAM 中存儲(chǔ)大量的數(shù)據(jù),而不必使用占用大量存儲(chǔ)空間的數(shù)組或字符串操作。
?
??? 為解決第二個(gè)問題,我們利用LabVIEW的另一個(gè)特性——多線程。通過在其自身線程上運(yùn)行GPIB 硬件調(diào)用,我們實(shí)現(xiàn)了獲取高速所有數(shù)據(jù)而不造成硬件緩存的溢出。數(shù)據(jù)文件管理是我們面臨的另一個(gè)挑戰(zhàn)。將原始數(shù)據(jù)字節(jié)轉(zhuǎn)換為ASCII 或DaDisp 格式,要求我們將文件分解為若干個(gè)小段。將整個(gè)30 MB 文件讀入存儲(chǔ)器并進(jìn)行轉(zhuǎn)換,需要奔騰II 266 MHz PC 運(yùn)行約五分鐘。然而,將該文件分解成若干個(gè)小段,其轉(zhuǎn)化時(shí)間可以減少至20 秒左右。
?
結(jié)果
?
??? 系統(tǒng)測(cè)試非常成功。LabVIEW 的特性對(duì)于該項(xiàng)應(yīng)用提供了極大的幫助。利用多線程和隊(duì)列,我們快速并有效地從GPIB 硬件讀入數(shù)據(jù)。利用NI PC 板卡,我們?cè)谝慌_(tái)安放于導(dǎo)航員座位后面的便攜式電腦上實(shí)現(xiàn)該應(yīng)用。PCMCIA-GPIB 與DAQ板卡-DIO24 板卡完美協(xié)同工作。
?
?