基于TDMS的海量振动数据快速存储和查询虚拟系统*
2013-09-12刘自然甄守乐颜丙生余玉西何园园
刘自然,甄守乐,颜丙生,余玉西,何园园
(河南工业大学机电工程学院,郑州 450007)
0 引言
在现代工程领域,由于机械工作过程中不可避免地存在诸如回转件的不平衡、负载的不均匀、结构刚度的各向异性、以及能量的传递、存储和释放等诸多诱发或激励振动的因素,因此存在着大量的振动问题[1-2]。在绝大多数场合下振动都是有害的,它将影响设备的正常工作,引起机器构件的加速磨损,甚至导致急剧断裂而破坏[3]。尤其是航空航天领域这些微小失误将会造成巨大的人身、财产损失,因此,机械振动所带来的问题更是不容小视。
为了满足航空工业高安全性、高可靠性的要求。航空产品,关键零部件、乃至整车出厂之前都需要对其进行严格的振动测试。
鉴于其振动大、噪声高、干扰信号强烈等复杂的工作环境,所以在测试试车过程中必须对被试件进行多点、多类型海量数据的快速处理、显示以及存储。同时,为了满足科研人员对所产生数据的后期深入分析,监测系统还必须具备历史数据的准确查询回放以及导出打印功能。面对这愈加苛求的振动测试要求,传统的振动测试仪器已经很难满足工程需要。而具有低成本、高性能、高扩展性、开发周期短、无缝集成等诸多优点的虚拟仪器无疑是首选[4-6]。目前在这一领域内,使用较为广泛的计算机语言是美国 NI公司的LabVIEW[7]。LabVIEW 是一种图形化的即时可重构虚拟仪器软件。在其便捷、轻松的设计环境下设计者可以方便的组建一个测量系统或数据采集系统,并任意构造自己的仪器面板,而无需进行任何繁琐的计算机程序代码的编写,从而可以大大简化程序的设计[8-9]。
针对上述原因,基于TDMS数据逻辑方式,设计了一套完整的多通道海量振动数据快速存储和查询系统,并对系统设计中的关键技术进行了研究。
1 系统架构
1.1 测试系统整体结构
图1所示为振动测试系统原理框图,图中包括信号采集模块、软件系统模块、操控模块和自动控制系统模块等。其中,信号采集模块,采用3个高温和7个常温PCB振动加速度传感器分别对被试件和试车台的十个测点进行振动测试。然后经ADLINK PCI-2213数据采集卡将振动信号读入工控机内的软件系统模块。随之,显示模块对软件系统分析所得的数据信息在液晶显示屏进行准确显示。操控模块主要供人机交互使用。而自动控制模块则主要是响应软件系统和操控模块所发出的报警、停车等操作指令,对整个系统的软硬件进行闭环控制。
图1 振动测试系统原理图
对于这样一个数据流驱动的系统,实验过程中所产生的数据是整个系统的血脉;是我们分析监测系统运行状况、控制系统运行和深入分析评价被试件优劣性的重要依据。因此,数据存储和查询部分是软件系统构建中的工作重点,对系统的完整性而言是不可或缺的,并且在整个振动测试系统中有着极其重要的地位。
1.2 程序的算法设计
程序算法是对特定问题求解过程的描述,是指令的有限序列,每条指令完成一个或多个操作。鉴于设计过程中同一问题可用不同算法解决,而一个算法的质量优劣又直接影响到算法乃至程序的效率。本文结合工程实际需要,从算法的时间复杂度和空间复杂度进行综合考虑,确定存储程序的程序流程如图2所示。
图2 数据存储查询程序流程图
图中振动数据经ADLINK PCI2213数据采集卡采集进来,经过监测系统分析处理判断数据是否达到预设的报警值,当达到报警值时激活缓存模块并进行计时,同时通过串口在监测和控制两套系统之间进行数据传输。当缓存数据计时完成时激活存储模块,将数据读入工控机硬盘完成一次报警存储。手动存储和报警存储是或的关系,执行手动存储的过程和报警存储一致。而数据查询则是独立于存储模块之外的一个独立的程序模块,其工作过程是从工控机内存中直接读取所指定的数据,并在计算机液晶屏上进行显示回放。这种独立模块化设计,避免了执行不同任务的程序之间的交集和由此产生的不必要的干涉。
2 数据存储和查询程序的设计与关键问题
2.1 存储部分关键问题
数据存储模块主要实现试车过程中的报警信息、报警数据以及实验人员指定的数据信息的存储,同时实现实验报表的打印。其中如何实现数据的缓存、多通道海量数据的快速存储,以及如何方便的供数据查询模块查询是本部分的关键。
由于每一类信息在存储过程中可以有一种或多种文件格式保存在电脑内存中,而不同的文件格式在保存过程中所占的内存和运行速度又有较大的区别。因此,能否合理的选择数据文件格式,直接关系到系统的运行速度和工作效率。为了满足不同数据的存储格式和性能要求,LabVIEW提供了多种文件类型。其中,以二进制数据类型进行存储的TDMS文件,因其读写速度快、占用硬盘空间小等优点,更适合本系统多通道、海量振动数据的存储要求。TDMS是LabVIEW8.20对TDM文件的改进。它比TDM文件的读写速度更快,使用更简单方便,因此非常适合用来存储数量庞大的测试数据[10]。
在确定文件类型之后,为了方便各类测试数据的管理和查询,本系统以产品名称命名文件夹名称,调用Function Palette的Programming|File I/O面板下的创建文件夹函数,构建文件夹创建模块(如图3所示)。在每次试验前强制完成对文件夹的创建。数据文件名称则以绝对时间+文件扩展名(.tdms)组成,这样便于试验人员根据打印报表中报警的时间信息,去数据库中寻找所感兴趣的数据段进行故障诊断分析。
图3 文件夹创建子VI
图4所示为存储部分主程序。为了避免不同模块之间在运行过程中产生不必要的干涉,提高程序的运行效率和稳定性。存储程序部分采用一个与信号采集部分相独立的while循环结构。当报警为真或手动触发存储按钮时,TDMS快速的将数据读入计算机内存。
图4 存储部分主程序
鉴于故障诊断中需要分析报警前后各5秒的信号波形数据,所以必须有一个临时文件交换区,实现数据读入计算机内存之前的缓存。本系统通过调用Waveform Chart显示控件下的Property Node|History data命令,采用采样率控制图表历史长度的方法,实现了数据按固定时间长度进行缓存的应用要求。解决了以往使用Waveform Chart进行数据缓存时,数据缓存时间长度随采样率变化而变化的难题。
为了使对实验数据的后续深入分析有据可依,当一个实验完成以后,对本次实验的一个完整的结论性记录是必不可少的。这就需要一个涵盖实验关键信息的实验报表。其程序模块如图5所示。
图5 报表创建子VI
2.2 数据查询
数据查询模块主要实现历史数据的准确快速查询、导出以及指定窗口信息的打印功能。
数据查询、导出、打印等采用case结构设计,选项卡控件与分支选择器相连接,这样做的优点在于当有新功能需要添加时,只需将编好的程序添加到case结构的分支中,而不需要对整个程序都做很大的改动,这使得系统的扩充十分方便。Case结构中模块化的程序都具有独立功能、标准的几何连接和一致的输入、输出接口,并且相同种类的模块在系统软件中可以重用和互换。相关模块有序的排列组合就可以形成最终的系统。这既符合生产者消费者结构的程序的设计理念也易于系统的升级换代,是大型系统软件开发过程中普遍采用的一种有效方式。
在数据查询界面下可以查阅指定文件的时域、趋势、频域信息,并可以打印指定的窗口信息。若需要将TDMS数据转化为可供Word、Excel等第三方软件打开的文本文件类型,点击数据查询界面上的数据导出按钮,即可在指定的文件路径下生成对应类型的文本数据文件。
3 在某型号试车台中的实际应用
将已构建完成的监测系统与控制部分进行联调实验。系统启动之后首先出现的是一个设计美观的欢迎界面。此界面供不同操作权限的用户进行登录。当完成对操作人员的身份验证,即进入显示有10个通道原始波形信号以及对重要参数进行分级色差报警的主界面,如图6所示。
同时,数据存储模块完成了对所有通道报警前后5秒钟实验数据的快速存储,以备后续对报警通道数据的深入分析或报警时刻多个通道间数据的相关分析。当点击主界面上的数据查询按钮,监控界面自动切换到数据查询界面,在对所要查询历史数据的零件号、实验项目、通道号等相关信息的填写(选择)完成之后,点击查询按钮,系统快速准确的读出了相对应的数据信息,并能够按指定格式快速准确的对指定的数据或窗口进行导出和打印。查询完成之后,点击返回按钮即可返回主界面继续监控所有通道的运行状况。
图6 报警列表
与数据查询界面处于同一级别的辅助参数设置界面和更低级别的界面的操作同样快速准确地完成了预期的设计目标。在整个联调实验过程中,系统很好地实现了对多通道海量数据的快速存储、准确查询以及数据导出和打印等功能,其良好的使用性能得到了用户的认可和好评。
4 结束语
以某型号试车台为研究背景,在LabVIEW8.6编程环境下通过调用Function Palette下的一系列函数,设计完成了一套具有多通道海量数据高速存储、历史数据准确快速查询、数据及报表导出打印等诸多功能的性能完备的虚拟仪器系统。实际的应用表明,该系统能稳定正确地存储和查询数据,其友好的人机界面也很好的满足了用户的操控需要。
[1]刘自然,文金选,何涛.小波阈值降噪技术在齿轮箱振动信号处理中的应用研究[J].现代制造工程,2010(4):75-78.
[2]郭建军.虚拟仪器在发动机振动测试及分析中的运用研究[D].天津:天津大学,2005.
[3]朱岩.基于LabVIEW的振动测试系统设计[D].成都:西华大学,2009.
[4]蒋威.机振动测试分析系统[D].杭州:浙江大学,2006.
[5]阳江源,王福吉,等.基于LabVIEW的数控机床多通道温度测量系统[J].组合机床与自动化加工技术,2010(12):58-60.
[6]萧蓉.西飞复材零件制造能力跃上新水平[J].航空制造技术,2004(1):16.
[7]赵志强.LabVIEW的多任务测控系统及数据库的应用研究[D].重庆:重庆大学,2006.
[8]卢晓红,贾振元,等.基于LabVIEW 的动力刀架综合性能测试系统的研发[J].组合机床与自动化加工技术,2010(9):39-47.
[9]曹灵芝,等.现代测试技术及虚拟仪器[M].北京:北京航空航天大学出版社,2004.
[10]陈锡辉,张银鸿.LabVIEW 8.20设计程序从入门到精通[M].北京:清华大学出版社,2007.