王偉越
(中海石油技術檢測有限公司,天津 300452)
目前超聲波檢測在現場實際檢驗工作中經常會出現判斷難度大波形復雜難以識別的波形,這種波形很容易造成漏檢或誤判,帶來不必要的損失或質量隱患。在遇到這種波形時,為了便于相對準確地對波形進行判斷,檢驗人員一般會采用輔助工具進行手工繪制1:1截面聲程圖的方式來輔助進行判定。在進行日益增多的管對接、管TKY節點的進行超聲波檢測時就非常不方便了,由于管相接形式的特殊性,即在不同的位置進行檢測時截面總是不同,截面的形狀總是隨著探頭入射的位置的曲率相變化,探頭的入射點及一次反射點都會隨之變化,這就導致在實際檢測過程中,每當發現復雜的回波反射就需要進行1:1的截面圖的繪制,必須采用專業的取形規取形并拓印到紙上再進行焊縫坡口、入射點、反射點的繪制,尤其是反射點找到后進行反射波的繪制時由于取形的誤差問題導致反射角度測量精度誤差較大,最終反應到反射點位置的確定上,影響反射點的確定和缺陷的判定方面,這極大增加了對現場檢測人員專業素質和繪圖功底的要求,而檢驗人員對每個疑似缺陷反射點都需要進行1:1的截面制圖,對檢測效率產生嚴重的影響;若不進行疑似缺陷反射點進行1:1的截面制圖,會大大增加檢測的誤判和缺陷的漏檢風險。所以在計算機和手持電腦普及率如此高的現代社會,編寫一款能夠對任意一點的疑似缺陷反射點部位進行1:1截面制圖的軟件是非常有必要的。它不僅可以使現場檢測人員的勞動強度降低,還能極大降低缺陷的漏檢率和誤判率。但對于編制這樣一款制圖軟件能夠把具有強大數學建模功能的Matlab和具有可視化界面設計的VB兩者結合起來,可以大大提高編寫的效率,又可以提高軟件的運行效率和錯誤率[1-3]。
VB作為一種可視化界面設計的軟件,首先制作軟件的輸入數據的界面(圖1)將現場檢驗過程中實際的變量參數及最高波的入射點的基礎數據全部輸入程序,然后使程序調用Matlab的數學建模功能在進行計算。

圖1 輸入數據的界面
由于在Matlab軟件中使用for函數的執行效率較低,并且在VB軟件中就能夠計算出Matlab軟件需要的大量基礎數據,并能夠在輸入變量參數的同時同步輸出,可以適應軟件的運算速度的要求。所以將需要計算的大量數據在VB中進行計算,并將計算的基礎數據結果作為數組保存到result.txt文本文件中。由result.txt文本文件作為該數組的載體與matlab進行連接輸入[4-5]。


Matlab的m文件中的函數載入在VB中運算出的數組載入,然后進行圖像處理保存,并將在VB中進行加載和進行1:1的打印處理。M文件:


對matlab的m文件編譯成dll文件,并進行打包,使得文件能夠在沒有安裝matlab的計算機中運行。打包文件一定要包含MCRInstaller.msi,并在未安裝matlab的計算機上安裝。將VB與matlab的dll編譯打包后,運行結果如圖2。

圖2 運行結果展示
通過matlab與VB的混合編程,實現了計算機的實時畫圖功能,只需要對簡單的輸入幾個數據就能夠快速準確的畫出反射波位置的截面圖像,并輸出打印A4大小的1:1截面圖,可以直接作為報告的缺陷附圖,且誤差和檢驗人員現場采用取形規繪制的1:1截面圖的誤差幾乎可以完全忽略,能夠對檢驗人員的檢驗經驗和繪圖專業素養要求大大降低。對大型的鋼結構等TKY節點的超聲檢驗工作效率可以有較大的提升,該函數建??梢约傻絇AUT設備中可以使檢測結果更準確檢測效率達到數量級的提升。