《毕业设计论文基于Labview的虚拟信号发生器的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于Labview的虚拟信号发生器的设计.doc(13页珍藏版)》请在三一办公上搜索。
1、课题名称 基于LabVIEW8.0的虚拟函数信号发生器的设计指导教师姓名 学生姓名 专 业 自动化学 号 基于LabVIEW的虚拟函数信号发生器的设计摘 要 本文实现了基于LabVIEW8.5的虚拟正弦波、方波、三角波、锯齿波以及任意信号波形的信号发生。操作人员可以根据需要,改变波形的频率、幅值、相位、偏移量等参数,并可保存波形的分析参数到指定文件。本论文首先简介了虚拟函数信号发生器的开发平台,及虚拟信号发生器的设计思路,并且给出了基于LabVIEW的虚拟信号发生器的前面板和程序设计流程图,讲述了功能模块的设计步骤,提供了虚拟发生器的前面板。 本仪器系统操作简便,设计灵活,具有很强的适应性。【
2、关键词】:虚拟仪器,LabVIEW,信号发生器第一章 虚拟仪器(Virtual Instrument)1.1 虚拟仪器概念虚拟仪器的起源可追溯到20世纪70年代。“虚拟”的含义主要是强调了软件在这类仪器中的作用,体现了虚拟仪器与主要通过硬件实现各种功能的传统仪器的不同。由于虚拟仪器结构形式的多样性和适用领域的广泛性,目前对于虚拟仪器的概念还没有统一的定义。美国国家仪器公司(National Instruments Corporation,NI)认为,虚拟仪器是由计算机硬件资源、模块化仪器硬件和用于数据分析、过程通信及图形用户界面的软件组成的测控系统,是一种计算机操纵的模块化仪器系统。虚拟仪器主
3、要由通用的计算机资源(例如微处理器、内存、消声器)、应用软件和仪器硬件(例如A/D、D/A、数字I/O、定时器、信号调理等)等构成。使用者利用应用软件将计算机资源和仪器硬件结合起来,通过友好的图形界面来操作计算机,完成对测试信号的采集、分析、判断、显示和数据处理等功能。虚拟仪器中的硬件主要用于解决信号的调理以及输入、输出问题。而软件主要用于实现对数据的提取、分析处理、显示以及对硬件的控制等功能,这些功能在传统电子仪器中往往通过硬件来实现。图1-1给出了一种利用数据采集卡实现的虚拟仪器。 信号调理 数据处理 数据采集卡 传感器 虚拟仪器面板 图1-1 常见虚拟仪器的组件方案 与传统仪器相比,虚拟
4、仪器具有以下优点。 (1)虚拟仪器的软件和硬件具有开放性、模块化、互换性以及可重复使用等优点。例如,为了提高仪器的性能,可加入一个通用的仪器模块,或者更换一个仪器模板,而不必重新购买整个仪器。 (2)在通用硬件平台搭建后,由软件来实现仪器的具体功能,即软件在虚拟仪器中具有重要的作用。 (3)虚拟仪器的功能是由用户根据实际需要通过软件来定义的,而不是事先由仪器商定义的。 (4)虚拟仪器研制的周期较传统仪器大为缩短。 (5)虚拟仪器的性价比较高。 (6)由于虚拟仪器技术是建立在计算机技术和数据采集技术基础上的,因而技术更新较快、成本较低、测试自动化程度较高,而且可与网络及其他设备互联。 (7)虚拟
5、仪器具有友好、灵活的人机界面,传统仪器的界面较呆板。1.2 虚拟仪器的分类虚拟仪器随着计算机的发展和采用总线方式的不同,一般可分为六种类型。 (1)PC总线插卡型虚拟仪器 这种方式借助插入计算机内的数据采集卡与专用的软件构成测试系统。PC-DAQ/PCI插卡是最廉价的形式,从数据采集的前向通道到后向通道的各个环节都有对应的产品。它充分利用了PC的机箱、总线、电源及软件资源,因而也受PC机箱环境和计算机总线的限制,存在诸多的不足。美国NI公司提出的PXI总线,是PCI总线计算机在仪器领域的扩展,由它形成了具有性能价格比优势的最新虚拟仪器测试系统,但由于技术新、成本高,目前使用还不普及。 (2)G
6、PIB总线方式的虚拟仪器GPIB技术是IEEE488标准的虚拟仪器早期的发展阶段。它的出现使电子测量独立的单台手工操作向大规模自动测试系统发展,典型的GPIB系统由一台PC机、一块GPIB接口卡和若干台BPIB形式的仪器通过GPIB电缆连接而成。用GPIB通用仪器总线,可替代传统的人工操作方式,在计算机的控制下完成复杂的测量。我国几百家厂商的数以万计的仪器都配置了GPIB总线,应用遍及科学研究、工程开发、医药卫生、自动测试设备、射频、微波等各个领域。 (3)VXI总线方式虚拟仪器VXI总线是一种高速计算机总线VME总线在VI领域的扩展,它具有稳定的电源,强有力的冷却能力和严格的RFI/EMI屏
7、蔽。由于它的标准开放、结构紧凑、数据吞吐能力强、定时和同步精确、模块可重复利用、众多仪器厂家支持的优点,很快得到广泛的应用。经过多年的发展,VXI系统的组建和使用越来越方便,尤其是组建大、中规模自动测量系统以及对速度、精度要求高的场合。有其他仪器无法比拟的优势。然而,组建VXI总线要求有机箱、零槽管理器及嵌入式控制器,造价比较高。 (4)PXI总线方式虚拟仪器PXI总线方式是PCI总线内核技术增加了成熟的技术规范和要求形成的,增加了多板同步触发总线的技术规范和要求形成的,增加了多板发总线,以使用于相邻模块的高速通讯的局总线。PXI的高度可扩展性。PXI具有8个扩展槽,而台式PCI系统只有34个
8、扩展槽,通过使用PCIPCI桥接器,可扩展到256个扩展槽,台式PC的性能价格比和PCI总线面向仪器领域的扩展优势结合起来,将形成未来的虚拟仪器平台。 (5)并行总线方式虚拟仪器最新发展的一系列可连接到计算机并行接口的测试装置,它们把仪器硬件集成在一个采集盒内,完成各种测量功能。 (6)串行总线方式虚拟仪器USB通用串行总线,是简化PC与外设之间互联的一种标准总线,它使设备具有热插拔、即插即用、自动配置的能力。USB的级联星形拓扑结构大大扩充了外设数量,使用外设更加便捷、快速。而USB2.0标准更是将数据传输速率提高到了一个新的高度,因而具有很好的应用前景。由于其价格低廉、用途广泛、特别适合于
9、研发部门和各种教学实验室应用。1.3 虚拟仪器系统的构成虚拟仪器由硬件设备与接口、设备驱动软件和虚拟仪器面板组成。其中,硬件设备与接口可以是各种以PC为基础的内置功能插卡、通用接口总线接口卡、串行口、VXI总线仪器接口等设备,或者是其它各种可程控的外置测试设备,设备驱动软件是直接控制各种硬件接口的驱动程序,虚拟仪器通过底层设备驱动软件与真实的仪器系统进行通讯,并以虚拟仪器面板的形式在计算机屏幕上显示与真实仪器面板操作元素相对应的各种控件。用户用鼠标操作虚拟仪器的面板就如同操作真实仪器一样真实与方便。 1.3.1 硬件系统虚拟仪器的硬件系统主要由传感器、信号调理电路、数据采集设备(包括各种I/O
10、接口设备、通信适配器、模块化仪器机箱等)以及计算机组成。其中,计算机是虚拟仪器硬件平台的核心;传感器是虚拟仪器系统中的前置部件,将被测的非电量转化为电量;信号调理电路的主要功能是对传感器输出的模拟信号进行放大、滤波、隔离等;数据采集设备的主要作用是对被测信号进行采样、放大、模数转换等。根据所使用的仪器硬件不同,虚拟仪器硬件系统可以分为PC-DAQ系统,GPIB系统、VXI/PXI/LXI系统、串口系统、现场总线系统等。1.3.2 软件系统与虚拟仪器硬件模块在世界范围内的开放与标准化相适应,虚拟仪器的软件结构也要求具有开放的、统一的、格式和标准。为此,1993年VPP(VXI Plug&Play
11、)联盟成立,其目的在于补充和发展VXI总线规范中对虚拟仪器软件结构的定义。目前,VPP规范已被广大的仪器生产厂家所接受和使用。根据VPP系统规范的定义,虚拟仪器的软件结构从底层到顶层分别为:输入输出接口层、仪器驱动程序层和应用软件层。第二章 LabVIEW简介 LabVIEW(Laboratory Virtual instrument Engineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP
12、/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。图形化的程序语言,又称为“”语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的位编译器。像许多重要的软
13、件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。2.1 LabVIEW应用程序的构成所有的LabVIEW应用程序,即虚拟仪器(VI),它包括前面板(front panel)、流程图(block diagram)以及图标/连结器(icon/connector)三部分。前面板前面板是图形用户界面,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制(control)和显示对象(indicator)。图2-1所示是一个随机信号发生和显示的简单VI的前面板,上面有一个显示对象,以曲线的方式显示了所产生的
14、一系列随机数。还有两个控制对象:控制开关可以启动和停止工作;循环延时能够控制随机信号发生的循环时间。显然,并非简单地画两个控件就可以运行,在前面板后还有一个与之配套的流程图。图2-1 前面板 流程图流程图提供VI的图形化源程序。在流程图中对VI编程,以控制和操纵定义在前面板上的输入和输出功能。流程图中包括前面板上的控件的连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。2.2 LabVIEW中的操作模板LabVIEW具有多个图形化的操作模板,用于创建和运行程序。这些操作模板可以随意在屏幕上移动,并可以放置在屏幕的任意位置。操纵模板共有三类,为工具(Tools)选板、控
15、制(Controls)选板和函数(Functions)选板。工具选板(Tools Palette)图2-3工具选板工具模板用于创建、修改和调试VI程序的工具。如果该模板没有出现,则可以在【查看(V)】菜单下选择【工具选板(T)】命令以显示该模板。当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。当从【查看(V)】菜单下选择了【工具选板(T)】功能后,把工具选板内选定的任一种工具光标放在流程图程序的子程序(Sub VI)或图标上,就会显示相应的帮助信息。与工具模板不同,控制和功能模板只显示顶层子模板的图标。这些顶层子模板中包含许多不同的控制或功能子模板。通过这些控制或功能子模板可以
16、找到创建程序所需的面板对象和框图对象。用鼠标点击顶层子模板图标就可以展开对应的控制或功能子模板,只需按下控制或功能子模板左上角的大头针就可以把对这个子模板变成浮动板留在屏幕上。控制选板用控制选板可以给前面板添加输入控制和输出显示。每个图标代表一个子模板。如果控制选板不显示,可以用【查看(V)】菜单的【控制选板(T)】功能打开它,也可以在前面板的空白处,点击鼠标右键,以弹出控制选板。 图2-4 控制选板函数选板(Functions Palette)函数选板是创建框图程序的工具。该模板上的每一个顶层图标都表示一个子模板。若功能选板不出现,则可以用【查看(V)】菜单下的【功能选板(T)】功能打开它,
17、也可以在框图程序窗口的空白处点击鼠标右键以弹出功能选板。 注:只有打开了框图程序窗口,才能出现功能选板。图2-5 函数选板2.3 程序调试技术2.3.1 找出语法错误如果一个VI程序存在语法错误,则在面板工具条上的运行按钮将会变成一个折断的箭头,表示程序不能被执行。这时这个按钮被称作错误列表。点击它,则LabVIEW弹出错误清单窗口,点击其中任何一个所列出的错误,选用Find功能,则出错的对象或端口就会变成高亮。2.3.2 设置执行程序高亮在LabVIEW的工具条上有一个画着灯泡的按钮,这个按钮叫做“高亮执行”按钮上。点击这个按钮使该按钮图标变成高亮形式,再点击运行按钮,VI程序就以较慢的速度
18、运行,没有被执行的代码灰色显示,执行后的代码高亮显示,并显示数据流线上的数据值。这样,你就可以在根据数据的流动状态跟踪程序的执行。2.3.3断点与单步执行 为了查找程序中的逻辑错误,你也许希望框图程序一个节点一个节点地执行。使用断点工具可以在程序的某一地点中止程序执行,用探针或者单步方式查看数据。使用断点工具时,点击你希望设置或者清除断点的地方。断点的显示对于节点或者图框表示为红框,对于连线表示为红点。当VI程序运行到断点被设置处,程序被暂停在将要执行的节点,以闪烁表示。按下单步执行按钮,闪烁的节点被执行,下一个将要执行的节点变为闪烁,指示它将被执行。你也可以点击暂停按钮,这样程序将连续执行直
19、到下一个断点。2.3.4 探针你可以用探针工具来查看当框图程序流经某一根连接线时的数据值。从工具选板选择探针工具,再用鼠标左建点击你希望放置探针的连接线。这时显示器上会出现一个探针显示窗口。该窗口总是被显示在前面板窗口或框图窗口的上面。在框图中使用选择工具或连线工具,在连线上点击鼠标右键,在连线的弹出式菜单中选择“探针”命令,同样可以为该连线加上一个探针。第三章 虚拟函数信号发生器的设计当无法获得真实信号或需要产生与系统相适应的测试信号时,需要利用软件产生仿真信号。仿真信号可以是模拟信号,也可以是数字信号。如设计一个虚拟信号发生器,可产生常用信号如正弦波、方波、锯齿波和三角波,也可产生任意波形
20、信号。该信号发生器可用于虚拟电压表、虚拟示波器,作为仿真信号输出,与实际输入信号进行比较;还可设计一个数据流发生器,应用于逻辑分析仪,作为触发信号或其他数字系统的测试输入信号。LabVIEW8.5的函数模板提供了丰富的波形函数,用于产生模拟信号,如图3-1所示。基本函数发生器:基本函数发生器:由信号类型可以选择生成波形的类型,采样信息包含每秒采样率,和波形的采样数。(默认值都为1000)。 波形从信号输出中输出来。3.1虚拟函数信号发生器前面板的设计前面板用于设置产生波形的参数和观察输出波形。首先,前面板中应有信号发生器所涉及的输入变量,如频率、幅度、相位、直流偏移量和占空比(方波涉及)等常用
21、信号的基本参数,还应包含用于选择产生常用信号还是任意波形信号的下拉列表,选择常用信号的下拉列表以及用于键入任意波形公式的输入字符串变量;其次,一个直观的波形图也是必不可少的,操作人员可以通过波形图对信号的波形进行定性或是定量分析。最后,还要有开关控制键和存盘键,用于控制信号发生器的工作状态。信号发生器的前面板如图3-2所示。图3-2 信号发生器前面板图2-1 前面板设计步骤如下:(1) 打开LabVIEW8.5,在新建窗口中单击VI,创建一个新的VI程序,可以看到有前面板和程序框图两个窗口,以下操作均在前面板中进行。(2) 选择 控件Express数值输入控件旋钮,在前面板放置一个旋钮输入变量
22、,同时输入“频率(Hz)”修改旋钮的标签,双击旋钮的起始值,键入1,双击终值,键入10,使频率的变化范围在110。同理,依次在前面板中放入旋钮输入变量并把标签改为“幅度(V)”、“直流偏移量(V)”、“相位(度)”等,量程改为010、-100100、0360、0100。(3)添加一个布尔开关,控制程序数据采集开关。选择 Express按钮与开关确定按钮,改标签为 “stop”。 注(见图3-4):选中“波形图”,单击右键,选择 显示项,将“图例”、“标尺图例”、“图形工具选板”、“游标图例”、“X滚动条”选中,这样操作人员就可以更方便的使用图形工具。“图例”可用来设置曲线的各种属性,包括线型(
23、实线、虚线、点划线等)、线粗细、颜色以及数据点的形状等。“标尺图例”用来设置坐标刻度的数据格式、类型(普通坐标或对数坐标),坐标轴名称以及刻度栅格的颜色等。3.2虚拟函数信号发生器程序框图的设计在此设计中,第一步先创建一个模拟输出电压通道;第二步设置一个基本函数信号发生器,同时创建偏移量、信号类型、频率、相位的输入控件;第三步将DAQmx Timing 改为使用波形,同时根据输入波形界限设置样时钟频率,并设置样式为连续点。写波形到输出存储器中。第四步启动VI。第五步连续不断的循环直到使用者按下“STOP”按钮,并每隔100ms检查程序任务是否结束。第六步清除任务。第七步使用一个对话框呈现错误提
24、示与警告。采集任务的启动和停止运行采样了While循环,对应了传统函数发生器的电源开关。只有用户按下停止运行开关,即传递给条件端口的布尔值为FALSE时,才停止执行方框图内的程序。第四章 总结从拿到设计题目到论文完成,这中间花费了一些时日,也从中收获了许多。其中不只是单纯的专业知识,更多的是对这个毕业设计的一些感悟。之前只是对虚拟仪器略有耳闻,完成这个设计后,我对虚拟仪器的概念和发展前景有了一个更清晰、更详细的了解。设计虚拟仪器时要用到LabVIEW软件,而于我来说是一个完全陌生的东西。这期间通过对LabVIEW软件的学习 、使用,使我基本掌握它的使用流程并能够使用它来完成一些简单虚拟仪器的设
25、计和调试。说实话,对于一个没有使用过LabVIEW的人来说,上手并不难。我想,这要得益于该软件友好易用的用户界面、灵活多变的使用模式,就好比如今智能手机的操作系统一样,虽说有同样的内核,但不同手机厂商生产的手机的好评率却高低不一,这其中一个关键的因素便是是否有一个友好的用户界面,一个友好的用户界面能够给用户带来绝佳的使用体验,而一个晦涩难懂的用户界面却会让你丢掉大批的客户群。在以后的学习、工作中,肯定会有各种各样的任务,也会遇到不同类型、有不同需求的客户。我想,当你设计一款产品的时候,只有有意识的尽量从用户的使用角度出发,才能获得用户的好评和认可。参考文献1 陈锡辉、张银鸿.LABVIEW8.20程序设计从入门到精通 北京:清华大学出版社2王磊,陶梅. 精通LabVIEW 8.XM. 北京:电子工业出版社,20083百度百科 虚拟仪器致谢在本论文的写作过程中,得到了肖老师的悉心指导,对此我表示衷心的感谢。同时左老师也为我提供了实验的环境,与同学进行了深入的讨论,在此也一并对大家的支持和帮助表示谢意。由于本人水平有限,论文中疏漏之处在所难免,敬请老师指正。13