本科毕业设计说明书(论文)第 2 页 共 25 页
1.1.2 LabVIEW概述
LabVIEW是目前应用最广、发展最快、功能最强的图形化软件开发集成环境。虽然LabVIEW本身是一个功能比较完整的软件开发环境,但它是为常规的BASIC或C语言设计的,LabVIEW是编程语言而不仅仅是一个软件开发环境。作为编写应用程序的语言,除了编程方式不同外,LabVIEW具备语言的所有特性,因此又称之为G语言[1]。
G语言是一种适合应用于任何编程任务,具有扩展函数库的通用编程语言。和BASIC或C语言一样,G语言定义了数据模型、结构模型和模块调用语法规则等编程语言的基本要素,在功能完整性上和应用灵活性上不逊于任何高级语言,同时G语言丰富的扩展函数库还为客户编程提供了极大的方便。这些扩展函数库主要面向数据采集、GPIB和串行仪器控制,以及数据分析、数据显示和数据存储。G语言还包括常用的程序调试工具,比如允许设置断点、单步调试、数据探针和动态显示执行程序流程等功能[2,3]。G语言与传统高级编程语言最大的差别在于编程方式,一般高级语言采用文本编程,而G语言采用图形化编程方式。G语言编写的程序称为虚拟仪器VI,因为它的界面和功能与真实仪器十分相像,在LabVIEW环境下开发的应用程序都被冠以.VI的后缀,以表示虚拟仪器的含义。一个VI由前面板、数据流框图和图标连接端口组成[4,5]。
虚拟仪器技术同其他技术相比,具有四大优势:一是性能高,虚拟仪器技术是在PC技术的基础上发展起来的,所以完全\继承\了以现成即用的PC技术为主导的最新商业技术的优点,包括功能超卓的处理器和文件I/O,使您在数据高速导入磁盘的同时就能实时地进行复杂的分析。此外,不断发展的因特网和越来越快的计算机网络使得虚拟仪器技术展现其更强大的优势。二是扩展性强,NI的软硬件工具使得我们不再受限于当前的技术中。这得益于NI软件的灵活性,只需更新计算机或测量硬件,就能以最少的硬件投资和极少的、甚至无需软件上的升级即可改进整个系统。在利用最新科技的时候,我们可以把它们集成到现有的测量设备,最终以较少的成本加速产品上市的时间。三是节约时间,在驱动和应用两个层面上,NI高效的软件构架能与计算机、仪器仪表和通讯方面的最新技术结合在一起。NI设计这一软件构架的初衷就是为了方便用户的操作,同时还提供了灵活性和强大的功能,使我们轻松地配置、创建、发布、维护和修改高
本科毕业设计说明书(论文)第 3 页 共 25 页
性能、低成本的测量和控制解决方案。四是无缝集成,虚拟仪器技术从本质上说是一个集成的软硬件概念。随着产品在功能上不断地趋于复杂,工程师们通常需要集成多个测量设备来满足完整的测试需求,而连接和集成这些不同设备总是要耗费大量的时间。NI的虚拟仪器软件平台为所有的I/O设备提供了标准的接口,帮助我们轻松地将多个测量设备集成到单个系统,减少了任务的复杂性。 需要特别指出的是:虚拟仪器实质上是一种创新的仪器设计思想,而非一种具体的仪器。换言之,虚拟仪器可以有各种各样的形式,完全取决于实际的物理系统和构成仪器数据采集单元的硬件类型,但是有一点是相同的,那就是虚拟仪器离不开计算机控制,软件是虚拟仪器设计中最重要的,也是最复杂的[6]。
1.2 论文主要工作
针对本次选的课题:基于LabVIEW的伺服系统测试仪的设计。利用LabVIEW生成正弦信号、等速信号、阶跃信号,通过与反馈的数据波形进行比较计算之间的误差,正弦和等速都是计算最大误差、最小误差和均方差三个物理量,而阶跃信号是计算超调量、调节时间和最后一点的数据。其中反馈的数据以及波形是自己在先前生成的三种波形上加上了一个均匀白噪波而形成的,在此基础上再做进一步的误差分析。
1.3 内容安排
第一章绪论,概述了本课题的背景和意义,简单介绍了伺服系统以及LabVIEW的发展现状和应用实例,明确了本文的主要工作,并列出了各章节的内容安排。
第二章,系统的总体设计,介绍总的软件前面板的设计以及整个的程序框图。说明了整体的结构框架,以及其中的一些控件做了简单的介绍和一些注意事项。
第三章,系统各个模块的分析,其中有正弦信号、等速信号和阶跃信号三种波形的生成;三种波形加上均匀白噪波后的波形以及数据;数据的保存与读取;三种信号的误差分析。
本科毕业设计说明书(论文)第 4 页 共 25 页
2 系统总体设计
LabVIEW中,一个基本的VI由3个部分组成:前面板、程序框图和图标连
接端口。前面板就是图形化用户界面,用于设置输入数值和观察输出量,可以模拟真实仪器的前面板。前面板由控制、指示和装饰构成。每一个前面板都有一个框图程序与之对应。框图程序用图形化编程语言编写,可以把它理解成传统编程语言程序中的源代码。用图形而不是用传统的文本代码进行编程是LabVIEW最大的特色。框图程序由节点、端口和数据连线组成。
人机交互界面的定制包含两个方面的内容:其一是程序运行时界面的显示模式,其二是程序对操作的响应方式。可控制的对象包括按钮、键盘输入前面板对象和选择框等。LabVIEW前面板的最大特色是所见即所得,即在编程中排布的界面就是软件运行时的界面。设计人机交互界面时,主要从审美和方便实用的角度出发[7]。在前面板的设计中,为了美化界面利用控件中的修饰控件做了一写改善,也写入了一些字。
整个系统设计的前面板由六个按钮组成,分别是三种波形的生成、三种波形的生成+白噪、正弦和等速信号的误差分析、阶跃响应分析1、阶跃响应分析2。阶跃响应分析的1,2分别是衰减振荡和单调变化两种情况的误差分析,详细的说明在第三章。
整个设计的总的前面板设计如图2.1所示,
本科毕业设计说明书(论文)第 5 页 共 25 页
图2.1 总的前面板
只要点击某个按钮,就会进入相应的子VI的前面板,然后再进行对此VI的操作,操作完成后,点击相应的停止按钮就会进入总程序的前面板,再进行相应的操作。
整个系统总的程序框图由一个“事件结构”完成,事件结构由框架、超时端口、事件数据节点、递增递减按钮和选择标签按钮。事件结构与层叠式顺序结构和选择结构类似,是一个多框架的结构,由多个框架组成。事件结构是一种多选择结构,能够同时响应多个结构,能够同时响应多个事件。事件结构与框图程序中的其他节点、模块在执行时的流程规则没有什么不同,当没有任何事件发生时,事件结构就会处于睡眠状态,直到有一个或多个预先设定的事件发生时,事件结构才会自动苏醒,并根据发生的事件执行用户预先设定的动作[8]。 具体方法如下,
1) 把做好的各个子VI放进事件结构中。 2) 编辑事件为调用按钮的值改变。
3) 设置子VI节点,在程序框图中的子VI图标上点击右键可以看到这个选项。
4) 勾选出现的对话框中的前面三个复选框[9]。
本科毕业设计说明书(论文)第 6 页 共 25 页
完成以上四步便可以得到最后的总程序框图如图2.2所示,
图2.2 总程序框图
其它几类都与之类似,这里不都一一截图出来。