吴桂清,朱院娟,郭斯羽,朱志杰
(湖南大学电气与信息工程学院,湖南长沙 410000)
随着大型旋转机械的使用越来越普遍,人们对其可靠性、实时性、维护性的要求也越来越高;所以,需要开发出一种带有专家系统的旋转机械振动在线检测系统来监测它们的振动情况,以此来判断设备的运行状况、损坏部位和损坏原因[1]。
因LabVIEW包含声音振动工具包、数据处理工具包和数据库工具包,为振动系统的快速开发提供了很好的条件。本文基于LabVIEW设计了一种高效率、高精度、界面友好的旋转机械振动监测系统[2]。
旋转机械振动监测系统结构框图如图1所示。PC工作站和ARM之间是通过TCP/IP协议进行网络通信。
图1 系统结构图Fig 1 System structure
硬件主要有控制模块和采集模块,设备主控芯片采用AT9lRM9200。设备和PC工作站启动后,通过TCP/IP协议建立主芯片和工作站通信,主控获取PC机下发的各命令,通过SPI串口初始化并启动数据采集模块。采集模块由1个FPGA和4个A/D转换芯片组成,FPGA根据ARM发来的采样频率和采样精度控制4个A/D芯片,将得到的数据进行2次积分获取最终振动数据并通过网络通信发给PC工作站。
PC工作站为C/S模式,首先通过TCP/IP协议从振动采集箱获取实时振动数据。然后,将振动数据放入队列,再利用Oracle数据库触发功能和网络共享功能,从队列中获取数据并实时地保存在本地数据库和数据库服务器;同时采用傅里叶变换、倒频谱、细化谱等算法对实时数据进行处理,并将计算结果绘图,供现场观测人员分析使用。最后,通过B/S模式,利用LabVIEW中的web工具使公司各级在自己的权限范围内浏览局域网各机组信息。
采集设备启动后,下位机设备(服务器)TCP/IP处于侦听状态;等待PC工作站(客户机)与其建立连接。当采集振动数据时,首先,调用LabVIEW中建立TCP连接函数和下位机建立连接。然后发送带有一定的帧格式的控制命令;当下位机收到该帧,先对该帧进行校验,如果校验正确,会根据接收到的设置参数对采样通道号、采样点数以及A/D转换器的位数、采样频率进行设置,并返回设置成功应答;否则,返回错误应答。
当以上参数设置完毕,PC工作站发送开始采集命令,启动A/D转换。A/D转换器启动之后,根据设置的采样参数对每个通道轮流采集数据。首先按照通道的采样点数采样第一个通道,当第一个通道采集完毕,下位机将按一定的帧格式上传采集到的数据,每帧上传1024个数据,PC机收到该帧之后会进行校验,如果正确,发送下一帧准备接收请求,下位机收到该请求,发送后续数据。当所有的通道都已经采集完毕,下位机会发送数据采集完毕命令;当PC机收到该命令,PC工作站需要根据,通道号和每个通道的采样点数对采集的数据进行分离和波形显示。
最后,PC机断开TCP连接。在通信过程中,如果一段时间内,下位机没有收到主站传来的数据,那么,下位机自动断开和主站的TCP/IP连接。
如果在数据采集当中想要停止A/D转换,PC工作站需要发送停止A/D转换请求命令。
Oracle具有强大的安全性控制和完整性控制,支持分布式数据库和分布处理,通过oracle的网络功能把局域网的各分布数据库集中写入到远端数据库里。因为多采集箱、多通道、多测点,造成需要存储的数据量大,而如何高效地存储和管理这些数据,就成为数据库设计的关键[3]。系统采用oracle数据库。
2.2.1 数据库驱动选择
LabVIEW访问oracle时,一般有4种驱动方法,分别为Microsoft ODBC driver for Oracle,Microsoft OLE DB provider for Oracle,Oracle ODBC driver for Oracle,Oracle OLE DB provider for Oracle。ODBC是基于传统的API编程的数据库访问接口标准,它连接数据库的速度慢;OLEDB与ODBC相比,OLEDB是一种更先进、更灵活的方法;Microsoft提供的数据库驱动会对大对象数据(LOBS)的存储容量进行限制。因为每个通道采集的数据量很大,所以,应该选用Oracle公司提供的Oracle OLE DB provider for Oracle驱动。数据库采用分布式存储,各PC工作站数据独立,数据库服务器集中管理,提高了系统的可靠性、可用性和存取效率,还易于扩展。
2.2.2 数据库表设计
为区分各测点信息,在数据库中有集团表、分厂表、机组表、设备表、测点表;集团表中集团ID唯一,分厂表中分厂ID唯一,其他表中对应ID也唯一;这些表采用树形结构关联起来,除顶层集团表外其他层中的表都有一个字段来标识本层的上层ID,因此,可根据集团名、分厂名、机组名、设备名、测点名即可找到测点ID。
存储振动数据的表有实时数据表、短周期数据表和长周期数据表;实时数据表只有一张,而短周期和长周期数据表每个测点对应一张。在实时数据表中,每个测点ID对应唯一一条记录,其存储了最新振动数据。通过测点ID可以知道某通道数据该存储在哪里和如何读取所需的数据。每当在实时数据表中更新一条记录,通过Oracle数据库触发器功能实现对应的短、长周期数据表插入或更新一条记录。通过Oracle的序列使短、长周期表都有一个唯一的主键;长、短周期表采用循环结构,当记录数超过其最大记录数时覆盖其前面的记录。在对本地数据库进行数据操作时,通过Oracle网络共享和触发器来触发数据库服务器上的实时数据表、短周期数据表、长周期数据表;通过不断更新实时数据表,服务器又不断地从数据库中读出并显示,实现实时查看数据。利用LabVIEW Database Connectivity Toolkit工具结合SQL语句,根据集团名、分厂名、机组名、设备名、设备名、测点名查找测点ID和对应转速ID;注意每当获取记录对象后,应该利用DB Tools Free Object释放对象,以免过多地打开连接池导致数据库游标数不够。
2.2.3 历史数据管理系统
历史数据管理系统可以提供机组振动历史数据,为预测和机械维护提供帮助,重现机组振动情况。通过每个测点的长周期数据表,即可查看历史数据。
2.3.1 预处理
2.3.2 去噪处理
采集的振动信号含有一定的噪声,会对后期的数据分析造成一定的影响,需对其进行去噪。由于有用信号集中在低频部分,而噪声主要分布在高频部分,因此,可用一个低通滤波器进行滤波;但该方法的缺点是,它不能将有用信号的高频部分和噪声引起的高频干扰加以有效的区分。而小波变换能在时域和频域对信号进行分析,通过多尺度分解使它具有自动变焦的性质,可以去除噪声而保留信号的尖峰和突变成分[4]。所以,本文采用小波进行去噪,使用LabVIEW高级信号处理工具包里的小波去噪(wavelet denoise)函数进行去噪。
旋转机械动态信息主要包括主频、相位、转速、幅值,它们反映机械的运行状态,对故障分析有着极其重要的作用。
2.4.1 主频的提取
主频是指旋转机械1 s内转过的圈数。通常在转轴上安装非接触式涡流传感器,并在转轴上做一标记,当转轴转动一圈涡流传感器就会检测到该标记并产生一个脉冲信号,可以根据此脉冲信号来测量主频。
在传统的方法中主频的提取主要是测量一段时间(t)内脉冲的个数(n),则主频=n/t;但该方法常会因为周期的不完整而影响测量结果。本文提出了间隔测量方法,首先找到脉冲信号的每个峰值点,然后再计算每相邻峰值点的时间间隔,最后取平均值就可以求出信号周期。此方法的关键是精确提取脉冲峰值,可以LabVIEW中wavelet analysis/online wavelet analysis/WA Online Multiscale Peak函数可完成。
2.4.2 相位和幅值的获取
旋转机械的相位即基频信号相对于振动信号高点的角度差,其准确与否直接影响到转子动平衡的精度。相位的获取可以通过数字滤波和相关滤波2种方法来实现。数字滤波法虽然使用简单,但信号通过数字滤波器时,部分信号会引起失真;而且信号经过数字滤波器后会有一个时间延迟,和原始信号存在一个相位差,这样对测量结果势必会造成误差[5]。此处采用相关法提取基频信号后获取相位。
由式(1)、式(2)可得幅值A
2.4.3 倍频幅值及其相位求取
设二倍频的标准正弦波和余弦波分别为z'(t)=sin 2ωt,γ'(t)=cos 2ωt可得
根据式(4)、式(5)可推导出
根据式(6),可提取出频率为2ω的振动信号,实现了从一个包含多种频率成分的信号中提取出所需要频率信号的功能,并有较好的效果。相关法还可以用于提取其他频率的信号,只需修改标准正余弦波频率即可。
状态检测图谱能直观地反映设备的运行状况,其主要包括系统辅助操作图谱、系统常规图谱、系统启停机图谱、系统列表日记及系统诊断助手等。
为测试实验,设置标准振动台的振动信号频率为20 Hz,幅值为3.5 m/s2并启动采集模块采集标准振动台的振动信号。以上动作完成后启动PC机振动监测程序,首先设置采样点数、采样频率、采样通道以及校正参数后点击采集设置完毕按钮;然后选择显示通道并点击开始采集按钮,此时时域图和频率图显示了所选通道的振动情况。
为验证相关法提取基频信号的效果,可设置一标准正弦信号叠加其倍频信号和噪声作为输入信号,其中主频为23Hz,其幅值为 3m/s2,相位为 0,0.5 倍频的幅值为 1 m/s2,其相位为90,如图2(a)所示。图2(b)为相关法提取0.5倍频的结果。通过实验结果发现相关法能较好地提取倍频信号。
图2 相关法测试实验结果Fig 2 Test result of correlation method
为验证状态监测程序界面设计的友好性,以瀑布图为例。首先,采集频率为20 Hz,幅值为6.5 m/s2的振动信号,然后截取该信号的一段,作为瀑布图的输入信号,并调用LabVIEW中的瀑布图子VI对输入信号进行处理。瀑布图的输出结果如图3所示。该图显示了信号的频率—幅值随时间的变化效果。通过该图发现,LabVIEW可以直观、友好地反映出振动情况。
图3 状态监测程序的瀑布图Fig 3 Waterfall figure of condition monitoring program
本文基于LabVIEW设计并实现了旋转机械振动监测系统。设计了友好的状态监测程序界面;论述了系统硬件结构和PC工作站与ARM之间的TCP通信;重点介绍了数据库设计方案,并给出该设计的具体实现方法;利用间隔测量法测量主频;利用相关法求出相位和幅值,并巧妙地获取了多倍频幅值频率相位。测试结果表明:以上的测试算法有较高的精度,能够较好地反映振动情况,具有一定的工程应用价值。
[1] 易 斌,戴瑜兴,朱 江.基于ARM和FPGA的振动信号采集系统的实现[J].微计算机信息,2007,23(5):152 -154.
[2] 曾 剑,周剑扬,刘舜奎.基于LabVIEW的SFP光模块测试平台的设计与实现[J].电子技术应用,2011,37(4):67 -73.
[3] Wen Hao,Dong Xiaorui.The Research of the Databases Connection Methods in LabVIEW based on ADO[J].Computer Application and System Modeling,2010,7:229 -233.
[4] 唐进元,陈维涛,陈思雨,等.一种新的小波阈值函数及其在振动信号去噪分析中的应用[J].振动与冲击,2009,28(7):118-121.
[5] 肖 丹,张 勇,刘君华.基于LabVIEW的相关信号提取仪的设计[J].仪器仪表学报,2006,27(12):220 -222.