爆炸沖擊波超壓測試儀是進(jìn)行各種爆炸試驗必備的測試儀器,可重構(gòu)數(shù)據(jù)存儲壓力儀是一種新型的爆炸沖擊波超壓測試儀器。該儀器不同于傳統(tǒng)的測試系統(tǒng),它不需要引線電纜,而是將壓電傳感器、適配放大器、A/D變換器、存儲器、控制電路、接口電路及電池集合在一起,組成一個獨立的測試系統(tǒng)。它可以耐受較高的沖擊加速度、較高的環(huán)境溫度及環(huán)境壓力;能直接放入被測體內(nèi),在被測體工作過程中把信號記錄下來,然后取出裝置,用計算機讀出和處理數(shù)據(jù)。該壓力儀具有體積小、功耗低、精度高等特點。正是由于可重構(gòu)數(shù)據(jù)存儲壓力儀的突出特點,其被廣泛應(yīng)用于爆炸威力試驗。但是該壓力儀自帶的數(shù)據(jù)處理軟件功能卻十分有限。該軟件只能對所采集到的超壓數(shù)據(jù)逐一進(jìn)行波形顯示和簡單讀取,不能滿足工程實際中對測試數(shù)據(jù)進(jìn)行深入分析的需要。因此,需要對該軟件進(jìn)行再次開發(fā),使其能對所采集的數(shù)據(jù)能夠快速讀取并作進(jìn)一步分析處理。MATLAB是一套高性能數(shù)值計算和可視化軟件,它集數(shù)值分析、矩陣運算、信號處理和圖形顯示于一體,作為一種開發(fā)性程序設(shè)計軟件在系統(tǒng)建模和仿真、科學(xué)和工程繪圖以及應(yīng)用程序開發(fā)等方面有著廣泛應(yīng)用。在圖形用戶界面設(shè)計方面,它可以使用M文件來創(chuàng)建圖形用戶界面(GUl),同時它還提供了一個方便高效的用戶界面開發(fā)環(huán)境(GUIDE),將所有GUI所支持的用戶控件都集成起來,并提供界面外觀、屬性和行為響應(yīng)方法的設(shè)置方法。使用GUIDE創(chuàng)建GUI對象執(zhí)行效率高,可以交互地進(jìn)行組件布局,還能生成保存和發(fā)布GUI的對應(yīng)文件。由于MATLAB在界面開發(fā)方面有著獨特的優(yōu)勢,本文用MATLAB語言對爆炸沖擊波超壓測試儀數(shù)據(jù)處理軟件進(jìn)行二次開發(fā)。
1 數(shù)據(jù)讀取程序設(shè)計
對于大多數(shù)用戶,MATLAB函數(shù)load和save為裝載和存儲數(shù)據(jù)提供了足夠的工具。利用以擴(kuò)展名為.mat結(jié)尾的文件名,load和save假定數(shù)據(jù)是以與平臺無關(guān)的二進(jìn)制格式保存,或者用稱之為flat的ASCII文件格式保存。當(dāng)文件格式非flat ASCII或.mat時,MATLAB提供了基于C語言的低級文件I/O函數(shù)。用這些低級文件I/O函數(shù),MATIAB可以讀寫任意文件格式。
該壓力儀的數(shù)據(jù)處理軟件默認(rèn)采集數(shù)據(jù)的存儲格式為.dpr格式,此數(shù)據(jù)格式并不是MATLAB可以直接讀取的數(shù)據(jù)格式,因此需要用MATLAB的低級文件I/O函數(shù)對采集數(shù)據(jù)進(jìn)行讀取。通常情況下,在使用MATLAB對文件進(jìn)行讀取時,需要知道所讀取文件數(shù)據(jù)的長度和存儲精度,而.dpr格式測試數(shù)據(jù)的存儲狀態(tài)事先并不清楚,所以需要用不同精度格式對此文件進(jìn)行嘗試性判讀。通過判讀可知:此文件需要分別用‘*char’、‘long’和‘short’三種格式進(jìn)行讀取,其中用‘short’格式讀取的數(shù)據(jù)是采集到的4 194 304個超壓信號數(shù)據(jù)。圖1為.dpr文件的讀取流程。其中,P為壓力儀采集到的超壓數(shù)據(jù),T為超壓數(shù)據(jù)所對應(yīng)的采集時刻。
圖2為用該程序讀取的超壓數(shù)據(jù)和用壓力儀自帶軟件讀取的超壓數(shù)據(jù)對比圖。其中,上部分為用壓力儀自帶程序讀出的超壓數(shù)據(jù),下部分為用MATLAB編程讀取到的超壓數(shù)據(jù)??梢钥吹接肕ATLAB程序讀取到的超壓數(shù)據(jù)和壓力儀自帶軟件讀取的超壓數(shù)據(jù)完全一致,這樣就町以對采集到的超壓數(shù)據(jù)進(jìn)行進(jìn)一步分析處理。
2 圖形用戶界面開發(fā)
圖形用戶界面(graphical user interfaces,GUI)是由窗口、光標(biāo)、按鍵、菜單、文字說明等對象(Objects)構(gòu)成的一個用戶界面,用戶通過一定的方法選擇、激活這些圖形對象,以實現(xiàn)計算、繪圖等功能。如果所需要的數(shù)據(jù)分析程序比較單一,那么一般不會考慮GUI的制作。但是如果需要向別人提供應(yīng)用程序,進(jìn)行某種演示,制作一個供反復(fù)使用且操作簡單的專用工具,那么圖形用戶界面就是最好的選擇之一。
由于超壓測試工作需要一個使用方便、快速、直觀而且操作簡單的程序,所以本文為超壓測試儀的.dpr文件讀取程序設(shè)計了相應(yīng)的圖形用戶界而。在MATIAB下建立一個圖形窗口由命令figure完成,每執(zhí)行一次figure命令就產(chǎn)生一個圖形窗口,這些窗口都被自動分配一個句柄。在圖形窗口中有一系列對象,每一個對象有一個句柄和它相關(guān),每一個對象可以設(shè)置和改變屬性。在圖形窗口中,坐標(biāo)軸和用戶界面等對象足圖形窗口的子對象,而線條、文本、表面和圖像等是坐標(biāo)軸的子對象。每個父對象中可以包含一個或多個子對象,所有創(chuàng)建的對象當(dāng)父對象小存在時,都會首先自動創(chuàng)建它們。圖3為所設(shè)計的超壓測試儀數(shù)據(jù)分析程序界面。使用時,只需用輸入傳感器編號、傳感器相對于爆炸裝置的距離以及測試數(shù)據(jù)存放的地址,程序可以一次性讀取試驗中所有壓力儀的測試數(shù)據(jù),并且能夠自動判讀各個距離卜所測超壓的峰值、計算沖擊波的正壓作用時間、沖量以及沖擊波傳播的平均速度。這樣就得到了爆炸沖擊波的基本參數(shù),從而可以進(jìn)一步對爆炸沖擊波進(jìn)行威力評估。
3 應(yīng)用實例
為了檢驗該程序的實用性,在某次自由空間的TNT靜爆試驗中,對該程序進(jìn)行了應(yīng)用。試驗工況:TNT的質(zhì)量為35kg,爆高為1.2 m,起爆方式為兩端起爆,16個可重構(gòu)數(shù)據(jù)存儲壓力儀分兩路分別布置在距爆點投影中心5 m、6 m、8m、10 m、12 m、14 m、17 m、20 m的位置處。
用雷管引爆TNT炸藥后,用可重構(gòu)數(shù)據(jù)存儲壓力儀采集TNT的爆炸沖擊波,信號采集完成后用壓力儀自帶軟件對壓力儀存儲的數(shù)據(jù)進(jìn)行存取,然后用開發(fā)程序?qū)λ杉降臄?shù)據(jù)進(jìn)行分析處理,從而得到此次爆炸產(chǎn)生的沖擊波的主要威力評估參數(shù)。表1列出了利用該程序計算得出的爆炸沖擊波超壓的主要參數(shù),圖4顯示了壓力儀在不同距離處采集到的爆炸沖擊波的波形圖,圖5和圖6分別為超壓峰值、沖擊波平均傳播速度、正壓作用時間以及沖量隨距離的變化曲線。
從以上圖表中對TNT爆炸沖擊波的測量數(shù)據(jù)有一個清楚直觀的了解,并且由圖6可以看到壓力儀在10 m處所測數(shù)據(jù)不是有效數(shù)據(jù),因為該點測得的正壓作用時間和沖量都出現(xiàn)了異常。
4 結(jié)束語
(1)通過對壓力儀存儲數(shù)據(jù)格式的分析,用MATLAB讀取到壓力儀的測試數(shù)據(jù),并根據(jù)實際測試需求,開發(fā)了基于圖形用戶界面的數(shù)據(jù)讀取分析程序,該程序具有良好的人機交互性,可以簡單、方便地對所測數(shù)據(jù)進(jìn)行分析處理。
(2)經(jīng)過實際應(yīng)用,該程序可以快速、準(zhǔn)確地判讀出一次爆炸中所有測試點的威力評估參數(shù),省掉了人工判讀時的繁雜程序和人為誤差,節(jié)約了時間,并且可以直觀判斷出所測數(shù)據(jù)是否有效,有利于對爆炸威力進(jìn)行準(zhǔn)確評估。
(3)此程序基于MATLAB7.0中的GUIDE模板編制,具有很好的可擴(kuò)展性,可以在今后的應(yīng)用中根據(jù)不同需求對該程序的功能做進(jìn)一步拓展,比如在進(jìn)行數(shù)據(jù)讀取之前進(jìn)行數(shù)字濾波等。