百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

基于LabVIEW的多轮对超声探伤系统设计

bigegpt 2025-03-03 17:31 5 浏览

摘要:针对目前车轮检测方法大多以传统手持式人工探伤仪为主的现状,本文在国内某企业现役多通道超声探伤仪硬件结构的基础上设计了一套多轮对超声探伤系统。系统基于LabVIEW平台,可以实现系统自检、用户信息管理、数据接收、数据分析、显示结果、数据存储、自动判伤、输出检测报告等功能。系统采用可变分辨率的数据处理方法,保证了检测过程的实时性及结果的准确性。

0引言

车轮是列车的主要受力部件,其几乎承担了列车的全部重量并完成在钢轨上的转动。车轮的擦伤、剥离、不圆度、非正常磨耗加剧以及轮辋周向裂损故障会直接影响行车安全[1]。目前的探伤手段主要依靠检测人员的手动探伤[2],劳动强度大,探伤效率低,而且探伤依赖检测人员的经验,准确性和可靠性难以保证。因此列车车轮无损检测受到了高度重视。

目前常用的列车车轮检测技术可以分为电涡流探伤(EC)、磁粉探伤(MT)、超声探伤(Ultrasonic Test,UT)等[3]。超声探伤具有适用范围广、成本较低、灵敏度相对较高、便于缺陷的定位和定量分析等优势,而其中的多探头多通道组合扫查技术可以根据各通道的探头类型对采集数据进行综合处理来判定车轮内部的伤损情况[4]。可用于大型的自动化和信息化程度较高的车轮探伤系统。

基于上述背景,本文根据国内某企业现役多通道超声探伤仪硬件结构设计一套多轮对超声自动探伤系统。主要介绍了自动探伤系统的总体方案,包括总体架构、采集单元、探头阵列及上位机软件系统,阐述了重要环节的设计方案,并对所做工作进行总结。

1系统总体方案概述

1.1总体架构

多轮对超声自动探伤系统通过多通道组合的超声波探头,分别由上位机控制独立通道进行超声激励和信号采集,最终根据各通道的探头类型对采集数据进行综合处理并分析被测车轮的健康状态。采集单元以及控制显示平台为系统的核心,如图1所示。每3个采集单元为一组,通过交换机将采集数据传送至无线模块,再通过无线传输方式将数据传送至路由器,并最终送入上位机进行处理并显示结果。探伤数据通过TCP协议(传输控制协议)传输。而上位机的控制指令通过UDP协议(用户数据报协议),以相反的传输路径送至各个采集单元,以控制仪器工作。

1.2采集单元

采集单元以UT控制器[5]为核心,将探头阵列、水路装置、编码器以及接口控制器等集成在一起,其结构如图2所示。UT控制器通过超声激励与采集电路控制探头,产生激励并采集超声波信号,接口控制器控制水路装置的打开和关闭以及采集编码器数据,最终所有数据通过UT控制器以无线传输方式传送至上位机。

1.3探头阵列

探头阵列由编码器和多个探头构成。探头包括2个单晶大角度探头和6个双晶直探头,分别用于检测踏面及轮缘部分的缺陷和轮辋部分的缺陷。系统根据多个通道超声探头的连续扫查,可以发现某一位置的连续缺陷;根据不同类型的超声探头,可以从多个角度对同一缺陷扫查,获取该缺陷的大致形状。根据多通道多探头的组合扫查方式,综合各个探头的检测数据,可以对缺陷进行一定程度上的定量表示和定性分析。同时探头阵列中加入编码器用于测量探头阵列在检测过程中的位置。

2探伤系统软件设计

多轮对超声自动探伤软件系统是整个探伤检测系统的核心。系统的软件设计主要完成上位机与采集单元之间数据的高速传输,采集数据的快速处理,处理结果的实时显示、过限报警,以及系统自检、用户信息管理、检测过程记录、数据存储、输出检测报告等综合功能。系统工作流程如图3所示。

2.1软件运行及开发环境

软件采用美国国家仪器有限公司(NI)的LabVIEW软件作为开发工具。LabVIEW的应用范围广泛,支持SQL、Access等数据库编程及多种格式的报表生成;LabVIEW还提供了丰富的数据采集、分析及存储的库函数(控件),其基于图形化的编程方式使得编程过程简洁方便。

系统的运行环境为基于X86的Win7及以上操作系统的控制主机,CPU要求双核心以上,显卡要求为独立显卡以上。

2.2系统功能模块设计

多轮对超声自动探伤系统主要功能模块如图4所示。包括人机交互模块、数据处理模块、可视化模块以及数据存储模块。

人机交互模块中用户信息按普通操作人员及工程师分别设置相应的权限,根据用户名的不同进行区分,登录时根据相应权限进入不同的操作界面。参数设置部分采用一键设置功能省去复杂的配置过程,使操作更加人性化。

数据处理模块包括连接通信、数据分析及成像3个部分。系统中上位机与采集单元设置命令制定了详细规范的通信协议,保证了通信过程的可靠性,所以超声检测单元命令设置的通信协议的可靠性可以在一定程度上有所降低,故本系统中采用UDP协议作为超声检测单元命令设置的传输层协议,而探伤数据的传输通过TCP协议实现。TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,其端到端的传输方式可以保证通信过程中的数据不丢失[6]。建立连接后每个采集单元会以最大1.5 Mb/s的速度将数据传输至软件系统中供后期处理。LabVIEW中提供了很多关于TCP和UDP连接的库函数,可以方便地实现数据的通信。采集与处理分别开辟不同的循环[7](LabVIEW中多线程体现在多循环),它们之间通过队列实现数据传输。采集到的数据经过解析提取出探伤数据,以数组的形式放入队列,方便成像算法处理。成像部分是整个系统功能的核心部分,分为实时显示的成像算法以及回放的成像算法,两种算法具有相似之处,都是根据每次接收到的探伤数据,先判断探头类型,对双晶图4软件系统功能框图

直探头和单晶大角度探头分别选择相应处理方法,接着根据编码器信息计算对应在车轮上的位置,最后改变相应位置的色值形成图像。

可视化模块包括过程记录回放、B扫显示及检测数据回放。B扫显示指的是在探伤过程中对数据的实时显示。实时显示的目的在于:监测探伤设备是否处于正常工作状态;初步判断车轮的伤损情况。由于是简单初步的诊断,所以采用将采集的数据(即声压大小)与设定的阈值相比较的方法,小于阈值(无伤)用灰色表示,大于阈值(有伤)则用红色表示,从而对伤损情况进行标识。这种方式更加直观地将有伤的部分与无伤的部分区分开来。而检测数据的回放则是为了对数据进行分析,所以采用灰度函数,对于每一个声压值都有一个相应的色值来对应,形成图像。图像的颜色可以根据阈值的变化而变化,根据阈值及相应的颜色对伤损情况做出最终判断。

数据存储模块包括数据存储及历史查询功能。LabVIEW提供了快速测量数据的存储解决方案——TDMS文件,其实质为一种二进制数据文件存储类型。TDMS格式的特点是占用磁盘空间小,读写速度快,可读性强,是LabVIEW推出的一种用于数据快速存储的数据存储格式[8]。TDMS的逻辑结构主要分为3层:根目录、通道组、通道号,其中每一层都可以添加特定的属性,方便读取和存储,有助于数据的准确分类和有效检索。该存储方案不仅解决了系统实时存储问题,而且便于历史数据的查询。存储过程开始时打开文件直至存储完成将文件关闭,避免频繁打开关闭文件减缓读写速度。数据按不同采集单元和不同通道分别存储,方便后期管理。另外系统还采用Access数据库对重要数据进行综合管理。

3重要环节设计方案

3.1数据解析环节方案设计

采集单元中的数据以一定形式发给上位机软件,数据解析即是对接收到的数据进行解析,转换成成像算法所需的数据类型。接收到的数据首先要对帧头进行判断,数据的帧头为两个字节,如果按照每次取两字节进行比较,一旦传输过程

中发生数据丢失造成数据错位,那么之后接收到的数据可能将全部是错误数据。这样系统的容错能力将会很低,这是不允许的。因此系统中采用逐个字节比较的方法,对于帧头正确的数据,系统将数据体部分一次性全部取出,重排成数组的形式,放入队列中;而帧头错误的数据,系统予以丢弃。接收一帧数据的解析流程如图5所示。

前文提到采集单元是以1.5 Mb/s的速度传输数据的,当6台设备同时工作时数据量是非常大的。LabVIEW中图像数据主要由LabVIEW中的簇结构构成[910],其中以像素点的排列顺序描述图像中各像素颜色的字节数组是图像处理的主要内容。该数组是非常大的。每来一次数据,系统就要对如此庞大的数组进行一次修改,工作量非常大。这会对CPU造成很大负担,导致整个系统工作效率减慢,无法满足实时显示的要求。因此系统在采集分辨率不变的前提下,应改变画图分辨率进行图像绘制。首先判断数据是否为有伤的数据,对于有伤的数据,系统以高分辨率的方式在图像上进行标示;对于没有伤的数据,系统对位置靠近的一组数据只取一帧进行画图,处理过程中降低分辨率,以较粗的线条将这一组数据的位置覆盖,这样与每一帧数据都进行绘制形成的图像相比在视觉效果上并无明显差别,而实际上却大大提高了CPU的处理速度,并能保证伤损不丢失。同时为避免频繁刷新占用太多CPU资源,系统采用延迟前面板刷新的方式[11],以200帧/次的刷新频率对前面板进行刷新显示,实际中该频率并不影响人眼的观察,并且能使系统达到实时显示的效果。

4结论

本文所介绍的多轮对超声自动探伤系统可以对一节车厢3对车轮同时进行检测,节省人力,大大提高了检测车轮的效率。同时基于LabVIEW平台设计了一套系统软件,其优点为:(1)设置不同的操作权限,防止由于操作人员的误操作而导致探伤结果的不准确;(2)采用友好的人机交互界面及一键设置方式,省去了复杂的参数配置,操作人员只需简单培训而无需具备相关专业知识即可操作仪器;(3)软件采用B扫的显示方式来呈现探伤结果,更加直观易懂;(4)软件采用可变分辨率的方法形成B扫图像,同时延迟前面板刷新,即使大量探伤数据也可完成实时显示。

软件功能丰富齐全,除探伤显示等基础功能外还包括系统自检、用户信息管理、检测过程记录、数据查看、数据存储以及输出检测报告等综合功能,满足目前对探伤设备的功能需求,并具有可扩展性。

参考文献

[1] 汪春晓.相控阵超声波车轮缺陷探伤技术研究[D].成都:西南交通大学, 2010.

[2] 沈玉娣,曹军义. 现代无损检测技术[M].西安:西安交通大学出版社,2012.

[3] 王祯. 轮对超声探伤系统缺陷自动定位算法研究[D].成都:西南交通大学, 2011.

[4] 曹飞,王瑾,郭前岗,等.基于神经网络的机车车轮故障诊断[J].微型机与应用,2015,34(11):69-72.

[5] 孙志林,石峥映,梅劲松,等. 基于FCS的高速并行超声信号采集系统[J],无损检测,2009,31(8):639-942.

[6] 赵飞, 叶震. UDP协议与TCP协议的对比分析与可靠性改进[J]. 计算机技术与发展, 2006, 16(9):219-221.

[7] 杨高科. LabVIEW虚拟仪器项目开发与管理 [M] . 北京:机械工业出版社, 2012.

[8] 丰伟伟, 杨世文, 南金瑞,等. LabVIEW中TDMS文件和SQL数据库数据处理速度的研究[J]. 仪器仪表与分析监测, 2011(1):10-12.

[9] 王阳, 王竹林. 基于LabVIEW的图像处理技术[J]. 兵工自动化, 2009, 28(1):89-91.

[10] GOMEZ A, GOETHERT E. Control system design using LabVIEW FPGA for a digital picture kiosk[C]. American Control Conference:IEEE, 2006. 1406-1409.

[11] 李周华, 严毅. 软件设计中的性能优化与内存管理[J].广西大学学报(自然科学版). 2005,30(S2):131-133.

相关推荐

程序员请收好:10个非常有用的 Visual Studio Code 插件

一个插件列表,可以让你的程序员生活变得轻松许多。作者|Daan译者|Elle出品|CSDN(ID:CSDNnews)以下为译文:无论你是经验丰富的开发人员还是刚刚开始第一份工作的初级开发人...

PADS在WIN10系统中菜单显示不全的解决方法

决定由AD转PADS,打开发现菜单显示不正常,如下图所示:这个是由于系统的默认字体不合适导致,修改一下系统默认字体即可,修改方法如下:打开开始菜单-->所有程序-->Windows系统--...

一文讲解Web前端开发基础环境配置

先从基本的HTML语言开始学习。一个网页的所有内容都是基于HTML,为了学好HTML,不使用任何集成工具,而用一个文本编辑器,直接从最简单的HTML开始编写HTML。先在网上下载notepad++文...

TCP/IP协议栈在Linux内核中的运行时序分析

本文主要是讲解TCP/IP协议栈在Linux内核中的运行时序,文章较长,里面有配套的视频讲解,建议收藏观看。1Linux概述  1.1Linux操作系统架构简介Linux操作系统总体上由Linux...

从 Angular Route 中提前获取数据

#头条创作挑战赛#介绍提前获取意味着在数据呈现在屏幕之前获取到数据。本文中,你将学到,在路由更改前怎么获取到数据。通过本文,你将学会使用resolver,在AngularApp中应用re...

边做游戏边划水: 基于浅水方程的水面交互、河道交互模拟方法

以下文章来源于腾讯游戏学堂,作者Byreave篇一:基于浅水方程的水面交互本文主要介绍一种基于浅水方程的水体交互算法,在基本保持水体交互效果的前提下,实现了一种极简的水面模拟和物体交互方法。真实感的...

Nacos介绍及使用

一、Nacos介绍Nacos是SpringCloudAlibaba架构中最重要的组件。Nacos是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台,提供注册中心、配置中心和动态DNS...

Spring 中@Autowired,@Resource,@Inject 注解实现原理

使用案例前置条件:现在有一个Vehicle接口,它有两个实现类Bus和Car,现在还有一个类VehicleService需要注入一个Vehicle类型的Bean:publicinte...

一文带你搞懂Vue3 底层源码

作者:妹红大大转发链接:https://mp.weixin.qq.com/s/D_PRIMAD6i225Pn-a_lzPA前言vue3出来有一段时间了。今天正式开始记录一下梗vue3.0.0-be...

一线开发大牛带你深度解析探讨模板解释器,解释器的生成

解释器生成解释器的机器代码片段都是在TemplateInterpreterGenerator::generate_all()中生成的,下面将分小节详细展示该函数的具体细节,以及解释器某个组件的机器代码...

Nacos源码—9.Nacos升级gRPC分析五

大纲10.gRPC客户端初始化分析11.gRPC客户端的心跳机制(健康检查)12.gRPC服务端如何处理客户端的建立连接请求13.gRPC服务端如何映射各种请求与对应的Handler处理类14.gRP...

聊聊Spring AI的Tool Calling

序本文主要研究一下SpringAI的ToolCallingToolCallbackorg/springframework/ai/tool/ToolCallback.javapublicinter...

「云原生」Containerd ctr,crictl 和 nerdctl 命令介绍与实战操作

一、概述作为接替Docker运行时的Containerd在早在Kubernetes1.7时就能直接与Kubelet集成使用,只是大部分时候我们因熟悉Docker,在部署集群时采用了默认的dockers...

在MySQL登录时出现Access denied for user ~~ (using password: YES)

Windows~~~在MySQL登录时出现Accessdeniedforuser‘root‘@‘localhost‘(usingpassword:YES),并修改MySQL密码目录适用...

mysql 8.0多实例批量部署script

背景最近一个项目上,客户需要把阿里云的rdsformysql数据库同步至线下,用作数据的灾备,需要在线下的服务器上部署mysql8.0多实例,为了加快部署的速度,写了一个脚本。解决方案#!/bi...