基于LabVIEW的虚拟数字示波器设计.doc_第1页
基于LabVIEW的虚拟数字示波器设计.doc_第2页
基于LabVIEW的虚拟数字示波器设计.doc_第3页
基于LabVIEW的虚拟数字示波器设计.doc_第4页
基于LabVIEW的虚拟数字示波器设计.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

平顶山工学院毕业设计论文基于LabVIEW的虚拟数字示波器设计Design of virtual digital oscillograph based on LabVIEW作 者: 指导教师::专 业:电气工程及其自动化 班 级:1212041摘 要随着现代科学技术的发展,越来越多的信号采集、信号处理、结果显示对示波器功能有着高的要求。因此,传统示波器功能问题日益引起人们的重视。 虚拟仪器是现代计算机软硬件技术飞速发展的产物,它正逐步取代传统的电子仪器,是现代电工电子测量仪器的发展方向。将虚拟仪器技术引入到示波器设计中具有极其广阔的应用前景。在此基础上,利用美国NI公司的虚拟仪器开发环境LabVIEW设计了一种新型示波器虚拟两通道数字示波器。虚拟两通道数字示波器是虚拟仪器技术的一种具体应用,它将软件和虚拟仪器硬件精密结合在一起,在计算机上虚拟地实现了示波器的各种功能。虚拟两通道数字示波器系统由信号采集、信号处理和结果显示三大部分构成。因为没有数据采集卡,所以信号采集部分是由软件模拟实现的。测试结果表明,本文设计的两通道数字示波器系统设计正确。关键词:虚拟仪器;示波器;LabVIEWAbstractWhih the development of modern science and technology, more signal acquisition、more signal processing and more output display need better oscillograph functions.So,people attach more importance to the problem of oscillograph functions. The virtual instrument is follow-on product outcome of software and hardware of computer technique,and it is replacing traditional electronic instrumentation step by step,and is the development direction of modern electricians electronic measurement instrument.leading the virtual instrument technique to the oscillograph design possesses the most vast application foreground.Among.The paper design the studying of a new kind of oscillograph-virtual tuo channels digital oscillograph. Virtual tuo channels digital oscillograph is the real application of virtual instrument technology. It hangs hardware with software together tightly and realizes every function of common oscillograph. Virtual digital oscillograph system includes signal acquisition , signal processing and output display. As we dont have date acquisition clip,so date acquisition is completed by software. The test result indicates that two channels digital oscillograph system designed by this paper is correct. Key Words: Virtual Instrument; Oscillograph; LabVIEW.目 录引 言1第一章:虚拟仪器21.1虚拟仪器概述21.2 虚拟仪器现状及其发展趋势31.3虚拟仪器的设计步骤4第二章:LabVIEW基础62.1 LabVIEW简介62.1.1 LabVIEW软件62.1.2 LabVIEW 软件的特点62.2 LabVIEW的运行机制72.2.1LabVIEW应用程序的基本构成72.2.2LabVIEW程序调试技术82.2.3 子VI的建立9第三章 示波器设计113.1 两通道数字示波器系统总体设计113.2两通道数字示波器控制程序的主界面(前面板)123.3 两通道数字示波器部分功能模块的程序框图133.3.1 触发控制程序133.3.2 生成波形图的Y轴及纵向缩放波形143.3.3生成波形图的X轴及横向缩放波形153.3.4 模拟采集数据及生成波形数据183.3.5 数据模拟采集、数据处理及波形显示213.3.6Chart的独有控件233.4 两通道数字示波器控制程序总框图(后面板)25结 论26后 记27参 考 文 献2828引 言虚拟仪器技术是基于计算机的仪器及测量技术。与传统仪器技术不同,虚拟仪器技术指在包含数据采集设备的通用计算机平台上,根据需求可以高效率地构建起形形色色的测量系统。对大多数用户而言,主要的工作变成了软件的设计。虚拟仪器技术突破了传统仪器的局限,可以将许多信号处理的方法方便地应用于测量中,并且为自动测量和网络化测量创造条件。现在,虚拟仪器已经越来越多地出现于工厂及其他民用场合。虚拟仪器技术的提出与发展,标志着二十一世纪自动测试与电子测量仪器领域技术发展的一个重要方向。所谓虚拟仪器,就是在通用的计算机平台上定义和设计仪器的测试功能,使用者操作这台计算机,就像是在使用一台专门设计的电子仪器。传统台式仪器是由仪器厂家设计并定义好功能的一个封闭结构,它有固定的输入/输出接口和仪器操作面板,每种仪器实现一类特定的测量功能,并以确定的方式提供给用户。从一般的仪器设计模型看,一种仪器无非是由数据采集、分析处理、人机交互和显示等几部分功能模块组成的整体。因此我们可以设想在必要的数据采集硬件和通用计算机支持下,通过软件设计实现仪器的全部功能,这就是虚拟仪器设计的核心。与传统仪器相比,虚拟仪器除了在性能、易用性、用户可定制性等方面具有更多优点外,在工程应用和社会经济效益方面也具有突出优势。一方面,目前我国高档台式仪器如数字示波器、频谱分析仪、逻辑分析仪等还主要依赖进口,这些仪器加工工艺复杂、对制造水平要求高,生产突破有困难,采用虚拟仪器技术可以通过只采购必要的通用数据采集硬件来设计资金的仪器系统;另一方面,用户可以将一些先进的数字信号处理算法应用于虚拟仪器,提供传统台式仪器不具备的功能,而且完全可以通过软件配置实现多功能集成的仪器设计。因此,可以说虚拟仪器代表了未来测量仪器设计发展的方向。虚拟仪器技术目前在国外发展很快,以美国国家仪器公司(NI公司)为代表的一批厂商已经在市场上推出了基于虚拟仪器技术而设计的商品化仪器产品。数字示波器是在科学研究和工程设计中广泛应用的一种通用仪器。虚拟的数字示波器也将伴随着虚拟仪器的发展而逐渐取代传统示波器。第一章:虚拟仪器1.1虚拟仪器概述虚拟仪器是全新概念的最新一代。自1987年诞生以来,这一技术与前几代测试仪器相比,以前所未有的速度迅猛发展。虚拟仪器(virtual instrument,简称VI)是现代计算机技术和仪器技术深层次结合的产物,是当今计算机辅助测试(CAT)领域的一项重要技术。虚拟仪器是计算机硬件资源、仪器与测控系统硬件资源和虚拟仪器软件资源三者的有效结合。所谓虚拟仪器,就是在以计算机为核心的硬件平台上,其功能由用户设计和定义,具有虚拟面板,其测试功能由测试软件实现的一种计算机仪器系统。虚拟仪器的实质是利用计算机显示功能来模拟传统仪器的控制面板,以多种形式表达输出检测结果;利用I/O接口设备完成信号的采集、测量与调理,从而完成各种测试功能。虚拟仪器系统是基于PC构成的,它的硬件部分往往具有很大程度上的通用性,软件是系统的核心,这样使它的实现不是强调物理形式。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。虚拟仪器的主要特点有:n 尽可能采用了通用的硬件,各种仪器的差异主要是软件。n 可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。n 用户可以根据自己的需要定义和制造各种仪器。n 开发和维护费用低,易升级,易于其他设备互联虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。普通的PC有一些不可避免的弱点。用它构建的虚拟仪器或计算机测试系统性能不可能太高。目前作为计算机化仪器的一个重要发展方向是制定了VXI标准,这是一种插卡式的仪器。每一种仪器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。这些卡插入标准的VXI机箱,再与计算机相连,就组成了一个测试系统。VXI仪器价格昂贵,目前又推出了一种较为便宜的PXI标准仪器。虚拟仪器研究的另一个问题是各种标准仪器的互连及与计算机的连接。目前使用较多的是IEEE 488或GPIB协议。未来的仪器也应当是网络化的。1.2 虚拟仪器现状及其发展趋势现在的虚拟仪器可以分为以下五种类型:1) PC-DAQ系统 这种方式是以数据采集卡、信号调用电路以及计算机为仪器硬件平台组成的插卡式虚拟仪器系统。这种系统采用PCI或计算机本身的ISA总线,将数据采集卡插入计算机的空槽中即可。这种方式受到PC机箱和总线的限制,而且有电源的功率不足、机箱内部的噪声电平较高、插槽数目也不多、机箱内无屏蔽等缺点。2) GPIB系统 GPIB系统是以GPIB标准总线仪器与计算机为仪器硬件平台组成的虚拟仪器测试系统。3) VIX系统VIX 系统是以VXI标准总线仪器模块与计算机为仪器硬件平台组成的虚拟仪器测试系统。4) PXI系统 PXI系统是以PXI标准总线仪器模块与计算机为仪器硬件平台组成的虚拟仪器测试系统。5) 串口系统 串口系统是以Serial标准总线仪器与计算机为仪器硬件平台组成的虚拟仪器测试系统。虚拟仪器的发展方向:随着计算机、通信、微电子技术的发展,以及同网络时代的到来和信息化要求的不断提高,网络技术应用到虚拟仪器领域中是虚拟仪器发展的大趋势。使用网络化虚拟仪器,可在任何地点、任意时刻获取到测量数据信息。网络化虚拟仪器也适合异地远程控制、数据采集、故障监测、报警等。与以PC为核心的虚拟仪器是仪器发展史上的又一次革命。网络化虚拟仪器将由单台虚拟仪器实现的三大功能(数据获取、数据分析及图形显示)分开处理,分别使用独立的硬件模块实现传统仪器的三大功能,以网线相连接,实现资源的共享。网络化虚拟仪器可实现计算机、高档外设和通讯线路等硬件资源以及大型数据库、程序、数据、文件等软件资源共享。其次,通过组建网络化测试系统增加系统冗余度的方法能提高系统的可靠性,便于系统的扩展和变动。网络化仪器将在以下方面得到广泛应用:1) 远程数据采集装置,即为这些装置事先配制好互联网接口,使其能通过网络自动传回所采集的数据。2) 在远程故障诊断中的应用;远程协作诊断研究工作最先是从医学领域开始的。基于网络的医疗诊断系统在国外已经取得了丰硕的成果。与医疗领域相比,工业领域的诊断工作相对比较缓慢。3) 在实时监控方面的应用:采用虚拟仪器和现代分布式网络和控制网络测控技术构建远程实时监控系统,可以解决对通信网异地实时监控的问题。在广泛的工业领域中,可以实现数据网络和控制网络的集成,及现场总线和计算机网络融为一体,实现真正的虚拟工厂和虚拟制造。4) 远程教育方面:可以结合网络仪器的特点,构建较为系统的基于互联网的网络仪器支掌平台,设计实现可供远程操作的虚拟仪器,组建虚拟仪器实验室。5) 贵重仪器的共享,即通过互联网让不同地域的用户能够共同使用大型仪器。1.3虚拟仪器的设计步骤在LabVIEW平台下,一个VI有两部分组成:前面板和流程图(或称后面板),前面板的功能等效于传统测试仪器的前面板;流程图的功能等效于传统测试仪器与前面板相联系的硬件电路。在设计时,要考虑硬件部分。虚拟仪器的设计步骤包括确定程序设计的总体方案、I/O接口仪器驱动程序的设计、确定虚拟仪器程序前面板、构建图形化流程图、调试和优化程序五个步骤。(1) 确定程序设计的总体方案在编制虚拟仪器程序前,必须首先对程序进行总体设计分析:一是要确定程序要实现的功能、要显示的图形对象、要输出的报表;二是确定程序的层次关系,如主程序和子程序之间的关系等、虚拟仪器程序与硬件的连接关系等。(2) I/O接口仪器驱动程序的设计根据仪器的功能要求,确定仪器的接口标准。如果仪器设备具有RS-232串行接口,则直接用连线将仪器设备与计算机机的RS-232串行接口连接即可;如果仪器是GPIB接口,则需要额外配备一块GPIB-488接口板,建立计算机与仪器设备之间的通信渠道;如果使用计算机来控制VXI总线设备,则也需要配备一块GPIB接口卡,通过GPIB总线与VXI总线、VXI主机箱零槽模块通信,零槽模块的GPIB-VXI翻译器将GPIB命令,并把各模块返回的数据以一定的格式传回主控计算机。I/O接口仪器驱动程序是控制硬件设备的驱动程序,是连接主控计算机与仪器设备的纽带。如果没有设备驱动程序,则必须针对I/O接口仪器设备编写驱动程序。(3) 确定虚拟仪器程序前面板 仪器前面板的设计指在虚拟仪器开发平台上,利用各类子摸板图标创建用户界面,即在前面板上布置实现所需功能的显示对象,这些对象包括开关旋钮控制、相量图、频谱图显示等,前面板布置好这些对象后,工程技术人员通过鼠标、键盘就可像操作传统仪器一样地操作虚拟仪器。(4) 构建图形化流程图 在LabVIEW开发环境中,后台流程图与前面板控制显示对象一一对应,开发人员的任务是通过连接不同的功能函数模块使数据流从输入对象经过处理传送到输出对象。与传统的文本式程序设计一样,LabVIEW也有控制流程图功能执行部分,包括Sequence、Case Statement、For Loop、While loop 结构,这些结构被描述成图形化的边界结构,开发人员不必注意传统设计所需的语法细节,只需直接将它们连接起来就可完成数据传递。在编制大型复杂的虚拟仪器应用程序时,由于所用模块很多,这时必须考虑程序的层次结构,这可以通过灵活编制子程序、采用更为简单高效的计算原理等方式来实现。(5) 调试和优化程序 和传统程序一样,在编制虚拟仪器程序时,需要不断对程序进行调试分析,LabVIEW程序调试功能十分强大易用,可以灵活设定程序断点,进行带数据探针的单步运行,加亮执行程序进行数据流追踪判断。同时,LabVIEW是目前唯一带有编辑器的图形化编程环境,他可根据用户编制程序自动产生最优化代码,加快程序运行速度。另外,用户还可以利用内置的绘图器对程序代码部分进行分析和优化。 第二章:LabVIEW基础2.1 LabVIEW简介2.1.1 LabVIEW软件LabVIEW(Laboratory Virtual instrument Engineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW集成了能够满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。图形化的程序语言,又称为“G”语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或流程图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的位编译器。像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。2.1.2 LabVIEW 软件的特点LabVIEW软件的特点如下。u 具有图形化的编程方式,设计者无需写任何文本格式的代码,是真正的工程师的语言:u 提供丰富的数据采集、分析及存储的库函数:u 提供传统的程序调试手段,如设置断点、单步运行,同时提供独具特色的执行工具,使程序动画式运行,利于设计者观察到程序运行的细节,使程序的调试和开发更为便捷; u 32位的编仪器编译生成32位的编译程序,保证用户数据采集、测试和测量方案的高速执行;u 囊括了PCI,GPIB,PXI,VXI,RS-232/485,USB等各种仪器通信总线标准的所有功能函数,使得不懂得总线标准的开发者也能够驱动不同总线标准接口设备与仪器。2.2 LabVIEW的运行机制2.2.1LabVIEW应用程序的基本构成所有的LabVIEW应用程序即虚拟仪器(VI),它都包括前面板(Front panel)、框图(Block diagram)以及图标和连结器窗格(Icon and connector pane)三部分。1) 前面板和框图前面板是图形用户界面,也就是VI的虚拟仪器面板。这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制(control)和显示对象(indicator)。图2-1所示是一个随机信号发生和显示的简单VI是它的前面板,上面有一个显示对象,以曲线的方式显示了所产生的一系列随机数。还有一个控制对象开关,可以启动和停止工作。显然,并非简单地画两个控件就可以运行,在前面板后还有一个与之配套的流程图。控制对象(输入)显示对象(输出)图2-随机信号发生器的前面板流程图提供VI的图形化源程序。在流程图中对VI编程,以控制和操纵定义在前面板上的输入和输出功能。流程图中包括前面板上的控件的连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。图2-2是与图2-1对应的流程图。我们可以看到流程图中包括了前面板上的开关和随机数显示器的连线端子,还有一个随机数发生器的函数及程序的循环结构。随机数发生器通过连线将产生的随机信号送到显示控件,为了使它持续工作下去,设置了一个While Loop循环,由开关控制这一循环的结束。函数:随机数发生器结构:循环与前面板控件对应的连线端子与前面板控件对应的连线端子图2-随机信号发生器的流程图程图如果将VI与标准仪器相比较,那么前面板上的东西就是仪器面板上的东西,而流程图上的东西相当于仪器箱内的东西。在许多情况下,使用VI可以仿真标准仪器,不仅在屏幕上出现一个惟妙惟肖的标准仪器面板,而且其功能也与标准仪器相差无几。2)图标和连接器窗格VI具有层次化和结构化的特征。一个VI可以作为另一个VI的子程序被调用,这里的子程序称为子VI(sub VI)。图标用于在主VI的框图中标识被调用的子VI,连接器相当于图形化的子程序参数。在默认状态下,框图和前面板的右上角显示当前VI的图标,可以使用该默认图标或者建立自定义图标。连接器和图标窗格位于VI窗口的同一个位置,只能通过前面板访问连接器窗格。. 2.2.2LabVIEW程序调试技术如果一个VI程序存在语法错误,则在面板工具条上的运行按钮会变成一个折断的箭头,表示程序不能被执行。这时该按钮被称作错误列表,点击它,则LabVIEW弹出错误清单窗口,点击其中任何一个所列出的错误,选用Find功能,则出错的对象或端口就会变成高亮。下面分别介绍LabVIEW提供的两种调试工具。1设置执行程序高亮在LabVIEW的工具条上有一个画着灯泡的按钮,这个按钮叫做“高亮执行”按钮上。点击这个按钮使它变成高亮形式,再点击运行按钮,VI程序就以较慢的速度运行,没有被执行的代码灰色显示,执行后的代码高亮显示,并显示数据流线上的数据值。这样,你就可以根据数据的流动状态跟踪程序的执行。2断点与单步执行为了查找程序中的逻辑错误,有时希望流程图程序一个节点一个节点地执行。使用断点工具可以在程序的某一地点中止程序执行,用探针或者单步方式查看数据。使用断点工具时,点击你希望设置或者清除断点的地方。断点的显示对于节点或者图框表示为红框,对于连线表示为红点。当VI程序运行到断点被设置处,程序被暂停在将要执行的节点,以闪烁表示。按下单步执行按钮,闪烁的节点被执行,下一个将要执行的节点变为闪烁,指示它将被执行。你也可以点击暂停按钮,这样程序将连续执行直到下一个断点。2.2.3 子VI的建立LabVIEW中的子VI(SubVI)相当于文本编程语言中的函数、过程和子程序,也就是可以被其他的VI调用的VI。可以将任何一个定义了图标和联接器的 VI作为另一个 VI的子VI进行调用。在流程图中打开 FunctionsSelect a VI. ,就可以选择要调用的子 VI 。构造一个子VI主要的工作就是定义它的图标和联接器。每个VI在前面板和流程图窗口的右上角都显示了一个默认的图标。启动图标编辑器的方法是,用鼠标右键单击面板窗口的右上角的默认图标,在弹出菜单中选择 Edit Icon。图2-3显示了图标编辑器的窗口。可以用窗口左边的各种工具设计像素编辑区中的图标形状。编辑区右侧的一个方框中显示了一个实际大小的图标。图标编辑器的具体使用细节参阅有关资料。图2-3图标编辑器窗口联接器是 VI 数据的输入输出接口。如果用面板控制对象或者显示对象从子 VI 中输出或者输入数据,那么这些对象都需要在联接器面板中有一个连线端子。您可以通过选择 VI的端子数并为每个端子指定对应的前面板对象以定义联接器。定义联接器的方法是,用鼠标右键单击面板窗口中的图标窗口,在快捷菜单中选择 Show Connector。联接器图标会取代面板窗口右上角的图标。LabVIEW 自动选择的端子连接模式是控制对象的端子位于联接器窗口的左边,显示对象的端子位于联接器窗口右边。选择的端子数取决于前面板中控制对象和显示对象的个数。联接器中的各个矩形表示各个端子所在的区域,可以用它们从 VI 中输入或者输出数据。如果必要,也可以选择另外一种端子连接模式。方法是在图标上单击鼠标右键单出快捷菜单,选择 Show Connector,再次弹出快捷菜单,选择Patterns。第三章 示波器设计3.1 两通道数字示波器系统总体设计本文设计的虚拟两通道数字示波器系统总体结构如图3-1所示。 此虚拟示波器的主要功能包括:显示程序运行时的详细信息、三种通道选择方式、三种触发选择方式、横向缩放波形、纵向缩放波形、参数自测量等。触发控制对示波器起触发控制作用,不同的触发控制方式得到的输出波形可能会有很大的不同。有了触发控制,下一步就得有波形位置控制,波形位置控制分为波形时基控制和波形幅度控制。其中时基控制用于控制波形的横向缩放,使波形在固定的显示器中横向放大和缩小以满足使用者对波形的横向观察要求;同理波形幅度控制用于对波形的纵向拉伸,以满足纵向观察要求。对采集到的数据需要生成易于观察的波形,在示波器中波形有很多种,这就要有通道控制,某一通道输出某一固定的波形。在波形控制、通道控制和波形位置控制设置好后,就可以对数据进行采集。对采集到的数据要进行数据处理,然后就在示波器中进行波形显示和各种参数测定,以供进行分析。触发控制波形位置控制时间参数测量电压参数测量量波形显示模拟信号数据处 理通道控制图3-1 两通道数字示波器系统总体结构注: 1由于没有数据采集卡,所以数据采集部分使用软件模拟即模拟信号。 2 通道控制区有A通道、B通道和A&B通道三个通道,其中A通道输出方波,B通道输出正弦波,A&B通道同时输出方波和正弦波。 3.2两通道数字示波器控制程序的主界面(前面板)图3-2 两通道数字示波器控制程序的主界面(前面板)在图3-2中,示波器波形显示在左上图的图形指示器中,图形指示器在controls模板的位置是controls-express-Graph indicatorswaveform Graph.。图形指示器用来显示数据采集来自于A通道或B通道或A&B通道的波形。如果Time Base旋钮和Volts/Div旋钮改变时,也会在图形指示器中表现出来。在程序控制区内,标签为STOP F4的按钮当按下时就停止执行程序。标签为MORE INFOF5的按钮当按下时,会出现一个对话框,在这个对话框里包含了图形指示器的详细信息。在触发设置区内,Souce按钮是B通道外部触发控制按钮,在B通道或A&B通道选通时起作用,此时按钮变为亮蓝色;当在A通道选通时不起作用,此时按钮变为灰色。Slope是正负触发选择按钮,上端是正触发方式,下端是负触发方式。Level是调整水平触发旋钮,它有5个选择挡。当示波器运行时,Slope和Level不起作用而变为灰色。在框图上都有与前面板Source、Slope和Level对应的属性节点。在通道选择区内,有A通道、B通道和A&B通道三个通道以供选择。A通道被选择就会在前面板的图形指示器上显示为矩形波,B通道被选择会显示正弦波,A&B通道被选择会同时显示矩形波和正弦波。 在波形位置区内,有Time Base和Volts/Div两个旋钮。Time Base旋钮用来设置波形的频率,Volts/Div旋钮用来设置波形的幅度。调Time Base旋钮和Volts/Div旋钮就会改变波形并在图形指示器中显示出来。3.3 两通道数字示波器部分功能模块的程序框图3.3.1 触发控制程序 图3-3 生成波形的触发控制程序框图 本段程序为主程序框图上的一部分代码,对应于前面板的触发控制区。此段程序有两个分支True分支和False分支。当选择通道Select Channel选择0(A&B通道)或1(A通道)时经过 函数输出布尔代数True,如果触发控制区的Source旋钮选择True时,经过 函数输出为true,此时选择true分支;或者选择false分支。当选择通道Select Channel选择2(B通道)时经过 函数输出布尔代数False,此时触发控制区的Source旋钮选择布尔代数False档,经过 函数输出是False即选通False分支。在True分支中,Slope属性节点、 Level属性节点和Source属性节点都被赋值为0,即前面板的触发控制区三个旋钮都能使用。在False分支中,Slope属性节点和Level属性节点都被赋值为2,即前面板的触发控制区Slope旋钮和Level旋钮都不能使用并且都显示为灰色。3.3.2 生成波形图的Y轴及纵向缩放波形图3-4 生成波形图的Y轴及纵向缩放波形框图 图3-4为主程序示波器框图的一部分代码,这部分代码是一个分支结构。局部变量Volts/Div关联主界面的Volts/Div,用以调整波形的纵向缩放显示效果。这部分程序用到了分支结构,分支结构(Case Structure)位于Functions-Programming-Structures子模版上。分支结构左边框上有一个输入端子,该端子中心有一个问号,称为选择器端子(Selector Terminal);上边框上有分支选择器标签(Case Selector Label)。分支结构有一个或多个子框图,每一个子框图都是一个执行分支,每一个执行分支都有自己的分支选择器标签。当执行分支时只有与接入选择器端子相匹配的标签对应的框图被执行。端子的值可以是布尔型、字符串型、整型或者是枚举类型。此选择器端子的值的类型是无符号长整型。分支结构子框图是堆叠在一起的,单击标签左边和右边的增量、减量按钮将使当前显示框图在堆叠起来的多个框图中进行一次前、后切换。单击分支选择器标签右边端的向下黑色箭头,将弹出所有已定义的标签列表,可以利用这个列表在多个子框图之间实现快速跳转。与C语言的分支结构不同的是,C语言的switch语句的Default分支是可选的,在没有Default分支时,如果没有任何匹配,则任何Case后面的代码都不会执行。而对于LabVIEW的Case结构,要么在选择器标签中列出所有可能的情况,要么必须给出一种默认情况。本段程序有三个执行分支,三个分支都用到了Bundle函数,它是一个簇操作函数。该函数当不接入参数cluster时,把element 0n-1打包生成含有n个元素的新簇,并在output cluster中输出。在第0个执行分支中,把带符号长整数2、-2与双精度浮点数0.5打包生成3个元素的新簇,并输出给属性节点YScale.01dRange以生成Y 轴及其刻度。其中2和-2是最大刻度值和最小刻度值,并以0.5为一个单位把Y轴划分为8个刻度,波形最大值为2最小值为-2。在前面板上对应于Volts/Div旋钮的5V/Div档。在第1个执行分支中,Bundle函数把-4、4和1打包生成3个元素的新簇,当执行此分支时,生成图形指示器的Y轴刻度最大值4最小值-4,以单位1把Y轴划分为8个刻度,在前面板上对应于Volts/Div旋钮的1V/Div档。在第2个执行分支中,Bundle函数把-8、8和2打包生成三个元素的新簇。生成Y轴最大值8和最小值-8,以2为刻度划分为8个刻度,对应于前面板的2V/Div档。3.3.3生成波形图的X轴及横向缩放波形图3-5 生成波形图的X轴及横向缩放波形框图本段程序生成X轴及横向缩放波形,它也是一个分支结构,有三个执行分支。在分支结构内部有属性节点XScale.01dRange,此属性节点生成波形图的横坐标。访问控制器和致使其属性的操作都是通过属性节点(Property Node )完成。为控制器和指示器建立属性节点的方法是,在控制器和指示器或者它们的框图端子上弹出快捷菜单,选择Create-Property Node,这时在控制器和指示器的框图端子附近会出现与控件关联好的节点,如图3-6所示。在图3-6中,属性节点具有与控制器相同的标签Numeric,表明了它们之间的关联关系。在同一个属性节点中可以建立多个属性端子,以访问同一对象的多个属性,而添加新属性的方法是使用定位工具拖曳节点的下边沿。在属性端子上弹出的快捷菜单里,Change To Write把读端子变为写端子,Change To Read把写端子变为读端子。在属性节点上弹出快捷菜单,Link to子菜单下列出了当前VI中的所有控制器和指示器,可以在其中进行选择,以改变属性节点的关联目标。图3-6 Numeric 数值控制器及其属性节点在第0个执行分支中,Bundle函数把0、0.025和0.005打包生成含有三个元素的新簇,并输出给XScale.01dRange属性节点,此分支生成时间轴的最大刻度是0.025,以0.005为单位把时间轴划分为5个刻度值,对应于主界面波形位置的Time Base旋钮的5ms/Div档,本分支中提供给波形显示程序的频率为0.00205HZ。在第1个执行分支中,Bundle函数把0、0.05和0.01打包生成含有三个元素的新簇,并输出给XScale.01dRange属性节点,在时间轴上生成最大刻度0.05并且以0.01为单位把时间轴划分为5个刻度,对应于主界面波形位置的Time Base旋钮的10ms/Div档。本分支中提供给波形显示程序的频率为0.0041HZ。在第2个执行分支中,Bundle函数把0、0.1和0.02打包生成含有三个元素的新簇,并输出给XScale.01dRange属性节点,在时间轴上生成最大刻度0.1并且以0.02为单位把时间轴划分为5个刻度,对应于主界面波形位置的Time Base旋钮的20ms/Div档。本分支中提供给波形显示程序的频率为0.0082HZ。3.3.4 模拟采集数据及生成波形数据 图3-7 模拟采集数据及生成波形数据以上三个分支结构用到了三个信号分析处理函数,它们分别是: 正弦波形发生器(Sine Wave.Vi)图标与端口图 方波发生器 均匀分布的随机信号发生器正弦波形发生器函数图标左侧一列为输入端口,即该函数调用前的参数设置端口。l samples: 生成波形的总点数N。 l amplitude: 生成波形的幅值。l f:生成信号的数字频率。l phase in: 生成波形的初始相位,单位为度。l reset phase: 默认值为TRUE。当为TRUE时,函数以phase in 的值作为初始相位,如果该值为FALSE, 则函数以上一次调用后的phase out输出值为此次波形的初始相位(默认值为TRUE),显然,此时产生的信号波形是连续光滑的。函数图标的右侧一列为输出端口(即该函数调用后的输出参数 ),其各自的含义如下。l sine wave: 数组名,该数组内存放所生成的波形数据。l phase out: 当reset phase 为TRUE时,该参数无效。当reset phase为FALSE时,该参数作为下一次生成正弦波的初始相位。l error: 错误代码。若有错误,则输出错误代码。根据错误代码,查找LabVIEW帮助文件,可以找到与错误代码对应的错误含义。在图3-7中,第0个执行分支对应前面板的A&B通道,有方波发生器函数和正弦波发生器函数,其中方波发生器函数amplitude端接1表示输出的方波波形的幅值为1,正弦波发生器函数amplitude端接2表示输出的正弦波波形的幅值为2;方波发生器函数和正弦波发生器函数的samples端都接2000以生成波形的总点数为2000点。方波发生器函数和正弦波发生器函数sine wave端都接trigger子程序,给trigger子程序提供方波波形数据和正弦波波形的数据。均匀分布的随机信号发生器生成波形的总点数为2000,生成波形的幅值为0.1。第1个执行分支对应前面板的B 通道,只有正弦波发生器函数,它的amplitude端接2输出正弦波的波形的幅值为2,samples端接2000以生成波形的总点数为2000点。均匀分布的随机信号发生器生成波形的总点数为2000,生成波形的幅值为0.08。第2个执行分支对应前面板的A通道,只有方波发生器函数,此函数的samples端接2000表示生成波形的总点数为2000点,amplitude端接1.1以生成波形的幅值为1.1。均匀分布的随机信号发生器函数的samples接2000以生成波形的总点数为2000,amplitude端接0.1以生成波形的幅值为0.1。图3-8 图3-7 框图的子程序trigger框图 在标签为true的执行分支中,对采集到的波形数据进行加工处理。上面一个数组操作函数array subset返回从SLOPE.VI的输出作为指定位置开始的长度为1000的Waveform 1 In的数组子集给Waveform 1 Out。下面一个数组操作函数array subset返回从SLOPE.VI的输出作为指定位置开始的长度为1000的Waveform 2 In的数组子集给Waveform 1 Out。在标签为False的执行分支中。对采集到的波形数据不进行加工处理直接输出。3.3.5 数据模拟采集、数据处理及波形显示图3-9 数据模拟采集、数据处理及波形显示框图在第0个分支中,通道选择select channel选择A&B通道,把A通道与B通道采集到的波形数据经过加工后送给Build Array函数,Build Array函数把方波数组与正弦波数组组合为一个数组。在Build Array函数上弹出快捷菜单,可以看见开关选项Concatenate Inputs选项被关闭,此时所有的输入参数的维数必须相同,输出的数组维数比输入参数高一维。输出的数组送给簇操作函数Bundle,经Bundle函数数据打包生成新簇后传给波形显示Waveform Graph,此时前面板示波器同时显示方波和正弦波。在第1个分支中,通道选择select channel选择B通道,在前面板示波器上只显示正弦波波形。在第2个分支中,通道选择select channel选择A通道,在前面板示波器上只显示方波波形。以上三个程序框图都用到了波形显示Waveform Graph,它在ControlsGraph Indicators子模板上。它在前面板上就是图形指示器,以实时显示采集到的数据波形。图形显示对于虚拟仪器面板设计是一个重要的内容。LabVIEW为此提供了丰富的功能。在LabVIEW的图形显示功能中Graph和Chart是两个基本的概念。一般说来Chart是将数据源(例如采集得到的数据)在某一坐标系中,实时、逐点地显示出来,它可以反映被测物理量的变化趋势,例如显示一个实时变化的波形或曲线,传统的模拟示波器、波形记录仪就是这样。而Graph则是对已采集数据进行事后处理的结果。它先将被采集数据存放在一个数组之中,然后根据需要组织成所需的图形显示出来。它的缺点是没有实时显示,但是它的表现形式要丰富得多。例如采集了一个波形后,经处理可以显示出其频谱图。现在,数字示波器也可以具备类似Graph的显示功能。LabVIEW的Graph子模板中有许多可供选用的控件,其中常用的见下表:ChartGraphWaveform(波形)*XY*Intensity(强度图)*Digital(数字图)*3D Surface(三维曲面)*3D Parametric(三维参变量)*3D Curve(三维曲线)*由表中可以看出,Chart方式尽管能实时、直接地显示结果,但其表现形式有限,而Graph方式表现形式要远为丰富,但这是以牺牲实时为代价的。曲线图例刻度图例(Scale Legend)图形模板(Graph Palette)光标图例(Cursor Legend)标签(Label)说明(Caption)各种图形都提供了相应的控件,以Graph为例介绍。图3-10所示为它的控件。图3-10 Graph的图形控件3.3.6Chart的独有控件Chart的数据并没有事先存在一个数组中,它是实时显示的,为了能够看到先前的数据,Chart控件内部含有一个显示缓冲器,其中保留了一些历史数据。这个缓冲器按照先进先出的原则管理,其最大容量是1024个数据点。l 滚动条(Scrollbar),它直接对应于显示缓冲器,通过它可以前后观察缓冲器内任何位置的数据。l 数据显示(Digital Display)选中它,可以在图形右上角出现一个数字显示器,这样可以在画出曲线的同时显示当前最新的一个数据值。l 刷新模式(Upda

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论