王伟越
(中海石油技术检测有限公司,天津 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节点的超声检验工作效率可以有较大的提升,该函数建模可以集成到PAUT设备中可以使检测结果更准确检测效率达到数量级的提升。