【VB开源代码栏目提醒】:网学会员鉴于大家对VB开源代码十分关注,论文会员在此为大家搜集整理了“基于虚拟仪器的齿轮变速箱实时监测系统的设计5章 - CAD/CAM/CAE”一文,供大家参考学习
毕业设计
论文 - 1 - 第5章 系统软件设计 本系统软件的设计是利用LabVIEW软件设计而成。
虚拟仪器技术最核心的思想就是利用计算机的硬软件资源使本来需要硬件实现的技术软件化以便最大限度的降低系统成本而LabVIEW软件的应用实现了降低成本的需求作为虚拟仪器的软件开发平台LabVIEW软件的应用已经极其广泛。
5.1 虚拟仪器简介 测量仪器作为科学技术发展中必不可少的组成部分对科技水平的提高和发展起到了很大的推动作用。
随着信息技术的不断发展对信号采集、数据处理、控制操作等的技术要求越来越高。
虽然传统仪器已经得到迅猛的发展仪器精度越来越高功能越来越强性能越来越好但传统仪器基本上没有摆脱单独使用、手动操作的模式而且每种仪器只能实现一类特定的测量功能并以确定的方式提供给用户。
因此在工业自动化测试及测量领域特别是在较为复杂、测试参数较多的场合传统的测试仪器己经因其多方面的局限性越来越不能满足时代的要求迫切需要功能更强大、成本更低廉、系统更灵活的新一代测试仪器—虚拟仪器。
虚拟仪器Virtual Instrument是美国国家仪器公司于1986年提出的同时推出了用于虚拟仪器开发的工程软件包LabVIEW。
所谓虚拟仪器是利用PC计算机显示器的显示功能模拟传统仪器的功能面板以多种形式表达输出检测结果利用PC计算机强大的软件功能实现信号数据的运算、分析、处理由I/0接口设备完成信号的采集、测量和调理从而完成各种测试功能的一种计算机仪器系统是测控技术和
计算机技术 深层次相结合的产物已成为当今测量测试领域里的一支最重要的力量。
虚拟仪器中的“虚拟”主要体现在面板虚拟和功能由软件编程实现两个方面。
软件是虚拟仪器的关键当基本硬件确定以后就可以通过不同的软件实现不同的功能出现了“软件就是仪器”的概念。
虚拟仪器的出现是仪器发展史上的一场革命代表着仪器发展的最新方向和潮流对科学技术的发展和工业生产的进步将产生不可估量的影响同时对改善高校实验、教学科研仪器设备提供了新的解决
方案11。
5.2 虚拟仪器的特点 一台性能优良的虚拟仪器不仅可以实现传统仪器的大部分功能而且在许多方面有传统仪器无法比拟的优点如使用灵活方便、功能丰富、价格低廉、可一机多用、可重复开发等。
基于虚拟仪器的齿轮变速箱实时监测系统的设计 - 2 - 虚拟仪器与传统仪器比较如表5-1所示 虚拟仪器 传统仪器 仪器功能由用户自己定义开放式 仪器功能由仪器厂商定义固定式 软件是关键技术更新快容易升级 硬件是关键技术更新慢难以升级 友好图形界面计算机读数、分析处理 图形界面小人工读数信息量小 体积小使用方便 体积大相对使用不方便 价格低廉仪器间资源重复利用率高 价格昂贵仪器间一般无法相互利用 软件使得开发维护费用低 开发维护费用昂贵 数据可存储、编辑、打印 数据无法编辑 市场适应能力强 市场适应能力弱 个人可拥有一个实验室 多为实验室等部门拥有 表5-1 虚拟仪器与传统仪器的比较 5.3 虚拟仪器软件开发平台—LabVIEW 5.3.1 LabVIEW的操作模板 LabVIEW共有三个图形化的操作模板如图5-2所示 工具模板 ToolsPalette、控制模板Control Palette、功能模板Function Palette用于创建和运行程序。
这些操作模板可以随意在屏幕上移动并可以放置在屏幕的任意位置11。
a工具模板 b 控制模板 c 功能模板 图5-1 LabVIEW的操作模板 5.3.2 LabVIEW的结构 LabVIEW是美国NI公司开发的一种图形化的编程语言简称G 语言。
设计者利用它可以像搭积木一样轻松组建一个测试系统及构造自己仪器的面板而无需进行任何烦琐的程序
代码的编写。
利用LabVIEW开发平台编制的程序称为虚拟仪器程序简称为VI。
目前LabVIEW 已经成为测试领域应用最广泛和最有前途的软件开发平台之一在国际测控领域LabVIEW 普及率已超过39。
毕业设计
论文 - 3 - LabVIEW开发平台分为两部分前面板即Front Panel 和程序流程图Block Diagram如图5-1所示。
前面板是VI的图形用户接口它集成了用户输入和输出功能为更逼真地模拟传统仪器的工作方式如各种旋钮、开关、按钮、波形图、波形图表等控制与显示模块用户可以根据自己的需要在前面板上放置按钮等控制模块和显示模块。
通过鼠标或者键盘在前面板中输入数据可以观察程序的运行和结果输出。
如图5-2a所示。
程序流程图是指测试程序的内部运行结构用G语言编写也是VI的源程序
代码。
如图5-2b所示。
在程序流程图中对虚拟仪器进行编程以控制和操纵定义在前面板上输入和输出功能。
测试程序绝大部分
工作是在流程图中完成的。
开发完成的测试程序在运行时流程图是不可见的它和文本开发平台如VC中的.h、.cpp等文件的作用是一样的只是LabVIEW流程图的开发是图形化的更简单、高效、直观。
aLabVIEW前面板 bLabVIEW后面板 图5-2 LabVIEW的前后面板 5.3.3 LabVIEW的特点 利用 LabVIEW能产生32位的编译程序这使用户的数据采集、测试和测量得以高速运行。
LabVIEW与传统编程语言如VC、
VB、
Delphi有着诸多相似之处如:相似的数据类型、数据流控制结构、程序调试工具等但二者最大的区别在于传统编程语言是用文本语言编程而LabVIEW用图形语言即各种图标、图形符号、连线等编程。
用LabVIEW编程无需太多编程经验界面非常直观形象都是工程师们熟悉的旋钮、开关、图形等因此LabVIEW对于没有丰富编程经验的工程师们来说无疑是个极好的选择。
再者LabVIEW也提供传统程序语言如C 语言的接口对于其自身不易或不擅长完成的任务如数据处理可通过利用其它编程语言来实现从而最终增强了LabVIEW的整体功能。
LabVIEW作为测试软件开发平台有如下特点 1图形化编程环境LabVIEW的基本编程单元是图标不同的图标表示不同的功能模块。
用LabVIEW编写程序的过程也就是将多个图标用连线连接起来的过程连线表示功能模块之间存在数据的传递。
2可重用性高LabVIEW继承并发展了结构化和模块化程序设计概念使测试程序能够很好地体现分层性、模块化即可以把任意一个测试程序当做顶层程序也可将其当做其他测试程序的子程序这样用户就可以把一个复杂的应用任务分解为一系列、多层次的子任务。
3开发功能高效、通用LabVIEW是一个带有扩展功能和子程序库的通用程序设计系统提供数百种功能模块用户通过拖放及简单的连线就可以在极短的时间内设计 基于虚拟仪器的齿轮变速箱实时监测系统的设计 - 4 - 好一个高效而实用的测试软件再配以相应的硬件就可以完成各种测试任务。
4支持多种仪器和数采硬件的驱动LabVIEW提供了数百种仪器的源码级驱动程序包括DAQ、GPIBIEEE488、PXI、VXI、RS232根据需要还可以在LabVIEW中自行开发各种硬件驱动程序也可通过动态链接库DLL利用其他语言开发驱动函数库从而进一步扩展其功能。
5查错、调试能力强大程序查错无须先编译只要有语法错误LabVIEW就会自动显示并给出错误的类型、原因及准确位置。
进行程序调试时既有传统的程序调试手段如设置断点、单步运行等又有独到的高亮执行工具就像电影中的慢镜头一样使程序动画式执行利于设计者观察程序运行细节。
同时可在任何位置插入任意多的数据探针程序在调试状态下运行时LabVIEW会给出各探针的具体数值通过观察数据流的变化情况、程序运行的逻辑状态就可以来寻找错误、判断原因从而大大缩短程序调试时间。
6支持多种操作系统LabVIEW支持多种系统平台在任何一个平台上开发的LabVIEW 应用程序都可以直接移植到其他平台上。
7网络功能强大LabVIEW支持常用
网络协议如传输控制协议TCP/IP和用户数据报协议UDP方便网络、远程测控系统的开发。
8开放性强LabVIEW具有很强的开放性是一个开放的开发环境能和第三方软件轻松连接如Application Builder用于将用户的VI 程序生成可执行文件、SQLToolkt用于将LabVIEW 程序与本地或远程数据库相连也可调用其它软件如Matlab等12。
5.3.4 虚拟仪器程序的创建过程 一个虚拟仪器程序即 VI 包括三个主要部分前面板、框图程序、图标/连接器。
前面板是虚拟仪器程序交互式图形化用户界面用于设置用户输入和显示程序输出。
目的是仿真真实意义的前面板。
框图程序则是利用图形语言对前面板上的控制量和指标量进行控制。
图标/连接器用于把虚拟仪器
程序定义成一个子程序以便在其它程序中加以调用这使LabVIEW得以实现层次化、模块化编程。
LabVIEW提供了大量的函数库和高级的分析子VI用户只需调出代表仪器功能、操作、数据处理、输出显示的图标输入相关的配置参数连接好类似数据流程的框图就完成了全部的编程工作。
虚拟仪器程序的具体创建过程分为四步 1创建前面板前面板是图形化用户界面用于设置输入数值和观察输出量。
它模仿了实际仪器的面板。
前面板包含了旋钮、按钮、图形和其它控制与显示对象。
通过鼠标和键盘输入数据、控制按钮可在计算机显示器上直接观看结果。
2创建框图程序在前面板窗口的主菜单Windows中选择Show Diagram将前面板窗口切换到框图程序窗口此时会看到与前面板对象对应的端口。
根据需要在功能模板中找到所需的节点并将节点图标放到框图程序窗口。
用数据连线将这些端口和节点的图标连接起来形成一个完整的框图程序。
3创建图标图标是一个虚拟仪器图形化符号每一个VI都有一个默认的图标显示在面板或框图窗口的右上角对于一个VI程序。
作为今后要使用的子VI必须为它设计一个新的图标以供在其它VI方框图中使用而且便于识别。
可使用图标编辑器Icon Editor创建新图标。
4运行和调试程序运行和调试程序是任何一门编程语言编程的最重要的一步。
在LabVIEW中用户可以通过两种方式来运行程序运行和连续运行如果一个VI程序存
毕业设计
论文 - 5 - 在语法错误则在面板工具条上的RUN运行按钮将会显示成一个折断的箭头表示程序有错不能被执行。
单击折断按钮则LabVIEW弹出错误清单窗口单击其中任何一个所列出的错误选用Find功能则出错的对象或端口就会呈高亮状态。
为了查找程序中的逻辑错误希望框图一个节点一个节点地执行可选择单步执行。
使用断点工具可以在程序的某点终止程序执行用探针或者单步方式查看数据。
使用断点工具时单击你希望设置或者清除断点的地方。
当VI程序运行到断点设置处程序被暂停在将要执行的节点以闪烁表示。
按下单步执行按钮闪烁的节点被执行下一个将要执行的节点变为闪烁指示它将要被执行。
调试程序时还可以使用探针工具来查看数据流经某一根连接线时数据值的变化13。
5.4 系统软件结构设计 虚拟仪器技术最核心的思想就是利用计算机的硬
软件资源使本来需要硬件实现的技术软件化以便最大限度的降低系统成本增强系统的功能与灵活性。
软件是虚拟仪器系统的关键没有软件也就无从谈起虚拟仪器了。
本系统采用目前应用最为广泛、上手非常容易的LabVIEW作为系统编写语言该软件具有层次化结构分为驱动层软件和应用层软件。
驱动层软件是控制硬件设备的驱动程序是连接主控计算机与仪器设备的纽带。
在具体编程时只需调用即可。
应用层软件是根据
系统功能要求确定程序的流程图、处理算法是本
设计的关键内容。
根据 LabVIEW软件模块化程序设计思想针对齿轮振动信号的特点结合齿轮振动信号处理的方法设计了基于虚拟仪器的齿轮故障测试软件系统其主要功能包括齿轮特征频率计算和数据采集、信号分析和处理、数据文件管理如图5-3所示 图5-3 系统软件总体结构图 5.5 功能模块设计 利用 LabVIEW丰富的功能函数和强大的分析软件库设计系统各功能模块实现 基于虚拟仪器的齿轮变速箱实时监测系统的设计 - 6 - 系统性能要求。
下面介绍设计中常用的程序流程结构和分析软件库。
1
常用程序流程结构 LabVIEW中用来控制程序流程的结构包括Case结构、While循环结构、For循环结构结构等如图5-4所示。
1Case结构 一般测试系统分析功能都比较多需要用合适的算法判定程序在各个时刻应该运行哪种分析功能。
这种情况一般采用LabVIEW的Case结构该结构类似于C语言中的Switch结构是一个多分支选择结构它根据输入值来决定进入不同的分支流。
2While循环结构 While循环条件结构是一种无限循环结构只要条件满足它就可以一直循环运行下去。
它类似于普通编程语言中的Do 循环和Repeat-until 循环。
While循环的框图是一个大小可变的方框用于执行框中的程序直到条件端子接收到的布尔值为False。
3For循环结构 For循环就是C语言中的For Loop结构一般用于循环次数己知的情况。
For循环具有下面这两个端子N计数端子输入端子一用于指定循环执行的次数i周期端子输出端子一含有循环己经执行的次数。
条件结构 While 结构 For 结构 图5-4 常用程序流程结构图标 2LabVIEW 的分析软件库 LabVIEW的信号处理、数学软件库如图5-5所示包括数值分析、信号处理、曲线拟合以及其他软件分析功能其具体路径为功能—分析。
该软件库是建立虚拟仪器系统的重要工具除了具有数学处理功能外还具有专为仪器工业设计的独特的信号处理与测试功能。
一些基本的模块包括:多种波形的信号生成、时域信号的处理分析、频域信号的处理分析、数字滤波器、各种窗函数、微积分、概率和统计、曲线拟合、线性代数运算等。
数学工具箱还提供了扩展的数学功能如公式分析、求根植、画轮廓线等它是一个用于算术运算数据分析和数据可视化的多用途软件包。
该工具箱具有用图形编程方法来解决高级数学计算的功能。
数学工具箱包括100多个高级算术功能程序例如常微分方程、求解根值、最优化、积分、微分、变换和函数等。
该工具箱可以应用于许多场合如过程控制模拟生产制造与成本最优化以及机械系统的模拟。
除了 Signal Processing和Mathematics软件库NI公司还提供一些附加的分析工具库借助这些分析软件包LabVIEW可以具有更加强大的分析功能14。
毕业设计论文 - 7 - 图5-5 信号处理和数学子模块 5.5.1 时域参数的分析 对时域的分析是时域分析的一个重要的部分因为时域参数能够具体准确的反映出系统的状态特征因而对时域参数的分析至关重要这些时域参数包括两个部分一部分是有量纲特征值包括最大值、最小值、均值、均方根值、峰峰值等等15另一部分是无量纲特征之包括峭度指标、裕度指标、峰值指标等等首先要将相关的时域参数求解出来而LabVIEW中有很全面的求解这些参数值的工具快捷而方便。
其具体求解程序图如图5-6所示 图5-6 时域参数的求解程序图 5.5.2 时频域波形的分析 通过波形的分析可以很直观的检测出齿轮的实时运行状态。
基于虚拟仪器的齿轮变速箱实时监测系统的设计 - 8 - 1时域波形的分析可以简单快速的对齿轮箱运行状态检测和故障诊断给出一个结果特别是当信号中明显含有简谐成分、周期成分或瞬时脉冲成分时可以利用时域波形作初步和直观的判断。
对应于不同的故障其振动或噪声波形表现出不同的形态。
如点蚀故障会使波形中出现明显的幅值调制现象裂纹或断齿故障会使波形中出现明显的周期性冲击16。
2通过对频域波形的分析可以获得信号的频率结构以各谐波幅值和相位信息进而推断出产生这种变化的根源。
频域分析也已成为目前运用最广泛的故障诊断方法。
频谱能够分析信号的能量或功率的频率分布通常能够提供比时域波形更加直观的特征信息。
该方法理论上比较成熟适合于分析平稳信号16。
在齿轮振动或噪声信号分析中为了抓住故障引发的主要特征采用幅值谱或功率谱本设计里采用得是对功率谱的分析。
其具体程序框图如图5-7所示 图5-7 时频域波形分析程序图 5.53 波形文件的保存与读取 对波形文件的分析之后关键的是要能把这些文件保存起来以便可以在日后拿出来进行再分析或作为一个参照所以对波形文件的存取也是不可或缺的。
存取方法如图5-8所示 a 波形文件的保存 毕业设计
论文 - 9 - b 波形文件的读取 图5-8 波形文件的保存与读取 5.5.4 文本文件的读取与数据提取 图5-9 文本文件的读取与数据的提取 本程序段的关键部分是文本文件的读取与数据的提取首先在后面板上打开功能面板将鼠标置于文件I/O选项上在弹出的对话框内找到读取文本文件这个工具并将其拖至面板上然后分别在其前后分别创建文件路径与字符串的读取显示接下来是关键的一步就是找到LabVIEW软件VI中自带的一个工具其作用就是把字符串中的数据提取出来供其它分析其查找步骤为打开功能面板—选择VI—Program Files—National Instruments—LabVIEW 8.2—examples—general—strings.llb—Extract Numbers然后点击确定即可找到次工具并将其与读取文本文件连线即可如图5-9所示。
基于虚拟仪器的齿轮变速箱实时监测系统的设计 - 10 - 56 总程序图的整合 1对各功能模块做出明确的分析以后关键要进行相互的联系即将各部分整合到一起构成一个完整的齿轮箱故障检测分析程序图通过整合其完整的程序图如图5-10所示 图5-10 总程序图 毕业设计
论文 - 11 - 2其程序前面板如图5-11所示 图5-11 前面板显示 从前面板可以直观的看出本设计主要包括温度检测与报警部分、数据读取显示部分、时域波形显示及主要时域参数显示部分功率谱分析及相关参数部分视频分析部分和齿轮状态检测显示部分等组成能够清晰的反映出齿轮的运行状态。
5.7 系统功能调试 通过前面对硬件和软件的设计现已构建成一个完整的齿轮箱故障诊断系统本设计系统的主要性能指标为频率范围为010kHZ通道数为四采样频率为12kHZ主要完成数据的采集读取以及时域频域的相关参数和波形的分析。
为了验证本系统的正确性下面对本系统进行调试并把实验的记录结果记录下来。
所取验证数据是根据以往的已经得到准确验证的数据作为标准在此用来测试本系统的正确性。
基于虚拟仪器的齿轮变速箱实时监测系统的设计 - 12 - 5.7.1 对齿轮正常运转的测试 首先打开LabVIEW软件通过打开文件打开已经做好的程序在进行测试运行之前先将齿轮运行正确的数据文件通过前面板的打开文件按钮加载到本程序然后在路经显示框内能够看到加载数据的路经完成这些操作之后点击运行程序此时可以看到读取数.