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