论文部分内容阅读
[摘 要]画图时超声检验判断反射波是否是缺陷的最好方法,但绘制TKY节点手工绘制难度大时间长,若能够采用计算机画图将大大提高工作效率,降低对人员的要求,可以大大提高生产效率节约成本。
[关键词]TKY 画图 超声检验
中图分类号:O426 文献标识码:B 文章编号:1009-914X(2014)15-0350-01
1 引言
目前超声波检测在检验工作中经常会出现一些难以判断的波形,为了能够准确的对反射回波进行判读,一般均采用手工绘制1:1截面声程图来进行确认。当对普通的平叛对接、管对接、TKY板对接等绘制一组截面图即可,可以根据实时的入射点和声程在图上找出声波的反射点,但当对在应用日益增多的TKY管节点进行检验时就不是那么方便了。因TKY管节点的检验随检验的点的变化截面也在不断变化,这大大增加了对检验人员专业素质的要求,而检验人员对每个疑似缺陷反射點进行不断画图,严重影响了检验的效率;若不对疑似缺陷反射点进行画图,会增加对缺陷误判和遗漏的风险。所以在计算机普及率如此高的今天,编写一款能够对疑似缺陷反射点进行按比例进行画图的软件是非常有必要的。它不仅可以使检验人员的劳动强度降低,还能大大提高缺陷的检出率。但对于编制这样一款软件把具有强大数学建模功能的Matlab和具有可视化界面设计的VB两者结合起来,可以大大提高编写的效率,又可以提高软件的效率。
2 VB的应用
VB作为一种可视化界面设计的软件,首先制作软件的输入数据的界面(图1)将检验过程中最高波的点的数据全部输入程序,然后使程序进行计算。
由于在matlab中使用for函数的执行效率很低,并且在VB中能够计算出Matlab需要的大量数据,并能够满足软件的运算速度的要求。所以将需要计算的大量数据在VB中进行计算,并将计算结果作为数组保存到result.txt文本文件中。由result.txt文本文件作为该数组的载体与matlab进行连接输入。
If Dir(App.Path & "\result.txt") <> "" Then
Kill App.Path & "\result.txt"
End If
Open App.Path & "\result.txt" For Output As #2
……
For i = 0 To 247
Print #2, result (i, 0)
Next
Close #2
3 Matlab的应用
Matlab的m文件中的函数载入在VB中运算出的数组载入,然后进行图像处理保存,并将在VB中进行加载和进行1:1的打印处理。M文件:
function imagesc()
A=load('result.txt');
X=A(1:31);
Y=A(32:62);
……
figure('color','white')
plot(X,Y,'k','LineWidth',1.5)
hold on
line([A(1:1) A(63:63)],[A(32:32) A(94:94)])
plot(XN,YN,'k','LineWidth',1.5)
……
axis equal
axis off
set(gca,'XTick',[]);
set(gca,'YTick',[]);
set(gca,'position',[0 0 1 1])
saveas(gcf,'sct.jpg');
end
4 编译与整合
对matlab的m文件编译成dll文件,并进行打包,使得文件能够在没有安装matlab的计算机中运行。打包文件一定要包含MCRInstaller.msi,并在未安装matlab的计算机上安装。将VB与matlab的dll编译打包后,运行结果如图2。
5 结论
通过matlab与VB的混合编程,实现了计算机的实时画图功能,只需要对简单的输入几个数据就能够快速准确的画出反射波的位置,且误差比手工绘制要小很多,能够对检验人员的检验经验和专业素养要求相对降低。对大型的钢结构等TKY节点的超声检验工作效率可以有较大的提升。(见图2)
参考文献
[1] 基于Matlab与VB混合编程方法.北京:计算机与数字工程,2013.
[关键词]TKY 画图 超声检验
中图分类号:O426 文献标识码:B 文章编号:1009-914X(2014)15-0350-01
1 引言
目前超声波检测在检验工作中经常会出现一些难以判断的波形,为了能够准确的对反射回波进行判读,一般均采用手工绘制1:1截面声程图来进行确认。当对普通的平叛对接、管对接、TKY板对接等绘制一组截面图即可,可以根据实时的入射点和声程在图上找出声波的反射点,但当对在应用日益增多的TKY管节点进行检验时就不是那么方便了。因TKY管节点的检验随检验的点的变化截面也在不断变化,这大大增加了对检验人员专业素质的要求,而检验人员对每个疑似缺陷反射點进行不断画图,严重影响了检验的效率;若不对疑似缺陷反射点进行画图,会增加对缺陷误判和遗漏的风险。所以在计算机普及率如此高的今天,编写一款能够对疑似缺陷反射点进行按比例进行画图的软件是非常有必要的。它不仅可以使检验人员的劳动强度降低,还能大大提高缺陷的检出率。但对于编制这样一款软件把具有强大数学建模功能的Matlab和具有可视化界面设计的VB两者结合起来,可以大大提高编写的效率,又可以提高软件的效率。
2 VB的应用
VB作为一种可视化界面设计的软件,首先制作软件的输入数据的界面(图1)将检验过程中最高波的点的数据全部输入程序,然后使程序进行计算。
由于在matlab中使用for函数的执行效率很低,并且在VB中能够计算出Matlab需要的大量数据,并能够满足软件的运算速度的要求。所以将需要计算的大量数据在VB中进行计算,并将计算结果作为数组保存到result.txt文本文件中。由result.txt文本文件作为该数组的载体与matlab进行连接输入。
If Dir(App.Path & "\result.txt") <> "" Then
Kill App.Path & "\result.txt"
End If
Open App.Path & "\result.txt" For Output As #2
……
For i = 0 To 247
Print #2, result (i, 0)
Next
Close #2
3 Matlab的应用
Matlab的m文件中的函数载入在VB中运算出的数组载入,然后进行图像处理保存,并将在VB中进行加载和进行1:1的打印处理。M文件:
function imagesc()
A=load('result.txt');
X=A(1:31);
Y=A(32:62);
……
figure('color','white')
plot(X,Y,'k','LineWidth',1.5)
hold on
line([A(1:1) A(63:63)],[A(32:32) A(94:94)])
plot(XN,YN,'k','LineWidth',1.5)
……
axis equal
axis off
set(gca,'XTick',[]);
set(gca,'YTick',[]);
set(gca,'position',[0 0 1 1])
saveas(gcf,'sct.jpg');
end
4 编译与整合
对matlab的m文件编译成dll文件,并进行打包,使得文件能够在没有安装matlab的计算机中运行。打包文件一定要包含MCRInstaller.msi,并在未安装matlab的计算机上安装。将VB与matlab的dll编译打包后,运行结果如图2。
5 结论
通过matlab与VB的混合编程,实现了计算机的实时画图功能,只需要对简单的输入几个数据就能够快速准确的画出反射波的位置,且误差比手工绘制要小很多,能够对检验人员的检验经验和专业素养要求相对降低。对大型的钢结构等TKY节点的超声检验工作效率可以有较大的提升。(见图2)
参考文献
[1] 基于Matlab与VB混合编程方法.北京:计算机与数字工程,2013.