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