大型直线振动筛故障诊断在线监测系统软件设计 下载本文

龙源期刊网 http://www.qikan.com.cn

大型直线振动筛故障诊断在线监测系统软件设计

作者:朱清慧 王志奎

来源:《湖北农业科学》2016年第06期

摘要:根据大型直线振动筛侧帮裂纹故障诊断的需求,利用已有的硬件平台,对在线监测系统软件进行开发设计,以小波分析和神经网络理论算法为基础,综合运用数据库、Visual Basic和Matlab软件对数据进行处理、分析和辨识,设计了上位机在线数据采集、处理和故障诊断系统。结果表明,该系统能够对振动筛侧帮早期疲劳裂纹进行及时预警,对设备维护有非常积极的意义。

关键词:故障诊断;振动筛;上位机在线监测;软件设计

中图分类号:TP277 文献标识码:A 文章编号:0439-8114(2016)06-1554-04 DOI:10.14088/j.cnki.issn0439-8114.2016.06.049

大型直线振动筛是一种广泛用于煤炭、矿石等等级筛选或杂质分离的矿用筛分设备[1]。由于其两侧侧帮长期受到的动应力比较集中,特别容易产生裂纹甚至造成侧帮断裂,如不及时发现,会给生产带来潜在的巨大危害。

本研究以平煤集团田庄选煤厂所用筛分设备大型直线振动筛DZK2466为研究对象,建立其侧帮裂纹故障在线监测诊断系统,通过软、硬件综合控制对其侧帮裂纹进行检测并预警。系统设计包括硬件和软件两部分,其中硬件部分主要完成对故障数据的采集和存储,而软件部分主要对数据进行转换、处理和分析并得出诊断结论。在自主开发的在线监测控制系统硬件平台上,重点研究分析了上位机诊断系统,主要包括基于VB和数据库的诊断界面设计,以及基于小波分析和神经网络等理论的后台Matlab软件处理程序设计与调用[2,3],完成对侧帮裂纹等级的在线识别和预警。该系统软件通过调试、仿真及现场测试,获得了理想的诊断结果。 1 系统硬件设计

在线监测系统的硬件主要由单片机、A/D转换器、传感器、电荷放大器、液晶显示器和上位机等构成。其中,传感器采用三轴加速度传感器BZ1114,电荷放大器自行设计,其功能是进行电荷和标准电压的转换,单片机采用内置2通道10/8位ADC的16位微控制器MC9S12XS128。系统硬件设计如图1所示。 2 系统软件设计

龙源期刊网 http://www.qikan.com.cn

系统软件设计包括两大部分,即单片机程序和上位机程序及界机,由6大模块组成,分别是数据采集模块、数据存储模块、数据通讯模块、数据分析模块、数据显示模块和用户管理操作模块,如图2所示。

2.1 数据采集模块与数据存储模块

数据采集与存储模块主由完成由传感器BZ1114到单片机的信号采集、转换和预存储,以及上位机通过单片机对数据采集过程中的参数进行设置和监控的过程。 2.2 数据分析模块

数据分析模块是上位机针对采集和存储的原始离散信号,进行实时分析和处理,主要有小波降噪、小波包故障特征提取、遗传神经网络优化和训练及故障识别等,以Matlab、Visual Basic软件和数据库等作为主要分析手段。 2.3 数据通讯模块

数据通讯模块主要通过在上位机编写通讯协议及调试程序,完成单片机与上位机之间的数据交换。单片机对采集到的数据进行预处理、预存储及故障显示,上位机对从单片机发送来的数据进行分析、处理,并把诊断结果回传给单片机进行显示。 2.4 用户管理操作模块

用户管理操作模块主要是对系统数据进行实时监控和处理操作。在上位机编写用户操作界面,通过调用后台程序,实时对系统参数和诊断结果进行设置和查询,以便于维修人员和现场操作人员使用。 2.5 数据显示模块

数据显示模块主要是将设备的故障诊断信息通过LCD和上位机分别显示出来。 3 上位机监测软件设计与实现

上位机监测软件主要完成振动筛侧帮裂纹的在线检测、分析和处理,综合运用小波分析、神经网络算法等理论,以Visual Basic为前台编程语言,采用Access数据库存储数据,基于ADO数据库连接技术进行上位机诊断界面开发,通过调用Matlab软件计算模块对振动信号进行小波降噪、小波包能量特征提取,再调用神经网络数据库得出故障诊断结果[4-6]。 3.1 上位机软件程序

龙源期刊网 http://www.qikan.com.cn

上位机软件设计流程为信号的定时采集、手动采集、信号的小波降噪处理、能量特征计算、故障诊断结果。程序流程如图3所示。 3.2 数据表关系分析

为了方便在具体时间段内对各路采集信号的检索和查看,在Access数据库中设计了数据表及其关系,如图4所示。图4中共包含7个数据表,分别是采集记录表、4个通道传感器数据表、特征向量表和诊断结果表。在振动筛在线故障诊断过程中,这些表格用来实时存储采集到的多个传感器信号、降噪后的数据以及故障特征和诊断结果。 3.3 上位机主要功能模块

3.3.1 信号采集模块 信号采集模块通过调用采集卡接口函数GetSignal()来获取信号,根据信号所在的通道号,将其存入相应的信号表内,同时将信号波形实时显示在采集窗口,主要程序代码如下: Dim Plv As Single Dim i As Integer Dim Ylv As Single Dim GetSig as Single

Private Sub ReadSignal (PID as Long,Channel as Byte) GetSig=GetSignal(Channel) '读采集信号

sql = \信号表\(PID,PValue) Values(\,\& \)\构建存储数据库SQL语句 Conn.Execute sql '将信号存到数据库 '将信号波形实时显示到前台 Plv = Me.Pic1(0).ScaleWidth / 2048 Ylv = Me.Pic1(0).ScaleHeight / 26 Me.Pic1(0).DrawStyle = vbSolid Me.Pic1(0).CurrentX = 0