基于LabVIEW的数据采集与处理系统设计.docx

上传人:b****8 文档编号:28360056 上传时间:2023-07-10 格式:DOCX 页数:15 大小:558.37KB
下载 相关 举报
基于LabVIEW的数据采集与处理系统设计.docx_第1页
第1页 / 共15页
基于LabVIEW的数据采集与处理系统设计.docx_第2页
第2页 / 共15页
基于LabVIEW的数据采集与处理系统设计.docx_第3页
第3页 / 共15页
基于LabVIEW的数据采集与处理系统设计.docx_第4页
第4页 / 共15页
基于LabVIEW的数据采集与处理系统设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基于LabVIEW的数据采集与处理系统设计.docx

《基于LabVIEW的数据采集与处理系统设计.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW的数据采集与处理系统设计.docx(15页珍藏版)》请在冰豆网上搜索。

基于LabVIEW的数据采集与处理系统设计.docx

基于LabVIEW的数据采集与处理系统设计

基于LabVIEW的数据采集与处理系统设计

摘要:

虚拟仪器作为一种基于图形化编程的新型概念仪器,以计算机作为运行媒介,节省了大量的显示、控制硬件,越来越显示出它独有的优势。

基于LabVIEW的数据采集与处理系统,整体采用了循环结构与顺序结构相结合的形式,实现了模拟信号的采集与实时动态显示,并且仿真出了对数据的采集和报警功能,并且能够存储数据,进行各种自定义设置,显示效果良好,对现实中的数据采集与处理系统具有很大的借鉴作用。

关键词:

虚拟仪器;数据采集;数据处理;LabVIEW

TheDesignofDataAcquisitionandProcessingSystemBasedonLabVIEW

Abstract:

Asakindofvirtualinstrumentbasedongraphicalprogrammingthenewconceptofinstruments,runatthecomputerasamedium,savealargeamountofdisplay,controlhardware,moreandmoreshowsitsuniqueadvantages.DataacquisitionandprocessingsystembasedonLabVIEW,andtheoveralladoptedloopstructureandorderstructure,intheformofthecombinationofthedynamicanalogsignalacquisitionandreal-timedisplay,andthesimulationofthedatacollectionandalarmfunction,andtheabilitytostoredata,foravarietyofSettings,displayeffectisgood,therealityofthedataacquisitionandprocessingsystemhasagreatreference.

Keywords:

VirtualInstrument;DataCollection;DataProcessing;LabVIEW;

目录

1.引言4

1.1课题研究的意义4

1.2课题设计的目的和内容4

2.研究现状及设计目标4

3.系统方案与关键技术介绍5

3.1系统总体方案简介5

3.2虚拟仪器与labview简介6

3.3系统关键技术7

4.方案实现10

4.1前面板绘制10

4.2程序框图功能实现11

5.结束语16

6.谢辞17

7.参考文献18

 

1.引言

1.1课题研究的意义

虚拟仪器是现如今非常流行的一种计算机技术,它的应用面很广,由于采用了计算机界面代替了传统的硬件显示器,又可以利用计算机的处理器去实现硬件的处理功能,所以只需要将需要处理的各种类型的数据通过统一的接口传输到计算机中,这样就能实现各种显示、处理与控制功能。

虚拟仪器作为一种非常便捷和灵活的人机交互手段,能够和许多不同的学科和内容相结合。

本次课题就是将虚拟仪器与数据采集与处理系统相结合,利用LabVIEW软件平台强大的数据处理能力和多样化的结果显示方式,仿真模拟信号的数据采集与处理过程,能够实现对信号的动态显示、异常报警和数据存储功能,对于实际中测控领域的其他系统具有一定的借鉴意义,提供了另一种不同的方法。

1.2课题设计的目的和内容

本次课题拟借助虚拟仪器的平台,采用Labview应用软件模拟仿真一种模拟信号采集与处理控制系统,要求能够实现:

①实现模拟信号的采集;

②实现3通道的数据AD转换的功能;

③设置显示界面,能动态显示数据的采集结果;

④根据设定阈值,对于超过阈值,有相应的提示功能。

2.研究现状及设计目标

LabVIEW是一种采用图形化编程语言的平台环境,含有多样化的数据处理工具和强大的信号分析与结果展示功能,并且能够显示与实际相同的按钮,开关等布尔空间,因此,广泛地应用于自动化行业、科研机构和研究实验室,被视为一个标准的数据采集和仪器控制软件。

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

虚拟仪器总体结构划分为数据采集、数据分析处理、结果表达三大功能模块。

构成方式如下

图1虚拟仪器构成方式

在NILabVIEW的图形化开发环境中,用户不需要采用传统的开发平台去编写、编译成行的文本代码,而是通过各种不同的图标工具与函数选框去开发数据采集系统。

使用NILabVIEW,即便用户不具备编程经验,也能在数小时内完成传统语言编写需要数周的程序。

直观的流程图所显示的代码便于用户开发、维护和理解。

只需点击两次鼠标,便能传递功能代码块之间的数据。

用户无需从头创建整个数据采集系统。

NILabVIEW包含全套范例,适合各项常规的丈量任务。

这些可立即执行的程序覆盖了各类应用,从简单的单通道丈量,到多个设备利用先进的定时、触发与同步技术实现高性能多通道系统。

只需从自动更新的下拉菜单中选择硬件,并单击运行。

NILabVIEW包含数千个特别为工程师和科学家创建的高级分析函数,所有函数均配有具体的帮助文件与文档。

这些强大的工具可实现高级信号处理、频率分析、概率与统计、曲线拟合、插值、数字信号处理等功能。

用户还可将NILabVIEW扩展至特定的应用处理,如:

声音和振动丈量、机器视觉、RF/通讯、瞬时/短时信号分析等。

需要更高灵活性的用户,可将NILabVIEW同第三方软件开发的算法进行集成。

3.系统方案与关键技术介绍

3.1系统总体方案简介

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

系统总体框架图如下图所示:

 

后面板

前面板

数据采集与处理

系统

属性节点调用

循环结构

顺序结构

图表控件

布尔控件

修饰控件

 

图2系统总体框架图

3.2虚拟仪器与labview简介

虚拟仪器,顾名思义就是一种“虚拟”的操作面板,而不是实际中有很多按钮和显示界面以及指示灯的实际操作仪器。

虚拟仪器实际上是使用了计算机的显示器来模拟了传统仪器的控制和显示面板,用户可以利用开发工具,自定义人机交互界面,并且通过编程,实现数据的处理和控制效果的实现。

虚拟仪器不仅可以制作控制面板,通过鼠标键盘来控制,还能够与不同的接口总线相结合,构成功能强大的测量测试系统,这是它一个显著的特点。

虚拟仪器(Virtual Instrument)是基于计算机的仪器。

虚拟仪器通常具有一个或多个友好的虚拟面板(人机界面),用户可通过虚拟面板很方便地进行操作。

用户可对虚拟仪器的功能和用途进行定义、组合和扩展,从而更快、更省和更方便的解决测试、测量和自动化的应用问题。

目前对于虚拟仪器的开发主要由以下两种语言:

 

●文本式编程语言:

如C ,Visual C + + , Visual Basic等 l 

●图形化编程语言:

如 LabVIEW,HPVEE等 

本次设计中采用的是LabVIEW应用软件。

LabVIEW(Laboratory Virtual instrument Engineering)是一种图形化的编程语言又称为“G”语言,它广泛地被工业界、学术界和研究实验室所接受,编程相对简单。

 像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。

所有的LabVIEW应用程序,即虚拟仪器(NI),它包括前面板(front panel)、流程图(block diagram)以及图标/连接器(icon/connector)三部分。

 

在LabVIEW中新建一个VI(虚拟仪器)后,会出现两个Windows窗口,分别为前面板和程序框图。

前面板是虚拟仪器最终实现人机交互的界面,用来绘制界面和放置控件,例如本次设计中用于绘制十字路口的修饰控件,用于表示信号灯和数码管的布尔控件,以及一些自定义的控件都放置在前面板上,在实际操作中,通过右键点击就可以调出控件选板来摆放那个各种输入输出控件,并且可以对其进行修饰和编辑操作,前面板具有非常大的灵活性,用户可以根据自己的实际需求去绘制非常美观的仪器操作和显示界面。

前面板如图所示:

图3LabVIEW前面板

程序框图用于编程实现功能的界面,前面板上的各种输入输出控件在程序框图中都有对应,通过连线和和中数据处理操作就可以实现想要的功能效果,编程时主要通过函数选板来选取需要的控件进行编程。

程序框图编程界面如图所示:

图4LabVIEW程序框图

3.3系统关键技术

Labview中用于前面板制作和后面板程序编写的工具主要包括三个操作选板,分别是工具选板、控件选板和函数选板。

样式分别入下图所示:

图5三种操作选板

前面板控件选板上的输入控件和显示控件可用于创建前面板。

针对不同的数据类型和不同的需要,可以选取多种类型的控件来满足实际的需要,同时也可以通过选择控件来选取自定义的控件实现更加生动的控件运行效果。

函数选板只能在编辑程序框图的时候使用,与控件选板的工作方式大体相同,通过点击拖入并连线完成数据流的传输。

函数选板在后面板上通过右键就可以调用出来,也可以锁定在界面上。

工具选板是在前面板和程序框图中都可以使用的工具选板,正常状态下被隐藏,鼠标是自动识别的方式,工具选板可以通过查看》工具选板调用出来,其中包含了多种选取、编辑、修饰的按钮,通过点击就可以使用相应的功能按钮,同样也可以插入指针调试程序,选板最上端的自动选择工具,可以通过点击来切换工具选板的工作方式,选择手动或者自动方式。

本次设计中前面板中用到的控件包括制作十字路口背景图的修饰控件中的下凹圆盒和平面盒,平面盒用来制作斑马线。

除此以外,就是制作红黄绿信号灯的圆形布尔控件和制作倒计时数码管的方形指示灯,布尔控件只有真假两种状态,可以通过程序框图中的赋值来改变其状态。

本次课题的设计中,编程结构用到了While循环,顺序结构以及事件结构,编程样式如下:

图6While循环、顺序结构、条件结构

While循环由循环框,条件端口和计数端口组成,基本功能与C语言中的相同,条件端口输入为真则循环执行程序,当条件端口输入为否时则终止程序的执行。

条件结构是一种常用的处理在不同条件下输出不同的控制量来实现不同控制效果的一种结构。

条件结构的输入可以使布尔型的真假常量,也可以是整型的数据常量,也就是说我们可以通过按钮的开关来控制选取不同的选框,也可以通过不同的数字输入来选择不同的子框图,条件结构中可以设置多个子框图,每个子框图中需要对应输出控制量到控制对象上。

顺序结构有平铺式顺序结构和层叠式顺序结构两种,本次设计中用到的是层叠式顺序结构,两种方式都可以在程序中通过右键点击然后选取相应的菜单栏来切换,非常灵活方便。

顺序结构初始时只有一个子框图,每一个框都是一帧,通过右键可以在前面或者后面添加空白帧,程序执行的时候,会按照帧的顺序来循环执行,当一个帧的操作,数据传输完成以后,就会开始下一个帧的操作,依次循环,当最后一个帧结束后再从第一个帧开始执行。

除了运行结构以外,程序框图中还用到了颜色盒、属性节点等控件。

颜色盒常量对应于某一特定数值的颜色。

颜色值以RRGGBB形式的十六进制数字表示。

最前面两位控制红色值。

中间两位控制绿色值。

最后两位控制蓝色值。

样式如下:

图7颜色盒常量选板

在本次设计中颜色盒常量用来配合颜色属性节点的调用在不同的时刻对同一布尔控件赋予不同的颜色。

本次设计中还涉及了属性节点的调用,包括“可见”属性节点和“颜色”属性节点,主要实现对报警灯颜色赋值,并对当前状态为“假”的布尔控件进行隐藏操作,使显示效果更佳。

4.方案实现

4.1前面板绘制

图8程序前面板效果

如图所示,前面板主要分为两个大的模块,左边仿真模拟的是一种温度采集与报警处理系统,右边是实现了对声卡信号的采集与动态显示。

温度采集模块中,包括了:

1)摄氏温度和华氏温度的模式选择开关。

考虑到不同环境中,摄氏度的显示不一定能满足所有现实中温度采集格式的要求,本次设计中加入了华氏摄氏度的采集与显示模式。

系统可以在华度和摄氏度之间自由切换来满足现实情况的不同需求,这一模式选择开关是通过“水平摇杆开关”来实现的,这一样按开关与现实中的摇杆开关几乎一样,能够左右拨动,实现两个状态的转换。

在本次设计中,拨到左边是摄氏度显示与采集模式,拨到右边是华氏度显示与采集模式。

2)自定义温度报警阈值的数字输入控件

在现实中常用的温度采集系统中,除了采集温度观察系统的实时运行状态以外,最重要的是能够通过温度的异常来实现对故障状态的报警,本次设计中,采用了数值输入控件,既可以通过按键的加减来输入数据也可以直接通过键盘输入,数值输入控件作为温度报警的限值,当采集的温度超过这个数值的时候报警,计数器加一。

3)控制数据采集、程序暂停和停止的按钮控件

程序的运行通过“开始采集”按钮和“暂停”按钮来控制,能够控制程序的开始运行与中断处理,按钮通过前面板中的文本按钮拖入来实现,能够改变按钮上的文本,显示不同按钮对应的功能。

4)显示数据采集进度的水平进度条

本次设计中还采用了进度条来显示数据采集的进程,使用的是数值选版中的“进度条控件”,这个控件是根据输入数值的大小,对应显示在进度条的对应位置上。

这样通过数值的不停增加就能够表示出数据采集的进度。

5)显示当前采集数据的温度计控件

面板中温度计样式的控件采用的是“银色”选版中的“温度计控件”,通过属性中可以设置温度计的最大值,本次设计将最大值设置为100,可以满足对温度显示的额需求。

6)表示运行状态的报警灯

为了实现对故障状态的报警,本次设计中采用了“银色”选版中的“LED灯”来显示报警状态,开关两种状态的不同颜色可以通过LED灯的“属性”来设置,但是本次设计中不是采用开关的两种状态,而是正常运行和报警状态,所以采用了属性节点的调用来实现对两种状态下的报警灯颜色的设置。

7)对报警状态计数的累加器

本次设计还实现了对报警次数的计数,在程序运行时对报警的次数进行一个累加,运行结束后就可以看出报警的总次数。

前面板中通过文本显示控件中的“字符串显示”控件来实现对数据的显示,除此之外,为了贴近实际的数码显示效果,本次设计中添加了计数的LED灯显示效果,采用七个方形布尔控件搭成七段数码管用来显示数字,这种效果与实际的数码显示一致,仿真效果非常好,使界面更加美观,贴近实际。

8)显示、存储采集结果的一维数组控件

本次设计中,采用了一维数组存储采集到的数值,并在采集结束时全部输出显示到前面板中,显示控件采用的是数组显示控件,控件上的按键用来索引数组中对应的数据。

数据类型为双精度实型,保留六位有效数字。

声卡信号采集与动态显示模块中,前面板的绘制内容包括:

1)采样数、采样模式、声音格式等设置选项

这些选项都是数值输入控件,用来设置声音采集和显示的模式等。

可以设置每个通道的采样数,采样模式(包括连续采样和有限采样),可以设置声音的采样率、采样比特数。

2)显示声卡信号的波形控件

声音信号的显示采用了图形显示控件中的波形图,能够实时显示声音信号的波形,与现实中的示波器显示效果类似。

3)显示声卡功率谱的波形控件

声卡功率谱的显示与声音信号的显示控件相同,都是采用的“波形图”控件,能够实时显示信号的分析结果。

4.2程序框图功能实现

实现两大功能模块的程序框图如下:

图9程序面板框图1

图10程序面板框图2

程序整体放置在一个大的While循环里面,这样,While循环中的程序能够循环运行,实时显示数据采集与分析的结果。

对于温度采集与处理模块,由于缺少硬件采集卡等设备,本次设计中采用了循环结构和随机数搭配,模拟出了一组温度值,并对这组温度值进行处理,实现其越限报警、数据存储展示等其他功能。

程序设计为共采集十组数据,采用FOR循环来生成十足数据,摄氏和华氏的切换通过条件结构搭配按钮来实现,不同模式输出不同格式的数值,同时传输到温度计中实时显示。

对于报警计数器,采用的是While循环中的移位寄存器,上一步的结算结果可以作为下一步计算的初始值,程序运行时,首先将采集到的温度值与设定的温度限值做比较,将结果输出到条件结构中,如果结果为“真”,即,温度大于设定的温度限值,则利用颜色盒常量将报警灯的状态设置为红色,然后对移位寄存器加一,结果输出到报警次数器上;如果结果为“假”,即采集到的温度值,比设定的温度限值小,则将报警灯的状态设置为绿色,意为正常状态,移位寄存器原值输出。

另外,除了报警灯的显示效果以外,程序还设置了七段数码管的显示效果来显示报警次数的额累计值,首先将计数值输出到条件结构中,设置10个条件分支,分别对应0-9的显示效果,数码管对应的真假常量设置在不同的选框中,输出端将七个真假常量输出到七段数码管对应的方形显示灯的布尔控件上,这样设计基本就能实现数码管的显示效果,但是为了更加贴近现实,本次设计中,点用了七个布尔空间的属性节点中的“可见”节点,在不显示的时候将对应的控件隐藏,这样更加能够与现实中的显示效果贴近。

对于进度条的显示,程序巧妙的将for循环中的循环次数i输入到了进度条显示控件,这样就能实时对应上采集程序的采集进度。

对于程序的采集与暂停控制,本次设计中使用的是时间结构和层叠式循环结构相结合的形式,当“开始采集”按钮按下时,程序运行条件为“真”的选框中的内容,即,层叠式循环结构,首先运行“0”状态:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1