基于LabVIEW的数据采集与处理系统设计_第1页
基于LabVIEW的数据采集与处理系统设计_第2页
基于LabVIEW的数据采集与处理系统设计_第3页
基于LabVIEW的数据采集与处理系统设计_第4页
基于LabVIEW的数据采集与处理系统设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、基于LabVIEW的数据采集与处理系统设计摘要:虚拟仪器作为一种基于图形化编程的新型概念仪器,以计算机作为运行媒介,节省了大量的显示、控制硬件,越来越显示出它独有的优势。基于LabVIEW的数据采集与处理系统,整体采用了循环结构与顺序结构相结合的形式,实现了模拟信号的采集与实时动态显示,并且仿真出了对数据的采集和报警功能,并且能够存储数据,进行各种自定义设置,显示效果良好,对现实中的数据采集与处理系统具有很大的借鉴作用。关键词:虚拟仪器;数据采集;数据处理;LabVIEW The Design of Data Acquisition and Processing System Based on

2、 LabVIEWAbstract: As a kind of virtual instrument based on graphical programming the new concept of instruments, run at the computer as a medium, save a large amount of display, control hardware, more and more shows its unique advantages. Data acquisition and processing system based on LabVIEW, and

3、the overall adopted loop structure and order structure, in the form of the combination of the dynamic analog signal acquisition and real-time display, and the simulation of the data collection and alarm function, and the ability to store data, for a variety of Settings, display effect is good, the r

4、eality of the data acquisition and processing system has a great reference.Keywords:Virtual Instrument;Data Collection;Data Processing;LabVIEW;目录1引言41.1 课题研究的意义41.2 课题设计的目的和内容42 研究现状及设计目标43. 系统方案与关键技术介绍53.1 系统总体方案简介53.2 虚拟仪器与labview简介63.3 系统关键技术74. 方案实现104.1 前面板绘制104.2 程序框图功能实现115. 结束语166. 谢辞177. 参考

5、文献18181引言1.1 课题研究的意义虚拟仪器是现如今非常流行的一种计算机技术,它的应用面很广,由于采用了计算机界面代替了传统的硬件显示器,又可以利用计算机的处理器去实现硬件的处理功能,所以只需要将需要处理的各种类型的数据通过统一的接口传输到计算机中,这样就能实现各种显示、处理与控制功能。虚拟仪器作为一种非常便捷和灵活的人机交互手段,能够和许多不同的学科和内容相结合。本次课题就是将虚拟仪器与数据采集与处理系统相结合,利用LabVIEW软件平台强大的数据处理能力和多样化的结果显示方式,仿真模拟信号的数据采集与处理过程,能够实现对信号的动态显示、异常报警和数据存储功能,对于实际中测控领域的其他系

6、统具有一定的借鉴意义,提供了另一种不同的方法。1.2 课题设计的目的和内容本次课题拟借助虚拟仪器的平台,采用Labview应用软件模拟仿真一种模拟信号采集与处理控制系统,要求能够实现:实现模拟信号的采集;实现3通道的数据AD转换的功能;设置显示界面,能动态显示数据的采集结果;根据设定阈值,对于超过阈值,有相应的提示功能。2 研究现状及设计目标LabVIEW是一种采用图形化编程语言的平台环境,含有多样化的数据处理工具和强大的信号分析与结果展示功能,并且能够显示与实际相同的按钮,开关等布尔空间,因此,广泛地应用于自动化行业、科研机构和研究实验室,被视为一个标准的数据采集和仪器控制软件。虚拟仪器通过

7、应用程序将通用计算机与功能化硬件结合起来,完成对被测信号的采集、分析、处理、显示、存储、打印等功能,硬件部分包含多种I/O接口电路和数据采集卡等,包含插卡式虚拟仪器、并行口虚拟仪器和总线方式的虚拟仪器等形式,I/O接口设备主要实现对被测信号的放大、滤波、调制、模数转换等处理,可以根据不同情况采用不同的I/O接口硬件设备,其中数据采集卡(DAQ)充分利用了计算机的总线、机箱、电源以及软件的便利,但是受机箱、总线的一些限制,存在电源功率不足、机箱内电平噪声较高、无屏蔽等缺点;并行口虚拟仪器最大的方便在于可以与笔记本计算机相连,方便外出携带;VXI总线具有稳定的电源、强力的冷却能力和严格的屏蔽效果,

8、并且标准开放,数据吞吐能力强,模块可重复利用,现在应用越来越广泛,已成为主流的虚拟仪器接口硬件,但是其造价较高。虚拟仪器总体结构划分为数据采集、数据分析处理、结果表达三大功能模块。构成方式如下图1 虚拟仪器构成方式在NI LabVIEW的图形化开发环境中,用户不需要采用传统的开发平台去编写、编译成行的文本代码,而是通过各种不同的图标工具与函数选框去开发数据采集系统。使用NI LabVIEW,即便用户不具备编程经验,也能在数小时内完成传统语言编写需要数周的程序。直观的流程图所显示的代码便于用户开发、维护和理解。只需点击两次鼠标,便能传递功能代码块之间的数据。用户无需从头创建整个数据采集系统。NI

9、 LabVIEW包含全套范例,适合各项常规的丈量任务。这些可立即执行的程序覆盖了各类应用,从简单的单通道丈量,到多个设备利用先进的定时、触发与同步技术实现高性能多通道系统。只需从自动更新的下拉菜单中选择硬件,并单击运行。NI LabVIEW包含数千个特别为工程师和科学家创建的高级分析函数,所有函数均配有具体的帮助文件与文档。这些强大的工具可实现高级信号处理、频率分析、概率与统计、曲线拟合、插值、数字信号处理等功能。用户还可将NI LabVIEW扩展至特定的应用处理,如:声音和振动丈量、机器视觉、RF/通讯、瞬时/短时信号分析等。需要更高灵活性的用户,可将NI LabVIEW同第三方软件开发的算

10、法进行集成。3. 系统方案与关键技术介绍3.1 系统总体方案简介 本次基于Labview的数据采集与处理系统的设计与实现,采用图形化的编程语言对系统进行开发、调试和运行,在自定义前面板中,除了与程序框图中对应的布尔控件、图表控件以外,采用不同形状的修饰模块和工具选板中的颜色设置来做出监控面板的效果,对信号的采集和处理上,总体采用顺序结构与While循环相结合的形式,实现对计算机声卡信号的采集和动态显示并进行功率谱分析并显示,另外,模拟对温度信号的采集过程,并且对超过限值的信号做出报警,并且能够实现对采集信号的存储。系统总体框架图如下图所示:后面板前面板数据采集与处理系统属性节点调用循环结构顺序

11、结构图表控件布尔控件修饰控件图2 系统总体框架图3.2 虚拟仪器与labview简介虚拟仪器,顾名思义就是一种“虚拟”的操作面板,而不是实际中有很多按钮和显示界面以及指示灯的实际操作仪器。虚拟仪器实际上是使用了计算机的显示器来模拟了传统仪器的控制和显示面板,用户可以利用开发工具,自定义人机交互界面,并且通过编程,实现数据的处理和控制效果的实现。虚拟仪器不仅可以制作控制面板,通过鼠标键盘来控制,还能够与不同的接口总线相结合,构成功能强大的测量测试系统,这是它一个显著的特点。虚拟仪器(Virtual Instrument)是基于计算机的仪器。虚拟仪器通常具有一个或多个友好的虚拟面板(人机

12、界面),用户可通过虚拟面板很方便地进行操作。用户可对虚拟仪器的功能和用途进行定义、组合和扩展,从而更快、更省和更方便的解决测试、测量和自动化的应用问题。目前对于虚拟仪器的开发主要由以下两种语言: l 文本式编程语言:如C ,Visual C + + , Visual Basic等 l l 图形化编程语言:如 LabVIEW,HPVEE等 本次设计中采用的是LabVIEW应用软件。LabVIEW(Laboratory Virtual instrument&#

13、160;Engineering)是一种图形化的编程语言又称为“”语言,它广泛地被工业界、学术界和研究实验室所接受,编程相对简单。 像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。所有的LabVIEW应用程序,即虚拟仪器(NI),它包括前面板(front panel)、流程图(block diagram)以及图标/连接器(icon/connector)三部分。 在LabVIEW中新建一个VI(虚拟仪器)后,会出现两个Windows窗口,分别为前面板和程序框图。前面板是虚拟仪器最终实现人机交互的界

14、面,用来绘制界面和放置控件,例如本次设计中用于绘制十字路口的修饰控件,用于表示信号灯和数码管的布尔控件,以及一些自定义的控件都放置在前面板上,在实际操作中,通过右键点击就可以调出控件选板来摆放那个各种输入输出控件,并且可以对其进行修饰和编辑操作,前面板具有非常大的灵活性,用户可以根据自己的实际需求去绘制非常美观的仪器操作和显示界面。前面板如图所示:图3 LabVIEW前面板程序框图用于编程实现功能的界面,前面板上的各种输入输出控件在程序框图中都有对应,通过连线和和中数据处理操作就可以实现想要的功能效果,编程时主要通过函数选板来选取需要的控件进行编程。程序框图编程界面如图所示:图4 LabVIE

15、W程序框图3.3 系统关键技术Labview中用于前面板制作和后面板程序编写的工具主要包括三个操作选板,分别是工具选板、控件选板和函数选板。样式分别入下图所示:图5 三种操作选板前面板控件选板上的输入控件和显示控件可用于创建前面板。针对不同的数据类型和不同的需要,可以选取多种类型的控件来满足实际的需要,同时也可以通过选择控件来选取自定义的控件实现更加生动的控件运行效果。函数选板只能在编辑程序框图的时候使用,与控件选板的工作方式大体相同,通过点击拖入并连线完成数据流的传输。函数选板在后面板上通过右键就可以调用出来,也可以锁定在界面上。工具选板是在前面板和程序框图中都可以使用的工具选板,正常状态下

16、被隐藏,鼠标是自动识别的方式,工具选板可以通过查看工具选板调用出来,其中包含了多种选取、编辑、修饰的按钮,通过点击就可以使用相应的功能按钮,同样也可以插入指针调试程序,选板最上端的自动选择工具,可以通过点击来切换工具选板的工作方式,选择手动或者自动方式。本次设计中前面板中用到的控件包括制作十字路口背景图的修饰控件中的下凹圆盒和平面盒,平面盒用来制作斑马线。除此以外,就是制作红黄绿信号灯的圆形布尔控件和制作倒计时数码管的方形指示灯,布尔控件只有真假两种状态,可以通过程序框图中的赋值来改变其状态。本次课题的设计中,编程结构用到了While循环,顺序结构以及事件结构,编程样式如下:图6 While循

17、环、顺序结构、条件结构While循环由循环框,条件端口和计数端口组成,基本功能与C语言中的相同,条件端口输入为真则循环执行程序,当条件端口输入为否时则终止程序的执行。条件结构是一种常用的处理在不同条件下输出不同的控制量来实现不同控制效果的一种结构。条件结构的输入可以使布尔型的真假常量,也可以是整型的数据常量,也就是说我们可以通过按钮的开关来控制选取不同的选框,也可以通过不同的数字输入来选择不同的子框图,条件结构中可以设置多个子框图,每个子框图中需要对应输出控制量到控制对象上。 顺序结构有平铺式顺序结构和层叠式顺序结构两种,本次设计中用到的是层叠式顺序结构,两种方式都可以在程序中通过右键点击然后

18、选取相应的菜单栏来切换,非常灵活方便。顺序结构初始时只有一个子框图,每一个框都是一帧,通过右键可以在前面或者后面添加空白帧,程序执行的时候,会按照帧的顺序来循环执行,当一个帧的操作,数据传输完成以后,就会开始下一个帧的操作,依次循环,当最后一个帧结束后再从第一个帧开始执行。除了运行结构以外,程序框图中还用到了颜色盒、属性节点等控件。颜色盒常量对应于某一特定数值的颜色。颜色值以RRGGBB形式的十六进制数字表示。最前面两位控制红色值。中间两位控制绿色值。最后两位控制蓝色值。样式如下: 图7 颜色盒常量选板在本次设计中颜色盒常量用来配合颜色属性节点的调用在不同的时刻对同一布尔控件赋予不同的颜色。本

19、次设计中还涉及了属性节点的调用,包括“可见”属性节点和“颜色”属性节点,主要实现对报警灯颜色赋值,并对当前状态为“假”的布尔控件进行隐藏操作,使显示效果更佳。4. 方案实现4.1 前面板绘制图8 程序前面板效果如图所示,前面板主要分为两个大的模块,左边仿真模拟的是一种温度采集与报警处理系统,右边是实现了对声卡信号的采集与动态显示。温度采集模块中,包括了:1) 摄氏温度和华氏温度的模式选择开关。考虑到不同环境中,摄氏度的显示不一定能满足所有现实中温度采集格式的要求,本次设计中加入了华氏摄氏度的采集与显示模式。系统可以在华度和摄氏度之间自由切换来满足现实情况的不同需求,这一模式选择开关是通过“水平

20、摇杆开关”来实现的,这一样按开关与现实中的摇杆开关几乎一样,能够左右拨动,实现两个状态的转换。在本次设计中,拨到左边是摄氏度显示与采集模式,拨到右边是华氏度显示与采集模式。2) 自定义温度报警阈值的数字输入控件 在现实中常用的温度采集系统中,除了采集温度观察系统的实时运行状态以外,最重要的是能够通过温度的异常来实现对故障状态的报警,本次设计中,采用了数值输入控件,既可以通过按键的加减来输入数据也可以直接通过键盘输入,数值输入控件作为温度报警的限值,当采集的温度超过这个数值的时候报警,计数器加一。3) 控制数据采集、程序暂停和停止的按钮控件 程序的运行通过“开始采集”按钮和“暂停”按钮来控制,能

21、够控制程序的开始运行与中断处理,按钮通过前面板中的文本按钮拖入来实现,能够改变按钮上的文本,显示不同按钮对应的功能。4) 显示数据采集进度的水平进度条 本次设计中还采用了进度条来显示数据采集的进程,使用的是数值选版中的“进度条控件”,这个控件是根据输入数值的大小,对应显示在进度条的对应位置上。这样通过数值的不停增加就能够表示出数据采集的进度。5) 显示当前采集数据的温度计控件 面板中温度计样式的控件采用的是“银色”选版中的“温度计控件”,通过属性中可以设置温度计的最大值,本次设计将最大值设置为100,可以满足对温度显示的额需求。6) 表示运行状态的报警灯 为了实现对故障状态的报警,本次设计中采

22、用了“银色”选版中的“LED灯”来显示报警状态,开关两种状态的不同颜色可以通过LED灯的“属性”来设置,但是本次设计中不是采用开关的两种状态,而是正常运行和报警状态,所以采用了属性节点的调用来实现对两种状态下的报警灯颜色的设置。7) 对报警状态计数的累加器 本次设计还实现了对报警次数的计数,在程序运行时对报警的次数进行一个累加,运行结束后就可以看出报警的总次数。前面板中通过文本显示控件中的“字符串显示”控件来实现对数据的显示,除此之外,为了贴近实际的数码显示效果,本次设计中添加了计数的LED灯显示效果,采用七个方形布尔控件搭成七段数码管用来显示数字,这种效果与实际的数码显示一致,仿真效果非常好

23、,使界面更加美观,贴近实际。8) 显示、存储采集结果的一维数组控件 本次设计中,采用了一维数组存储采集到的数值,并在采集结束时全部输出显示到前面板中,显示控件采用的是数组显示控件,控件上的按键用来索引数组中对应的数据。数据类型为双精度实型,保留六位有效数字。声卡信号采集与动态显示模块中,前面板的绘制内容包括:1) 采样数、采样模式、声音格式等设置选项 这些选项都是数值输入控件,用来设置声音采集和显示的模式等。可以设置每个通道的采样数,采样模式(包括连续采样和有限采样),可以设置声音的采样率、采样比特数。2) 显示声卡信号的波形控件 声音信号的显示采用了图形显示控件中的波形图,能够实时显示声音信

24、号的波形,与现实中的示波器显示效果类似。3) 显示声卡功率谱的波形控件 声卡功率谱的显示与声音信号的显示控件相同,都是采用的“波形图”控件,能够实时显示信号的分析结果。4.2 程序框图功能实现实现两大功能模块的程序框图如下:图9 程序面板框图1图10 程序面板框图2程序整体放置在一个大的While循环里面,这样,While循环中的程序能够循环运行,实时显示数据采集与分析的结果。对于温度采集与处理模块,由于缺少硬件采集卡等设备,本次设计中采用了循环结构和随机数搭配,模拟出了一组温度值,并对这组温度值进行处理,实现其越限报警、数据存储展示等其他功能。程序设计为共采集十组数据,采用FOR循环来生成十

25、足数据,摄氏和华氏的切换通过条件结构搭配按钮来实现,不同模式输出不同格式的数值,同时传输到温度计中实时显示。对于报警计数器,采用的是While循环中的移位寄存器,上一步的结算结果可以作为下一步计算的初始值,程序运行时,首先将采集到的温度值与设定的温度限值做比较,将结果输出到条件结构中,如果结果为“真”,即,温度大于设定的温度限值,则利用颜色盒常量将报警灯的状态设置为红色,然后对移位寄存器加一,结果输出到报警次数器上;如果结果为“假”,即采集到的温度值,比设定的温度限值小,则将报警灯的状态设置为绿色,意为正常状态,移位寄存器原值输出。另外,除了报警灯的显示效果以外,程序还设置了七段数码管的显示效

26、果来显示报警次数的额累计值,首先将计数值输出到条件结构中,设置10个条件分支,分别对应0-9的显示效果,数码管对应的真假常量设置在不同的选框中,输出端将七个真假常量输出到七段数码管对应的方形显示灯的布尔控件上,这样设计基本就能实现数码管的显示效果,但是为了更加贴近现实,本次设计中,点用了七个布尔空间的属性节点中的“可见”节点,在不显示的时候将对应的控件隐藏,这样更加能够与现实中的显示效果贴近。对于进度条的显示,程序巧妙的将for循环中的循环次数i输入到了进度条显示控件,这样就能实时对应上采集程序的采集进度。对于程序的采集与暂停控制,本次设计中使用的是时间结构和层叠式循环结构相结合的形式,当“开

27、始采集”按钮按下时,程序运行条件为“真”的选框中的内容,即,层叠式循环结构,首先运行“0”状态:图11 层叠式顺序结构“0”状态将计数处置设置为0,然后运行“1”状态,图12 层叠式顺序结构“1”状态执行采集数据的程序,此时如果“暂停”按钮按下,则运行事件结构中的程序:图13 事件结构选框弹框显示“程序处于暂停状态”,按下“确定”后,程序继续运行状态“2”中的内容:图14 层叠式顺序结构状态“2”此时程序运行结束,弹框显示“10点采集完毕”。这样一个完整的数据采集与超限报警的功能就实现了,并且能够存储采集的结果。声卡信号的采集则是采用文件IO中的声音信号相关的模块进行数据采集:图15 声音信号

28、配置面板采集到的数据输出到波形图表进行动态显示,另外通过频谱测量对信号进行分析,并输出功率谱到波形图表。5. 结束语本次毕业设计依据要求,设计了一种基于LabVIEW的数据采集与处理系统,包括温度采集与声卡信号采集两大部分,首先是温度数据采集,程序设计实现了可以连续采样10组数据,可以在温度计控件中实时显示采集的结果,可以对超过温度限值的状态进行报警并计数,程序运行结束时能够将采集到的数据存储在一维数组中显示出来,并且程序可以显示运行的进度,可以在华氏和摄氏温度模式中进行切换,可以在数据采集过程中暂停程序运行并弹窗显示。程序的报警计数采用了七段数码管的显示效果能够仿真出显示中的数码管显示效果,

29、美化了界面。对于声卡的信号采集与处理,本次设计采用了,程序自带的选版采集声卡数据,并进行功率谱分析,前面板中用波形图显示,完成了信号的实时采集显示与分析。本次设计虽然功能基本实现,但仍然存在一些不足,希望以后能够逐步完善,首先,为了运行效果,本次设计只采集了10组数据,对于现实中的自动化领域、实验室等环境不符合需求,报警计数也只设置了个位显示,另外,对温度数据的处理中,本次设计只讲采集到的数据放在了一维数组中显示出来,没有存储到本地数据库,不方便以后的查询与统计。6. 谢辞经过这段时间的研究和学习,该基于Labview的数据采集与处理系统的设计已经基本完成。这个过程充满挑战和乐趣,让我收获了很多,首先是对于软件的学习,经过这次毕业设计,不仅掌握了软件的基本操作和编程方法,还自学了自定义控件的制作方法,对软件最终的效果起到了很大的帮助作用。本次毕业设计可以顺利完成并且收获很多,除了自身的学习之外,还得益于很多人对我的帮助和建议。首先,我要感谢我的指导老师,对于我毕业设计的完成起到了关键性的作用,

温馨提示

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

最新文档

评论

0/150

提交评论