基于某型數(shù)據存儲壓力儀的圖形用戶界面開發(fā)
0 引 言
爆炸沖擊波超壓測試儀是進行各種爆炸試驗必備的測試儀器,可重構數(shù)據存儲壓力儀是一種新型的爆炸沖擊波超壓測試儀器。該儀器不同于傳統(tǒng)的測試系統(tǒng),它不需要引線電纜,而是將壓電傳感器、適配放大器、A/D變換器、存儲器、控制電路、接口電路及電池集合在一起,組成一個獨立的測試系統(tǒng)。它可以耐受較高的沖擊加速度、較高的環(huán)境溫度及環(huán)境壓力;能直接放入被測體內,在被測體工作過程中把信號記錄下來,然后取出裝置,用計算機讀出和處理數(shù)據。該壓力儀具有體積小、功耗低、精度高等特點。正是由于可重構數(shù)據存儲壓力儀的突出特點,其被廣泛應用于爆炸威力試驗。但是該壓力儀自帶的數(shù)據處理軟件功能卻十分有限。該軟件只能對所采集到的超壓數(shù)據逐一進行波形顯示和簡單讀取,不能滿足工程實際中對測試數(shù)據進行深入分析的需要。因此,需要對該軟件進行再次開發(fā),使其能對所采集的數(shù)據能夠快速讀取并作進一步分析處理。MATLAB是一套高性能數(shù)值計算和可視化軟件,它集數(shù)值分析、矩陣運算、信號處理和圖形顯示于一體,作為一種開發(fā)性程序設計軟件在系統(tǒng)建模和仿真、科學和工程繪圖以及應用程序開發(fā)等方面有著廣泛應用。在圖形用戶界面設計方面,它可以使用M文件來創(chuàng)建圖形用戶界面(GUl),同時它還提供了一個方便高效的用戶界面開發(fā)環(huán)境(GUIDE),將所有GUI所支持的用戶控件都集成起來,并提供界面外觀、屬性和行為響應方法的設置方法。使用GUIDE創(chuàng)建GUI對象執(zhí)行效率高,可以交互地進行組件布局,還能生成保存和發(fā)布GUI的對應文件。由于MATLAB在界面開發(fā)方面有著獨特的優(yōu)勢,本文用MATLAB語言對爆炸沖擊波超壓測試儀數(shù)據處理軟件進行二次開發(fā)。
1 數(shù)據讀取程序設計
對于大多數(shù)用戶,MATLAB函數(shù)load和save為裝載和存儲數(shù)據提供了足夠的工具。利用以擴展名為.mat結尾的文件名,load和save假定數(shù)據是以與平臺無關的二進制格式保存,或者用稱之為flat的ASCII文件格式保存。當文件格式非flat ASCII或.mat時,MATLAB提供了基于C語言的低級文件I/O函數(shù)。用這些低級文件I/O函數(shù),MATIAB可以讀寫任意文件格式。
該壓力儀的數(shù)據處理軟件默認采集數(shù)據的存儲格式為.dpr格式,此數(shù)據格式并不是MATLAB可以直接讀取的數(shù)據格式,因此需要用MATLAB的低級文件I/O函數(shù)對采集數(shù)據進行讀取。通常情況下,在使用MATLAB對文件進行讀取時,需要知道所讀取文件數(shù)據的長度和存儲精度,而.dpr格式測試數(shù)據的存儲狀態(tài)事先并不清楚,所以需要用不同精度格式對此文件進行嘗試性判讀。通過判讀可知:此文件需要分別用‘*char’、‘long’和‘short’三種格式進行讀取,其中用‘short’格式讀取的數(shù)據是采集到的4 194 304個超壓信號數(shù)據。圖1為.dpr文件的讀取流程。其中,P為壓力儀采集到的超壓數(shù)據,T為超壓數(shù)據所對應的采集時刻。
圖2為用該程序讀取的超壓數(shù)據和用壓力儀自帶軟件讀取的超壓數(shù)據對比圖。其中,上部分為用壓力儀自帶程序讀出的超壓數(shù)據,下部分為用MATLAB編程讀取到的超壓數(shù)據??梢钥吹接肕ATLAB程序讀取到的超壓數(shù)據和壓力儀自帶軟件讀取的超壓數(shù)據完全一致,這樣就町以對采集到的超壓數(shù)據進行進一步分析處理。
2 圖形用戶界面開發(fā)
圖形用戶界面(graphical user interfaces,GUI)是由窗口、光標、按鍵、菜單、文字說明等對象(Objects)構成的一個用戶界面,用戶通過一定的方法選擇、激活這些圖形對象,以實現(xiàn)計算、繪圖等功能。如果所需要的數(shù)據分析程序比較單一,那么一般不會考慮GUI的制作。但是如果需要向別人提供應用程序,進行某種演示,制作一個供反復使用且操作簡單的專用工具,那么圖形用戶界面就是最好的選擇之一。
評論