基于LabVIEW的虚拟示波器设计论文.docx
《基于LabVIEW的虚拟示波器设计论文.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW的虚拟示波器设计论文.docx(20页珍藏版)》请在冰豆网上搜索。
![基于LabVIEW的虚拟示波器设计论文.docx](https://file1.bdocx.com/fileroot1/2022-12/7/c6ad39dc-887e-44df-ab2e-27cf9f9bfbc4/c6ad39dc-887e-44df-ab2e-27cf9f9bfbc41.gif)
基于LabVIEW的虚拟示波器设计论文
摘要
虚拟示波器就是虚拟仪器技术(NI)利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。
灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步和定时应用的需求。
这也正是NI近30年来始终引领测试测量行业发展趋势的原因所在。
虚拟仪器的突出特点之一在于在很大程度上用系统软件的升级替代了仪器设备硬件的更换,这将节省大量的资金投入,代表了仪器仪表技术的发展方向。
能够与计算机技术结合,将计算机资源与仪器硬件,数字信号处理技术与不同功能的软件模块结合,组成不同的仪器功能。
如今,虚拟仪器已在超大规模集成电路测试、模拟/数字电路测试、现代家用电器测试、电子元件、电力电子器件测试以及军事、航天、生物医学、工厂测试、电工技术等领域的可移动式现场测试工作中得到应用。
任何基于虚拟仪器技术的设备仍然需要利用数据采集卡实现数据的采集工作,以供系统进行进一步的分析处理。
矚慫润厲钐瘗睞枥庑赖。
虚拟示波器的出现改变了原有示波器的整体设计思路,,用软件代替了硬件。
将传统仪器由硬件实现的数据分析与显示功能,改由功能强大的计算机及其显示器来完成,使工程技术人员可以用一部笔记本电脑到现场就可以轻松完成信号的采集、处理及频谱分析和波形分析。
聞創沟燴鐺險爱氇谴净。
关键字:
LabVIEW,虚拟仪器,虚拟示波器
Abstract
VirtualoscilloscopeVirtualInstrumentTechnology(NI)usingahighperformancemodularhardware,combinedwithefficientandflexiblesoftwaretocompleteavarietyoftest,measurementandautomationapplications.Aflexibleandefficientsoftwarecanhelpyoucreateafullycustomizableuserinterface,modularhardwarecanprovideafullrangeofsystemintegration,softwareandhardwareplatformcanmeetthestandardofsynchronizationandtimingapplications.ThisistheNInearly30yearsalwaysleadthetestandmeasurementindustrydevelopmenttrendofthereason.Atthesametimeonlywithefficientsoftware,modularI/Ohardwareandsoftwareandhardwareplatformfortheintegrationofthethreemajorcomponents,inordertogivefullplaytothevirtualinstrumenttechnologyofhighperformance,scalability,lessdevelopmenttime,aswellasexcellentintegrationofthesefouradvantages.残骛楼諍锩瀨濟溆塹籟。
Virtualinstrumentisoneoftheprominentcharacteristicsistoalargeextentwithsystemsoftwareupgradereplacementequipmenthardwarereplacement,itwillsavealotofcapitalinvestment,onbehalfoftheinstrumenttechnologydevelopmentdirection.Now,virtualinstrumenthasbeeninverylargescaleintegratedcircuittesting,analog/digitalcircuittesting,moderntesthouseholdappliances,electroniccomponents,powerelectronicdevicetestaswellasmilitary,aerospace,biomedical,factorytesting,electricaltechnologyinthefieldofmobilesitetestingapplication.Basedonvirtualinstrumenttechnologyequipmentstillrequirestheuseofadataacquisitioncarddatacollectionwork,forfurtheranalysisandprocessingsystem.酽锕极額閉镇桧猪訣锥。
Keywords:
LabVIEW,Virtualinstrument,Virtualoscilloscope彈贸摄尔霁毙攬砖卤庑。
第1章虚拟仪器技术
1.1虚拟仪器的概念
虚拟仪器是微电子领域与计算机技术的飞速发展及测量技术与计算机深层次相结合的一种革命性的产物。
是现代计算机技术、通信技术和测量技术相结合的产物,是传统仪器概念的一次巨大变革,是仪器产业发展的一个重要方向。
的出现使得人类的测试技术进入了一个新的发展纪元。
虚仪器技术(NI)就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。
怂阐譜鯪迳導嘯畫長凉。
虚拟仪器的“虚拟”二字主要包含一下两方面的含义:
(1)虚拟仪器的面板是虚拟的;
(2)虚拟仪器测量功能是通过对图形化软件流程图的编程来实现的。
谚辞調担鈧谄动禪泻類。
1.2虚拟仪器的构成和特点
构成:
1.虚拟仪器的硬件构成
虚拟仪器的硬件系统一般分为计算机硬件平台和测控功能硬件。
计算机硬件平台可以是各种类型的计算机,如台式计算机、便携式计算机、工作站、嵌入式计算机等。
它管理着虚拟仪器的软件资源,是虚拟仪器的硬件基础。
因此,计算机技术在显示、存储能力、处理器性能、网络、总线标准等方面的发展,导致了虚拟仪器系统的快速发展。
嘰觐詿缧铴嗫偽純铪锩。
2.虚拟仪器的软件构成
测试软件是虚拟仪器的主心骨。
NI公司在提出虚拟仪器概念并推出第一批实用成果时,就用软件就是仪器来表达虚拟仪器的特征,强调软件在虚拟仪器中的重要位置。
NI公司从一开始就推出丰富而又简洁的虚拟仪器开发软件。
还可以根据不同的测试任务,在虚拟仪器开发软件的提示下编制不同的测试软件,来实现当代科学技术复杂的测试任务。
熒绐譏钲鏌觶鷹緇機库。
特点:
1.性能高
虚拟仪器技术是在PC技术的基础上发展起来的,所以完全"继承"了以现成即用的PC技术为主导的最新商业技术的优点,包括功能超卓的处理器和文件I/O,使您在数据高速导入磁盘的同时就能实时地进行复杂的分析。
此外,不断发展的因特网和越来越快的计算机网络使得虚拟仪器技术展现其更强大的优势。
鶼渍螻偉阅劍鲰腎邏蘞。
2.扩展性强
NI的软硬件工具使得我们不再受限于当前的技术中。
这得益于NI软件的灵活性,只需更新计算机或测量硬件,就能以最少的硬件投资和极少的、甚至无需软件上的升级即可改进整个系统。
最终以较少的成本加速产品上市的时间。
纣忧蔣氳頑莶驅藥悯骛。
3.开发时间少
在驱动和应用两个层面上,NI高效的软件构架能与计算机、仪器仪表和通讯方面的最新技术结合在一起。
NI设计这一软件构架的初衷就是为了方便用户的操作,同时还提供了灵活性和强大的功能,使我们轻松地配置、创建、发布、维护和修改高性能、低成本的测量和控制解决方案。
颖刍莖蛺饽亿顿裊赔泷。
4.无缝集成
虚拟仪器技术从本质上说是一个集成的软硬件概念。
NI的虚拟仪器软件平台为所有的I/O设备提供了标准的接口,帮助我们轻松地将多个测量设备集成到单个系统,减少了复杂性。
濫驂膽閉驟羥闈詔寢賻。
1.3虚拟仪器研究背景和发展趋势
虚拟仪器技术的开发和应用起源于1986年美国NI公司设计的LabVIEW软件,这是一种基于图形的开发、调试和运行的软件平台。
它的发展大致可以分为三个阶段。
第一个阶段是利用计算机来增强传统仪器的功能把传统的仪器通过串行口和计算机连接起来后就可以用计算机控制仪器了。
第二阶段主要是在功能硬件上实现了很大的技术进步。
第三阶段形成了虚拟仪器体系结构的基本框架,这主要是采用了面向对象的编程技术构筑起了虚拟仪器的平台,并逐渐成为标准的软件开发工具,这三个阶段几乎是同步进行的。
銚銻縵哜鳗鸿锓謎諏涼。
目前,我国正研制PC虚拟仪器,产品已达到一到的批量。
国内专家预测:
未来的几年内,我过有50%的仪器为虚拟仪器,届时,国内将有大批企业使用虚拟仪器,它将会逐步取代传统的测试仪器而成为测试仪器的主流。
挤貼綬电麥结鈺贖哓类。
1.4虚拟仪器在各个领域的应用
虚拟仪器系统开放、灵活,可与计算机技术保持同步发展,以提高精确度,降低成本,并大大节省用户的开发时间,因此已经才测量领域得到广泛的应用。
赔荊紳谘侖驟辽輩袜錈。
1.监控方面
用虚拟仪器系统可以随时采集和记录从传感器传来的数据,并对之进行统计、数字滤波、频域分析等处理,从而实现监控功能。
塤礙籟馐决穩賽釙冊庫。
2.检测方面
在实验室中,利用虚拟仪器开发工具开发专用虚拟仪器系统,可以把一台个人计算机
变成一组检测仪器,用于数据/图像采集、控制与模拟。
3.教育方面
现在,随着虚拟仪器系统的广泛应用,越来越多的教学部门也开始用它来建立教学系统,不及大大节省了开支,而且由于虚拟仪器系统具有灵活、可重用性强等优点,使得教学方法也变得更加灵活了。
裊樣祕廬廂颤谚鍘羋蔺。
第2章LabVIEW
2.1LabVIEW的概述
LabVIEW(LaboratoryVirtualinstrumentEngineering)是由美国国家仪器(NI)公司研发的是一种类似于C和BASIC的程序开发环境。
它是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
仓嫗盤紲嘱珑詁鍬齊驁。
LabVIEW使用的是目前国际上唯一的图形化的程序语言——G语言。
使用这种语言编程时,用户可以不写程序代码,而只需用流程图就可完成测试任务,复杂的程序中解放出来,从而将更多的精力投放到物理问题本身,大大提高了工作效率。
这同时也降低了对LabVIEW使用者的专业要求,使各个领域的工程技术人员均可使用。
绽萬璉轆娛閬蛏鬮绾瀧。
目前,LabVIEW已有多种版本,在此次设计中,我们采用LabVIEW2011的版本进行设计。
2.2LabVIEW的基本构成
所有的LabVIEW应用程序包括前面板(FrontPanel)、框图程序(DiagrameProgramme)以及图标/连接器(Icon/Connector)三部分。
骁顾燁鶚巯瀆蕪領鲡赙。
1、前面板(FrontPanel)
前面版是VI特有的组成部分之一,用来在计算机的屏幕上显示人机对话、交互式用户操作界面,亦可构成模拟真实仪器的操作面板。
它可以放置诸如开关、滑动条、仪表盘、图形、图表、LED等等控件,所有这些控件都可以在LabVIEW开发环境所提供的控件选项板上找到。
前面版正是虚拟仪器所必须的含有的部件之一,也是用户唯一可以见到的部分。
瑣钋濺暧惲锟缟馭篩凉。
在基于文本代码的编程语言中,比如C、Java,仅编写一个前面版就要写很多程序代码,而在LabVIEW开发环境中,前面版是提供给设计者设计VI所必须的提供的要素之一。
鎦诗涇艳损楼紲鯗餳類。
2、程序框图(Blockdiagram)
图2程序框图
LabVIEW图形化语言采用的是用图形方式表示的程序或算法,构成图形化语言程序代码的基本要素后面会讲到。
程序框图为程序设计者编程时所使用,最终用户也是无法看到的。
栉缏歐锄棗鈕种鵑瑶锬。
程序款图是提供给设计者设计VI所必须的提供的要素之一。
它由节点、端点、图框、和连线四种元素构成。
3、图标和连接器(IconandConnector)
LabVIEW图形化语言的每个VI都有自己的图标和连接器。
图标构成区别不同VI的图形符号,而连接器定义了VI的输入和输出(当然也可以不进行定义)。
辔烨棟剛殓攬瑤丽阄应。
图标和连接器指定了程序中数据流进、流出的路径。
它们也只提供给程序设计者,最终用户也是无法看到的。
每个VI的前面版、后面版的右上角都有一个属于这个VI的图标,以用来与其它VI相区别。
程序的设计者可以设计、修改这个图标。
峴扬斕滾澗辐滠兴渙藺。
2.3LabVIEW的软件设计基本原理
程序编写完成后,用户必须经过运行和调试来测试编写的程序是否能够产生预期的运行结果从而找出程序中存在的一些错误。
LabVIEW提供了许多工具来帮助完成程序的调试。
詩叁撻訥烬忧毀厉鋨骜。
2.4LabVIEW的运行和调试
2.4.1LabVIEW的运行
(1)LabVIEW的运行。
单击前面板或程序框图的运行按钮
,就可以运行VI一次,当LabVIEW正在运行状态时,运行按钮变为
。
则鯤愜韋瘓賈晖园栋泷。
(2)LabVIEW的连续运行。
单击前面板或程序框图的连续运行按钮
,可以连续运行,这时按钮变成
,在这种情况下,用户再次单击此按钮就可以停止连续运行。
胀鏝彈奥秘孫戶孪钇賻。
(3)LabVIEW的停止。
在程序运行过程中,停止按钮由编辑时的
变为可用的状态
。
单击此按钮,可以强行停止程序的运行。
如果调试过程中无意进入了死循环或无法退出时,用户可用此按钮强行借宿程序的运行。
鳃躋峽祷紉诵帮废掃減。
(4)LabVIEW的暂停。
在程序运行过程中单击该按钮
,按钮颜色又黑色边城红色
,再次单击按钮,则恢复程序的运行。
稟虛嬪赈维哜妝扩踴粜。
2.4.2LabVIEW的调试
当前面板和程序框图设计好以后,程序在执行过程中可能会遇到错误,因此要先对程序进行调试。
程序的调试方法主要有:
陽簍埡鲑罷規呜旧岿錟。
1、设置执行程序为高亮按钮
在执行前单击高亮按钮
,这时按钮上灯泡会被点亮
,则运行过程中正在执行的节点会以高亮形式显示。
2、单步执行
如果要是框图程序一个结点接一个节点的执行,则按下单步按钮从而进入单步执行模式。
这样下一个将要执行的节点就会闪烁,指示此节点将被执行。
再次单击单步按钮,程序将会变成连续执行方式。
沩氣嘮戇苌鑿鑿槠谔應。
3、探针的使用
从Tools工具模板中选择探针工具,探针置于该连线上,可以用来查看运行过程中数据流在某根连线时的数据。
钡嵐縣緱虜荣产涛團蔺。
4、断点工具
使用断点工具可以在程序的某一地方终止程序运行,用探针或者单步方式查看数据。
如果一个程序不能执行,运行按钮会出现一个折断的箭头。
单击断箭的运行按钮则会列出错误清单,双击列表中的错误清单,则出错的对象或端口就会高亮显示。
懨俠劑鈍触乐鹇烬觶騮。
第3章虚拟示波器的设计
3.1示波器的基本功能介绍
1.示波器的基本功能
示波器可对电压、时间、相位等参量直接显示并测量。
是时域测量最常用的仪器。
我们所实际的示波器在前面板力求与实际示波器的用户界面相似。
在功能上主要实现通道选择、图形显示、触发方式选择、水平扫面、水平移位、频率控制等功能。
用户能通过前面板杀昂的各种按钮、开关来控制示波器工作。
謾饱兗争詣繚鮐癞别瀘。
2.示波器的基本结构
示波器的用户界面如图3.1所示
“TIME/DIV”时间/分度选择旋钮:
显示频水平方向上每个格所表示的时间的多少可由相应的档位读出,一个周期的波形在水平方向上所占的格数乘以乘以其档位,即为周期的大小。
呙铉們欤谦鸪饺竞荡赚。
“SOURCE”触发选择开关:
用以选择内触发还是外触发。
“SLOPE”触发极性选择开关:
用以使触发信号相反。
“LEVEL”触发电平调节按钮:
用以调节触发电平的大小,以得到稳定的波形。
“VOLTS/DIV”电压/分度衰减器:
用以调节波形幅度,显示频垂直方向上每个格所表示的电压的多少可由相应的档位读出,波形在垂直方向上所占的格数乘以乘以其档位,即为电压的大小。
莹谐龌蕲賞组靄绉嚴减。
图3.1虚拟示波器的用户界面
3.2虚拟示波器的控制系统要求
根据工程需要,示波器控制必须具有如下功能:
(1)完全脱离手动操作仪器面板,测试人员通过键盘和鼠标完成对示波器的操作;
(2)快速刷新虚拟仪器显示波形;
(3)实时跟踪测试参数,频率﹑幅度;
(4)波形和参数以测试日前和测试时间为文件名,以JEPG图形文件格式保存;
(5)虚拟仪器具有良好的用户界面,显示测试时间,测试模式(在线测试﹑地面测试和标准测试),可以观察测试波形的局部信息;麸肃鹏镟轿騍镣缚縟糶。
(6)易于和其他测试仪器(示波器﹑功率计等)组成测试系统。
3.3虚拟示波器的设计步骤
1.创建新VI
在PC机的桌面双击图标
,打开LabVIEW。
选择“文件”,新建一个VI,此时弹出2个窗口:
FrontPanel(前面板)、BlockDiagram(程序框图),保存VI文件,文件名为“示波器设计.VI”。
如图3.1所示。
納畴鳗吶鄖禎銣腻鰲锬。
图3.2新建VI
2.编写主程序
在前面板中,右键打开控件选项,选择【控件面板】/【新式】/【装饰】,选择“平面盒”,拖拽到前面板中并调整其大小。
然后打开【控件】/【新式】/【图形】选项,选择【波形图】,将其放置在【平面盒】上。
并对波形图的相关属性进行设置如图3.3所示。
设置后的前面板如图3.4所示。
風撵鲔貓铁频钙蓟纠庙。
图3.3波形图属性
图3.4波形图
打开【控件】/【经典】/【经典数值】/【转盘】选项,作为时间/分度选择按钮,用同样的方法,选择【转盘】作为电压/分度衰减器按钮,选择【水平滑动杆】作为触发电平调节按钮,命名为LEVEL。
灭嗳骇諗鋅猎輛觏馊藹。
在前面板分别再放置两个【平面盒】并放置在适当的位置调整其大小。
把波形图设置的属性游标放置在一块平面盒上,在频谱图和波形图上单击鼠标右键,在弹出的快捷菜单中选择显示项子菜单中选择游标图例菜单项,完成后就会出现图3.13所示的游标图例。
在游标编辑显示窗中单击鼠标右键,选择创建游标选项,进入下一级子菜单,在子菜单中选择【单曲线】,在快捷菜单的属性项中可以设置游标的各个属性。
铹鸝饷飾镡閌赀诨癱骝。
然后在前面板打开【经典】/[经典布尔]/【垂直开关】作为触发选择开关,命名为SOURCE,同理放置触发极性选择开关均放置在这块这块平面盒上,命名为SLOPE。
在另一块平面盒上放置停止按钮。
调整好各元件位置后,此时生成前面板如图3.5所示攙閿频嵘陣澇諗谴隴泸。
图3.5虚拟示波器前面板
在程序框图中,打开【控件】/【编程】/【结构】/【平铺式顺序结构】选中并调整大小,右击Source/创建/属性节点/禁用,将选中的属性节点放入顺序结构结构图中,同理创建Slope,Level的禁用属性节点。
然后设置Source/创建/局部变量并选中。
将其放置适当位置并连线,如图3.6和图3.7所示。
趕輾雏纨颗锊讨跃满賺。
图3.6创建属性节点图3.7属性节点
打开【控件】/【编程】/【结构】/【While循环】并调整大小,打开【控件】/【编程】/【结构】/【条件结构】放入while循环内,并调整大小。
在该结构框图条件为真时,创建Source属性节点,并在条件结构外创建Slope和Level的属性节点,如图3.8所示。
当该结构框图条件为假时,结构框图如图3.9所示。
夹覡闾辁駁档驀迁锬減。
图3.8结构框图条件为真
图3.9结构框图条件为假
选择条件结构并调整大小,将条件结构中的条件设置成0,1,2三个条件分别表示通道A和通道B同时工作时的波形、B通道工作是的波形以及A通道工作时的波形。
打开【控件】/【编程】/【数组】/【创建数组】并拖至条件结构中打开【控件】/【编程】/【簇、类与变体】/【捆绑】并拖至条件结构中。
将相应的元件放入图中并设置,按图3.10所示完成结构框图设计。
视絀镘鸸鲚鐘脑钧欖粝。
图3.10结构框图
其中
是被调用的子VI,在这里,我们需要创建一个主VI的子VI。
新建VI,在前面板中,我们需要创建以下几个控件,如图3.11所示。
偽澀锟攢鴛擋緬铹鈞錠。
图3.11创建子VI
打开该程序框图,创建条件结构框图。
设置当条件为“0”时,输入方波
和正弦波
;设置当条件为“1”时,输入为正弦波;当条件为“2”时,输入为余弦波。
程序图如图3.13、图3.14和图3.15所示。
緦徑铫膾龋轿级镗挢廟。
图3.13通道A和通道B
图3.14通道B
图3.15通道A
其中,
是上述程序调用的子VI,下面我们创建ChannelAandorChannelB的子VI。
新建VI,在前面板中,我们需要创建以下几个控件,如图3.16所示。
騅憑钶銘侥张礫阵轸蔼。
图3.16前面板
打开该程序框图,创建条件结构框图。
设置当条件为“真”时,程序图如图3.17所示,当条件为假时,程序图如图3.18所示。
疠骐錾农剎貯狱颢幗騮。
图3.17图形与程式
图3.18图形与程式
图标
表示Demo调用的子VI,现在我们创建Demo的子VI(Slope)。
新建VI,在前面板中,我们需要创建以下几个控件,如图3.19所示。
镞锊过润启婭澗骆讕瀘。
图3.19Slope前面板
打开该程序框图,按图3.20所示完成条件结构设计。
图3.20Slope
现在,我们创建子VI(Slope)。
打开已经创建好的程序的前面板,用鼠标右击前面板右上角的图标,然后打开【编辑图标】,修改图标框内的图标,然后确定,如图3.21所示。
这时,右上角的图标编程了我们修改后的样子。
再用鼠标右击前面板右上角,然后打开【显示连线板】/【模式】。
这里有三个输入,一个输出,所以我们选中三个输入一个输出的模式,最后单击连线板上的输入,再对应的单击前面板上的一个输入,依次类推。
设置好子VI(Slope)并保存于桌面后,将其调用到Demo程序中,打开Demo程序的程序框图,单击鼠标右键,左击【选择VI...】,会出现如图3.22所示的窗口,选择要调用的子VI并确定。
榿贰轲誊壟该槛鲻垲赛。
图3.21创建子VI图3.22调用子VI
按照子VI(Slope)的做法,用同样的方法设置子VI(Demo)和子VI(Channel
AandorB),并逐步调用。
现在,我们来到主VI,创建来两个条件结构并调整大小。
按前面所述,把它们的条件均设置成“1”、“2”,“3”三个条件形式。
邁茑赚陉宾呗擷鹪讼凑。
在程序框图中放置需要的函数元件,将函数【捆绑】及其他函数元件放入程序框图中。
另外还要创建波形图的属性节点:
右击波形图,选择创建/属性节点/X标尺/范围/全部元素,并将其拖至框图中。
嵝硖贪塒廩袞悯倉華糲。
第4章虚拟示波器测试
4.1虚拟示波器的测试方法
打开主VI,在前面板上点击
连续运行,