首页 LabVIEW资料VI编辑和调试实验

LabVIEW资料VI编辑和调试实验

举报
开通vip

LabVIEW资料VI编辑和调试实验实验一VI编辑和调试实验一、实验目的:1、学习LabVIEW的基本知识;2、掌握LabVIEW的初步操作技巧。二、实验内容:1、创建VI;2、定制子VI;2、调用子VI完成采集数据过程。三、实验原理:创建一个VI程序模拟温度测量过程。假设传感器输出电压与温度成正比。例如,当温度为70°F时,传感器输出电压为0.7V。本程序也可以用摄氏温度来代替华氏温度显示,摄氏温度到华氏温度的转换公式为T=(F-32)/1.8(T为摄氏温度;F为华氏温度)。本实验利用一个0~1的随机函数仿真由DAQ卡采集的电压信号。利用模...

LabVIEW资料VI编辑和调试实验
实验一VI编辑和调试实验一、实验目的:1、学习LabVIEW的基本知识;2、掌握LabVIEW的初步操作技巧。二、实验内容:1、创建VI;2、定制子VI;2、调用子VI完成采集数据过程。三、实验原理:创建一个VI程序模拟温度测量过程。假设传感器输出电压与温度成正比。例如,当温度为70°F时,传感器输出电压为0.7V。本程序也可以用摄氏温度来代替华氏温度显示,摄氏温度到华氏温度的转换公式为T=(F-32)/1.8(T为摄氏温度;F为华氏温度)。本实验利用一个0~1的随机函数仿真由DAQ卡采集的电压信号。利用模拟温度测量程序作为子程序实现温度数据采集过程。四、实验步骤:1、创建VI:建立一个测量温度的VI。步骤如下:1)选择File»New,打开一个新的前面板窗口。2)从AllControls»ClassicControls»ClassicNumeric中选择一个温度计;从AllControls»ClassicControls»ClassicBoolean中选择开关,并将它们分别放到前面板中。设置温度标题(Caption)为“温度”,显示范围为0到100,同时开放数字显示;选择开关标题(Caption)为温度方式选择。布置如图1-1的前面板图。图1-1温度 检测 工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训 前面板图3)选择Windows»ShowDiagram打开程序框图窗口。从功能模板中选择对象,1将它们放到流程图上组成图1-2(其中的标注是后加的,在实验中不用添加)。4)该流程图中新增的对象有1个乘法器、1个减法器、1个除法器、3个数值常数、一个随机数发生器、1个选择器、温度和选择开关对象是由前面板的设置自动在框图中添加。乘法器、减法器、除法器和随机数发生器由AllFunctions»Numeric中拖出。选择器由Functions»Arithmetic&Comparison»ExpressComparison中拖出。5)用连线工具将各对象按图1-2连接。连线过程中完成创建数值常数对象。具体方法是:用连线工具在某个功能函数或VI的连线端子上单击鼠标右键,再从弹出的菜单中选择CreateConstant,就可以创建一个具有正确数据格式的数值常数对象。选择函数除法函数随机数发生器乘法函数数值常数图1-2创建温度检测VI程序框图6)选择File»Save,把该VI保存在LabVIEW\Activity目录中命名为:温度转换.vi。在前面板中,单击Run(运行)按钮,运行该VI。7)选择File»Close,关闭该VI。2、建立子VI:子VI(SubVI)相当于普通编程语言中的子程序,也就是被其他VI调用的VI。可以将任何一个定义了图标和联接器的VI作为另一个VI的子程序。在流程图中选择Functions»SelectaVI….,进而选择要调用的子VI。构造一个子VI主要的工作是实现程序功能、定义它的图标和联接器。每个VI在前面板和流程图窗口的右上角都显示了一个默认的图标。启动图标编辑器的方法是,用鼠标右键单击面板窗口的右上角的默认图标,在弹出菜单中选择EditIcon。2下图显示了图标编辑器的窗口。可以用窗口左边的各种工具设计像素编辑区中的图标形状。编辑区右侧的方框中显示了一个实际大小的图标。图标编辑器的具体使用细节参阅教材。图1-3图标编辑器窗口联接器是VI数据的输入输出接口。如果用面板控制对象或者显示对象从子VI中输出或者输入数据,那么这些对象都需要在联接器面板中有一个连线端子。可以通过选择VI的端子数并为每个端子指定对应的前面板对象以定义联接器。定义联接器的方法是,用鼠标右键单击前面板窗口中的图标窗口,在快捷菜单中选择ShowConnector。联接器图标会取代面板窗口右上角的图标。LabVIEW自动选择的端子连接模式是控制对象的端子位于联接器窗口的左边,显示对象的端子位于联接器窗口右边。选择的端子数取决于前面板中控制对象和显示对象的个数。联接器中的各个矩形表示各个端子所在的区域,可以用它们从VI中输入或者输出数据。如果必要,也可以选择另外一种端子连接模式。方法是在图标上单击鼠标右键单出快捷菜单,选择ShowConnector,再次重复以上操作弹出快捷菜单,选择Patterns。下面完成建立子VI的实验:1)打开LabVIEW\Activity目录中命名为:温度转换.vi,这是上一步实验所做程序。2)在前面板中,用鼠标右键单击窗口右上角的图标,在快捷菜单中选择EditIcon….,也可以双击图标激活图标编辑器。注意只能在前面板中编辑图标和联接器。3)删除默认图标。使用SelectTool(矩形框),单击并拖动想要删除的部分,按下<Delete>键;也可以通过双击工具框中的阴影矩形删除图标。34)用PencilTool(铅笔工具)绘制一个温度计。5)用TextTool(文本工具)创建文本。得到图标将如下图所示。图1-4编辑后的图标编辑器窗口6)注意子VI图标根三种形式,建立图标7)上角的图标窗口中。9)工具,同时端子变成黑温度显示对象。一个移动的虚线框把它包围起来,选中的端子的颜色c.这样VI被其他的VI调用。子VI的图标据颜色不同分为256色、16色和黑白过程中最好首先选中256色编辑选框,首先编辑256色图标。16色和黑白图标,可以通过Copyfrom功能从256色图标中提取。单击OK,关闭编辑器。新创建的图标就显示在屏幕右8)用鼠标右键单击前面板中的图标窗口,在快捷菜单中选择ShowConnector,设置联接器端子连接模式。在默认情况下,LabVIEW会根据前面板中的控制对象和显示对象的数目确定联接器的端子连接模式。因为前面板中有两个对象,所以联接器有两个端子,如左图所示。用鼠标右键单击联接器窗口,在快捷菜单中选择Rotate90Degrees(旋转90度),注意联接器窗口的变化,如左图所示。将端子连接到温度计和温度选择开关:a.点击联接器底部端子。光标自动变成连线色。b.单击变为与控制/显示对象的数据类型一致的颜色。如果单击前面板中的任何空白区域以后,虚线消失,选中的端子变暗,这表示您已经成功地把显示对象和底部端子连接起来。如果端子是白色,则表示没有连接成功。重复步骤a和b,把上部的端子和温度选择开关连接起来。d.用鼠标右键单击联接器,在快捷菜单中选择ShowIcon….10)选择File»Save,保存该VI。就完成了此VI的编辑,并可以作为子4在主程序的框图窗口里,都可以把其他的VI程序作为子程序调用,只要被调。子程序节点并度测量,并把结果在波形图表上显示。给该开关的标题栏2)hart控3)势图将它的图标注解plot自动地标注为“plot0”,使用文本修改工具将4)度,需要对它的标尺进行重新定标。将Y轴的“10”5)部件。VI的程序框图中代表此子VI。子VI的联接器(含有两个端子)包括输出温度和输入温度方式选择。3、子VI调用:在任意一个VI用VI程序定义了图标和联接器端口即可。用户使用功能模板的SelectaVI来完成子VI调用。当使用该功能时,将弹出一个对话框,用户可以选择子VI。一个子VI程序,相当于普通程序的子程序。节点相当于子程序调用不是子程序本身,就如同一般程序的子程序调用语句并不是子程序本身一样。如果在一个框图程序中,有几个相同的子程序节点,即为多次调用相同的子程序。但请注意,该子程序的拷贝不会在内存中存储多次。本部分实验将创建一个新的VI程序,进行温该VI程序使用我们前面创建的温度转换.vi作为子程序。1)新建一个VI,在前面板窗口中放置一个竖直开关,(Caption)标注为“Enable”,用于开始/停止数据采集操作控制。在前面板内再放置一个趋势图(使用Graph子模板中的WaveformC件),修改标题栏(Caption)为“温度历史趋势”。该图表将实时地显示温度值。由于趋其重新标注为“Temp”。因为趋势图用于显示室内温改为“90”,而将“0.0”改为“20”。前面板样式如图1-5温度数据采集前面板所示。此时暂时不要创建模式转换开关,我们将尝试从框图程序窗口创建前面板的图1-5温度数据采集前面板56)选择Windows»ShowD择Function»Execution7)vity目录中命名为:8)集程序框图进行编程连线。iagram打开程序框图窗口,选Control»WhileLoop结构控件”放入框图程序窗口;调整该条件循环框的大小,把先前从前面板创建的两个节点放入循环框内。从AllFunctions»SelectaVI…中,选择LabVIEW\Acti温度转换.vi的子VI。按照图1-6的温度数据采图1-6温度数据采集程序框图9)创建模式开关。把连线Mode输入端口上,按鼠10)口,使用文本修改工具,双击模式开关的“OFF”标签,并把它11)将模式开关设置为ON状态,运行该VI程序。环结构,只要条件满足,它12)停束。择DataOperations»MakeCurrentValued.tion»LatchWhenPressed工具放在“温度转换”子VI的标右键并选择CreatControl,这样就可以自动创建模式转换开关,并将它与温度转换.VI子程序连线,再转换到前面板窗口,将模式转换开关的位置重新调整。在前面板窗转换成“华氏温度”,再把“ON”标签转换为“摄氏温度”。要转换开关状态,可以使用ToolPalette操作工具中的OperatingValue手型工具。注:条件循环结构(WhileLoop)是一种无限循就一直循环运行下去。在本例中,只要允许开关(EnableSwitch)是ON状态,该VI程序就一直运行,采集温度测量值,并在图表上显示。止数据采集,可以点击Enable开关,使其状态变为OFF,循环结13)修改Enable开关缺省设置,使你运行VI程序时不必每次打开该开关。a.若程序在运行状态,则关闭程序运行。b.把开关设置为ON状态。c.点击开关,从弹出菜单中选Default选项,这将使ON状态变为缺省值。再点击开关,从弹出菜单中选择MechanicalAc选项。614)运行该关点击为OFF状态以停止数据采集。开关将变为OFF状态,增加程序,把开但当条件循环结构再次读取其数值时,它又会变成ON状态。定时器控制功能:刚刚完成的程序,当运行程序时,程序运行速度非常快。如果你希望以一定的itUntilNextmsMultiple功能(在AllFunctions»Time&Dialog-7所示,使VI程序采样间隔为500毫秒。使用Time&Dialog子模板中时间间隔,例如一秒钟一次或者一分钟一次来采集数据,就需要增加定时器控制功能。可以使用Wa子模板下)来满足上述条件。该功能模块可以保证循环间隔时间不少于指定的毫秒数。15)如图1的WaitUntilNextmsMultiple功能,再加上时间常数NumericConstant,把它设置为500。图1-7定时数据采集程序框图16)运行上述程序,试用不同的时间间隔值观察程序运行情况。五、实温度转换除了程序中的做法,还可以用什么方法实现。17)关闭并保存上述程序,文件名为TemperatureMonitor.vi。验思考题:1)华氏温度和摄氏2)程序中的温度历史趋势曲线是否可以使用Graph图实现,为什么。7实验二VI程序结构实验一、实验目的:EW程序结构的编程技巧;循环使用;使用。三、拟温度数据采样程序。增加数据采样的统计分析功能、温度控制的超环使用。1、学习LabVI2、掌握LabVIEW复杂程序的运行特点。二、实验内容:1、WhileLoop2、Case结构使用;3、Sequence顺序结构实验原理:完善实验一的模限报警功能和采样数据的存盘保存功能。并借此训练学生熟练掌握LabVIEW中常用的WhileLoop循环结构、Case结构、Sequence顺序结构等程序结构的编程技巧及复杂程序的运行与编制特点、编制方法。四、实验步骤:1、WhileLoop循图2-1温度数据采集及分析前面板8通过本部分实验学习创建的TemperatureMon»Open)。Max、Min在功能中Graph和Chart是两个基本的概念。一般说来Cha使用WhileLoop结构。修改实验一itor.vi程序,在温度数据采集过程中,利用温度历史趋势波形实时地显示数据;当采集过程结束后,在温度曲线图上绘制采集数据波形,并算出采集数据的最大值、最小值和平均值。注意:该实验程序只使用华氏温度单位。1)打开实验一创建的Temperaturemonitor.vi程序(File2)按照图2-1修改程序,增加温度曲线(Graph形式的图)和Mean、三个数值型指示器(Indicator)。Mean、Max和Min中分别显示出温度的平均值、最大值和最小值。Graph形式的图可以在Controls»Graphindicators»WaveformGraph位置找到;数值型指示器在Controls»NumericIndicators下找到。LabVIEW的图形显示rt是将数据源(例如采集得到的数据)在某一坐标系中,实时、逐点地显示出来,它可以反映被测物理量的变化趋势,例如显示一个实时变化的波形或曲线,传统的模拟示波器、波形记录仪就是采用此种工作方式。而Graph则是对已采集数据进行事后处理其结果,它先将被采集数据存放在一个数组之中,然后根据需要组织成所需的图形显示出来。它的缺点是没有实时显示,但是它的表现形式比较Chart要丰富得多。例如采集了一个波形后,经处理可以显示出其频谱图。同学在实验的过程中应该注意观察Graph和Chart不同属性图的工作情况,学习其使用技巧。图2-2温度数据采集及分析框图3)选择Windows»Sho图中完成图2-2所示框图程序方块称为通道(tunnel)。在本实验中,通道wDiagram切换到框图窗口,在框。被虚线框住的部分表示新增程序。注意:条件循环(WhileLoop)边框上的是条件循环的数据通道口,需要将采集的数据向后续程序输出,因此必须开放通道索引。若要建立数据索引,在通道上单击鼠标右键,并选择EnableIndexing选项。9当通道索引开放后,在条件循环执行时,就会把数据顺序放入一个数组中。在循环结束后,通道立即输出该数组。如果通道索引未开放,则通道仅输出最后一次循环输出的数据值,即输出值为一标量而非数组。为一数组函数。在AllFunctions»Array下可以找到,其功能为求解输入数组的元素的最大值和最小值。为频率均值求解函数。在AllFunctions»Analyze»Mathematics»ProbabilityandStatis面板,并运行VI程序。EnableSwitch)设置为ON时,温度历史趋势图实Analysis.vi并存盘。tics下可以找到,其功能为求解输入频率的均值,在这里我们用此函数求解数组的均值。4)返回前运行情况说明:当允许运行开关(时显示数据采集结果,温度曲线显示此前保存的温度采集数据;当允许运行开关(EnableSwitch)设置为OFF后,温度历史趋势图停止刷新数据采集结果,程序退出条件循环,刷新采集数据数组,进行循环外部运算,并将结果送Mean、Max、Min显示,温度曲线图刷新显示,程序退出执行。5)将修改后的程序重命名为Temperature图2-3温度控制前面板102、Case结构使用验学习使用Case结构。修改TemperatureAnalysis.VI程序增加超限温度增加的部件。其中,高限为数it表示温度上限值;NormalScope表示正常温度范围。高限(AboveLim择Show>Legend和Show完成图2-4所示框图程序通过本部分实检测功能。通过程序检测现场温度是否超出范围,当温度超出上限(HighLimit)时,前面板上的LED将点亮,并且蜂鸣器鸣响,从而实现超限声光报警功能。1)打开本实验创建的TemperatureAnalysisVI程序。2)按照图2-3所示修改前面板。被虚线框住的部分表示值型控制器(在AllContols»ClassicControls»ClassicNumeric下可以找到)、报警为逻辑型指示器(在AllContols»ClassicControls»ClassicBoolean下可以找到)、当前温度值状态为字符型指示器(在AllContols»ClassicControls»ClassicString&Path下可以找到)。HighLimit)数值型控制器用于设定上限报警范围;报警指示灯(WarningLed)和当前温度状态(CurrentTemperatureState)用来表示温度是否超限。在温度历史趋势图和温度曲线图上分别单击鼠标右键,并且选>DighitalDisplay选项,可以增加图注(Legend)和数字显示。在Legend上单击鼠标左键出现改变大小手柄(ResizingHandle),鼠标移近手柄当鼠标指针变为横向工字型按住鼠标左键可以改变Legend大小及增加Legend数量。3)选择Windows»ShowDiagram切换到框图窗口,在框图中。被虚线框住的部分表示新增程序。图2-4温度控制框图11框图程序说明:温度设定值做出比较,如果检测温度值高于高限温度,则为温度超曲线图均采用双踪输出模式,簇打将程序重新命名为TemperatureControl.vi,并保存起来。3、S习使用顺序(Sequence)结构使用并且实现将采样数据传送到文采集后,自动产生数据文件的头文件,它包括操作者名字、文件名和检测温度值与高限限报警状态(AboveLimitWarningState),否则为正常温度范围状态(NormalScopeState)。当为温度超限报警状态时,报警指示灯(WarningLed)点亮,同时蜂鸣器鸣响,当前温度状态用文本方式标明当前处于超温报警状态(AboveLimit)。超温报警程序功能是通过Case结构实现的。当Case结构的判断条件为TRUE时,TRUECase框下的程序执行,蜂鸣器鸣响、送出AboveLimit文本;图中的TRUECase下面存在一个同属于此Case结构的FALSECase框,当Case结构的判断条件为FALSE时,予以执行。FALSECase框程序结构如图2-5所示。由于温度历史趋势图和温度图2-5FALSECase框程序结构所以其输入数据均采用包后送入的方式。温度历史趋势图和温度曲线图分别采用Bundle函数和BuildArray函数实现功能(此二函数分别在AllFunctions»Cluster和AllFunctions»Array下)。4)equence顺序结构使用本部分实验目的在于学件功能。要求学生修改TemperatureControl.vi程序,以学习使用顺序结构和数据文件存储的方法。当程序停止数据表头信息,然后将采集的数据附在头文件后面存储为文本文件。12图2-6采样数据文件存储前面板13图2-7采样数据文件存储框图1)如图2-6所示添加增加控件,增加控件在虚线框内。其中,数据操作路径为文件路径控制器(FilePathControl);操作者为字符串控制器(StringControl)。(此二控件均在Controls»TextControls下)2)如图2-7所示,完成框图程序。顺序结构框图的第1帧程序见图2-8所示。程序框图功能使用了如下的功能模块:WriteCharacterstoFile模块(在FileI/O子模板)。该功能把一个字符串写入一个新的文件或者附加到一个已存在的文件中。它在写入前打开或者创建一个文14件,在完成时关闭该文件。在本例中,它用来建立头文件格式。WritetoSpreadsheetFile模块(在FileI/O子模块)。该模块把一个二维或者一维单精度数组转换成字符串,并把字符串写入一个新文件或者附回在一个已存在的文件后面。在本例中,它将由温度采集数据和上限值组成的二维数组附加在一个已创建了头文件的数据文件后面。Transpose2DArray模块(在Array子模板)。在本例中,它把二维数组转换成以列为分界的二维数组,这样在写入数据文件时它就会以列的形式显示。ConcatenateString模块(在String子模板)。在本例中,它用于创建头文件字符串。程序框图中还使用了一些字符串常数。为Tab常数,表示Tab键的操作符;为Enter(回车)常数,表示回车键的操作符。顺序结构程序按指定的顺序执行各个程序步骤。在本例中,首先创建数据文件的头文件,然后再将数据写入文件中。图2-8采样数据文件存储顺序结构第1帧程序框图3)返回前面板,在HighLimit控制栏中输入90,在操作者(OperatorName)控制栏中输入你的名字,再输入数据文件名(例如C:\jk.txt)。运行该程序。当Enable开关设置为OFF状态后,将产生如下的ASCII文件。叶天迟温度值极限值24.20490.00020.55290.00042.80290.00025.09990.00027.02090.00029.80990.00079.03390.00065.03990.0007.79890.0001564.38090.00019.67090.00011.95690.0004)将文件重新命名为TemperatureControlLogger.vi,并存盘退出。五、实验思考题:1)循环边框通道索引关闭对程序的运行会造成什么影响。2)程序框图中的字符串常数。如为Tab常数和为Enter(回车)常数,在程序运行过程中起到什么作用。16实验三声音信号采集实验一、实验目的:1、学习LabVIEW数据采样的方法;2、掌握LabVIEW声音采样程序编制方法,熟悉文件存取的控制手段与方法。二、实验内容:声音信号的数据采样及声音文件的存储;三、实验原理:利用LabVIEW提供的声音控件,设计一个基于声卡的声音信号采集程序,通过麦克将外部的语音信号转化为模拟电信号,再经由声卡作为模拟电信号采集卡,并将转化后的数字信号传送到微机,经LabVIEW程序控制完成音频信号的采集工作。四、实验步骤:1、准备工具:要求必须具有声卡并正确安装声卡驱动程序的微机一台;与声卡兼容的麦克风一支、耳机或音响自备。2、声音信号的数据采样及声音文件的存储程序编制图3-1声音采样程序前面板1)如图3-1所示搭建声音采样程序前面板。录音、暂停、停止录音三个按钮为布尔型控制器(BooleanControl);音质、采样频率、采样位数为打包的声音格式控件(SoundFormatControl),在AllFunctions\SelectaVI即可打开文件选择对话框,LabVIEW7.1的安装目录下\Vi.lib\Sound\Lvsound.lib打开此lib文件,此时会打开一个控件选择对话框,从中选择SoundFormat.Ctl,打开后即为此声音控件。样式如图3-2所示,可修改为图3-1所示形式。缓存区大小为数值型控件,在All图3-2声音控件17Controls»ClassicControls»ClassicNumeric下可以找到。2)程序框图如图3-3所示,此框图完成声音的录入工作。框图中所用的函数介绍如下:SIConfig声音输入设置a)功能:该函数的主要功能是为声音输入配置以硬件声音输入设备。图3-3声音录制程序框图b)端子介绍:A.device:是指在Windows2000/NT/XP上用于声音存取操作的一个输入设备。在通常情况下,选0作为默认值。B.soundformat:声音格式是指设置声道数(Mono单声道/Stereo立体声)、声音采样频率(一般8000,11025,22050,或者44100Hz任选其一)和声音位数(8位/16位)。C.buffersize缓冲区大小是LabVIEW从设备中转换数据的内部缓冲区的大小设置。D.errorin端子是指表述当前函数的一种错误条件或在其运行之前就发生的错误情况。这个默认值是没有错误的。具有errorin端子的函数会将errorin的输入值传送到errorout端。并一直传下去直到执行error处理程序。E.taskIDout:返回一个与特定的输入设备(device)相关联的识别码。它可以应用到其他的声音输出的VI操作中。F.errorout它包括的是错误的信息。SIStart输入声音开始:a)功能:该函数用于启动声卡开始采集声音数据。采集到的数据会被暂存在缓冲区中,这一过程无需程序干预,由声卡硬件使用DMA方式直接完成,这样可以有效保证采集过程的连续性。18b)端子介绍:A.taskIDin用于接收之前函数发出的与特定的输入设备(device)相关联的识别码。B.errorin同上C.taskIDout同上D.errorout同上。SIRead输入声音读入:a)功能:该函数用于等待采样数据缓冲区满的消息。当产生这一消息时,它将数据缓冲区的内容读取到用户程序的数组中,产生一个采样数据集合。若计算机速度不够快,使得缓冲区的内容被覆盖,则会产生一个错误信息。这时应调节缓冲区的大小,在采样时间与数据读取之间找到一个理想的平衡点。b)端子介绍略。SIStop输入声音停止:a)功能:该函数用于 通知 关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知 声卡停止采集外部数据。已采集而未被读出的数据就会留在缓冲区中,可以使用SIRead函数一次读出。b)端子介绍略。SIClear输入声音清除:a)功能:该函数用于完成最终的清理工作,例如关闭声卡采样通道,释放请求的一系列系统资源(包括DMA缓冲区、内存、声卡等)。关闭与声音输入驱动taskIDin关联的设备和释放驱动程序所使用的计算机系统的所有资源。b)端子介绍略。程序运行控制说明:当系统刚启动运行时,通过声音配置函数进行声音控制配置,之后由于没有录音启动信号和系统故障信号,系统程序停止在录音控制条件循环(WhileLoop)程序中,处于等待下一步工作指令状态;当用户按下录音按钮时,系统程序退出录音控制条件循环,并启动声音读取程序开始录音。录音过程中,通过暂停按钮对录音过程进行控制。如果按下暂停按钮,声音暂停录制;再次点按暂停按钮,录音恢复。暂停录音是通过一个Case结构进行控制,图3-3中列出了当暂停按钮按下,Case结构条件端子为TRUE时的程序编制情况,可以看出当暂停按钮按下,程序执行SIStop函数暂停声音录入,然后进入条件循环结构等待暂停按钮发出恢复录音指令;当暂停按钮发出恢复录音指令时,程序退出暂停Case结果内部的条件循环,同时执行SIStart函数重新启动录音过程。暂停录音的Case结构中FALSE框程序框图如图3-4所示。19图3-4暂停录音Case结构的FALSE框程序框图录音过程中结束录音功能,通过图3-3中所示Stop3按钮实现。首先,Stop3按钮按下,循环记录退出循环条件满足,当本次循环,循环内部程序均执行完毕则退出录音循环。另外,Stop3按钮通过一个Case框控制录音过程结束。当Stop3按钮按下,则其控制Case框的条件端子为TRUE,则执行SIStop函数停止录音;同时,通过属性节点将录音按钮状态置为OFF。当退出录音结束控制Case框后,系统程序执行SIRead函数对缓存中的采样声音数据进行读取。然后,推出录音循环,执行SIClear函数释放录音中占用的系统资源,同时,执行WriteWave函数实现对声音文件的保存。录音结束控制Case框的FALSE框程序框图如图3-5所示。以上程序中的SI开头的MIC声音录制控制函数在AllFunctions»Graphics&Sound»Sound»SoundInput下可以找到;WriteWave函数在LabVIEW7.1安装目录下\Examples\sound\sound.lib下可以找到。SimpleErrorHandler函数在AllFunctions»Time&Dialog下可以找到。图3-5录音结束控制Case框的FALSE框程序框图20录音按钮属性节点建立方法;在程序框图中用鼠标右键单击录音按钮,弹出快捷菜单选择Create»PropertyNode即可。ErrorOut的Status输出采用UnbundleByName函数实现,此函数在AllFunctions»Cluster下可以找到。五、实验思考题:1、如果不执行SIClear函数,程序对系统硬件会造成什么影响。2、录音按钮的属性节点在程序中起到了什么作用。21实验四声音信号分析实验一、实验目的:1、学习LabVIEW数据分析的方法;2、掌握LabVIEW声音采样数据实时分析的手段,熟悉虚拟仪器分析函数的工作特点。二、实验内容:采样数据提取;数据的实时分析;音频曲线的功率谱分析。三、实验原理:本实验是在实验三的基础上,通过对采样数据的提取,进行实时的数据分析;通过对LabVIEW提供的滤波函数、加窗函数、功率谱函数的调用实现音频曲线的调理与分析。四、实验步骤:图4-1为音频信号分析程序前面板图。本实验VI主要使用了LabVIEW中WhileLoop结构来实现整个程序的信号采集、存储、运行和退出等功能,并且应用了SoundInput和SignalProcessing模板中的节点完成信号采集、时域图实时显示、加窗和功率谱分析等操作。在信号分析之前加入了巴特沃思(Butterworth)低通滤波器,对原始信号进行平滑滤波处理以消除高次谐波失真和噪声干扰,提高信噪比。和模拟滤波器相比,该数字滤波器不需要精度组件,不会因温度、湿度的变化产生误差。图4-1音频信号分析程序前面板图22图4-2音频信号分析程序框图采样数据提取样数据有Mono(单声道)和Stereo(立体声)两种模式,这给音频信号由于音频采的显示和分析带来了麻烦,为了统一输出信号形式,首先利用程序实现采样数据的提取及分离任务,即将单声道和立体声音频信号统一转换为单声道信号。程序处理方法如图4-2所示,首先23图4-3单声道音频信号转换程序利用Unbundle函数(在AllFunctions»Cluster下)将SoundFormat簇数据进行拆包,通过两个Case结构分别对采样数据位数、声道方式进行选择进而将声音信号转换为统一的单声道音频信号。Case程序结构见图4-3所示。实时的数据分析与音频曲线的功率谱分析巴特沃思滤波器函数(ButterworthFilter)a)功能:利用巴特沃思系数VI来产生数字滤波功能。b)端子介绍:A.filtertype:滤波类型,它是通过滤波的通频带来划分的。0低通1高通2带通3带阻B:X:为滤波器的输入信号端。C.samplingfreq:fs是指采样频率,默认值是1.0,其输入值必须比0大。如果其输入值为小于等于0的数值,则经此VI滤波后的输出值将会是一个空数组或者返回一个错误信息。D.highcutofffreq:fh就是指高截止频率。当滤波类型为0或1时,此函数VI将忽略了这个参数。当滤波类型为2或3时,fh必须比低截止频率fl高,并且遵守奈奎斯特准则。E.lowcutofffreq:fl是指低截止频率,其值必须遵守奈奎斯特准则。它的默认值是0.125。如果fl的值小于等于0,或者大于采样频率fs值的一半,则经此VI滤波后的输出值将会是一个空数组或者返回一个错误信息。当滤波类型是2(带通)或3(带阻)时,fl必须比小。F.order:序列设定滤波序列,并且必须比0大。它的默认值是2。如果序列是比0小或者等于0时,这个VI将会设置滤波X为空值或者繁华一个错误信息。G.init/cont:控制初始化内部状态的。这个默认值是False。H.Error:返回错误或从此VI中的提取警告信息。ButterworthFilter.VI在AllFunctions»Analyze»SignalProcessing»Filter下。多极时域窗口(ScaledTimeDomainWindow)a)功能:用选择的窗口进行时域信号分析。b)端子介绍:24A.Waveform:输入波形为时域信号波形。B.Window:是指被应用于时域分析的窗口类型。C.WindowedWaveform:为加窗分析后输出的时域信号。D.windowconstants:窗口常数包括被选择窗口的窗口常数信息。它的默认值被设置为统一窗口的值。ScaledTimeDomainWindow.VI在AllFunctions»Analyze»SignalProcessing»Windows下。0Uniform不变窗1Hanning汉宁窗2Hamming海明窗3Blackman-Harris布莱克曼哈里斯窗4ExactBlackman精确布莱克曼窗5Blackman布莱克曼窗6FlatTop平顶窗7FourTermBlackman-Harris四组布莱克曼哈里斯窗8SevenTermBlackman-Harris七组布莱克曼哈里斯窗自动功率谱分析函数(AutoPowerSpectrum)a)功能:单极性、多极性时域信号的自动功率谱分析。b)端子介绍:A.Signal:通常是指输入的电压型时域信号。B.Dt:是指时域信号的采样周期,通常是以一秒为单位。Dt也可以代表fs时域信号的采样频率。C.PowerSpectrum:如果输入信号是以伏特为单位,则功率谱是指与伏特单位相一致的单极性功率谱。D.Df:如果dt是以秒为单位,则Df表示功率谱中的频率间隔,以Hz为单位。AutoPowerSpectrum.VI在AllFunctions»Analyze»SignalProcessing»FrequencyDomain下。功率与频率峰值估值函数(Power&FrequencyEstimate)a)功能:计算一个时域信号频谱的功率峰值和频率峰值的估计值。b)端子介绍:A.PowerSpectrum:是指时域信号的功率谱。PowerSpectrum用于与AutoPowerSpectrum.VI功率谱分析函数模块的输出连接。B.peakfrequency:指用户测试的频率和功率的峰值的频率,通常是以Hz为单位。它的默认值是-1。如果未输入这个参数的话,此函数将会自动地在功率谱中寻找25最大的峰值,并且测试它的频率和功率。C.windowconstants:用作计算功率谱的窗口常数。windowconstants通常是多极时域窗口函数(ScaledTimeDomainWindow.VI)的输出。D.Df:指输入原始信号频谱中的行周期频率间隔。它的默认值是1.0。E.Span:指包括在频率和功率测试中峰值频谱线的数量,它的默认值是7。F.estfrequencypeak:是指在输入的功率频谱中的频率峰值。G..estpowerpeak:是指输入功率频谱中的功率峰值。Power&FrequencyEstimate.VI在AllFunctions»Analyze»SignalProcessing»FrequencyDomain下。简单错误处理器函数(SimpleErrorHandler)a)功能:用于指示是否有错误发生。如果一个错误发生,这个函数将会获得这个错误的一个描述,并且会随时显示一个对话框。b)端子介绍:A.errorcode:数字的错误代码。B.errorsource:是一个潜在的串代码,可以用它来描述这个错误代码的来源。C.typeofdialog:用来描述显示对话框的类型。D.errorin:描述的是在这个功能实行之前错误情况已经发生。五、实验思考题:1、设计一个显示立体声原始信号的示波显示程序。2、SimpleErrorHandler.VI函数在程序框图中所起作用。26实验五VI图形控件和波形显示应用实验一、实验目的:1、学习LabVIEW图形控件和波形显示方式;2、掌握LabVIEW掌握常用图形控件的使用技巧。3、掌握LabVIEW程序控制的基本方法及特点。二、实验内容:1、单曲线和多曲线记录图(Chart图)绘制;2、单曲线和多曲线坐标图(XY图)绘制;3、复杂公式节点多曲线波形图(Graph图)绘制。三、实验原理:将仿真的采样数据按实验要求,利用上诉图形绘制曲线。四、实验步骤:1、单曲线和多曲线记录图(Chart图)绘制:图5-1单曲线和多曲线记录图前面板1)新建一个VI,在前面板中设计如图5-1所示前面板。注意:前面板中有两个Stop按钮,这两个按钮的Stop文本标示是使用标题(Caption)定制的。2)使用快捷键Ctrl+E切换到框图面板,按照图5-2所示编制程序。图5-2单曲线和多曲线记录图程序框图27注意:其中TimeDelay为定时快速VI(ExpressVI)函数,在Functions»ExecutionControl下。2、单曲线和多曲线坐标图(XY图)绘制;1)新建VI分别完成图5-3所示两个XY坐标图。2)使用快捷键Ctrl+E切换到框图面板,按照图5-4和图5-5所示分别编制编制单曲线和多曲线坐标图程序。图5-3单曲线和多曲线坐标图前面板28图5-4单曲线XY图程序框图图5-5多曲线XY图程序框图其中:For循环结构中的函数均为数值型函数,均在Functions»Arithmetic&Comparison»ExpressNumeric下。XYGraph在前面板Controls»GraphIndicators下。3、复杂公式节点多曲线波形图(Graph图)绘制。假设我们可以通过单利或者复利方式从银行借款¥1000,年利率为10%。如果是复利,则利息逐年增长。在这两种方式中,都需要在借款到期时一次性还清全部款项。构造一个如图5-6所示的VI,计算并绘制借款到期时所需还款数,其中借款期取值从N=1到N=借款期限,增量为1。创建一个多曲线的坐标图,用于显示单利及复利情况下的最终应付的款数。定义下列参数:F=最终应付的款数,p=借款总额,i=利率,N=借款期限。相关29公式为:单利情况下F=p*(1+i*N)复利情况下F=p*(1+i)N1)新建VI分别完成图5-6所示复杂公式节点多曲线波形图。图5-6复杂公式节点多曲线波形图前面板图5-7复杂公式节点多曲线波形图程序框图2)使用快捷键Ctrl+E切换到框图面板,按照图5-7绘制复杂公式节点多曲线波形图程序框图。其中,包括两个公式节点,可在AllFunctions»structures中找到。五、实验思考题:1、简述图形控件中图例修改的方法。2、在图5-1中为什么同时出现两个同名的Stop按钮在程序运行时未造成冲突。30
本文档为【LabVIEW资料VI编辑和调试实验】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
飞哥
暂无简介~
格式:pdf
大小:389KB
软件:PDF阅读器
页数:30
分类:企业经营
上传时间:2018-05-08
浏览量:40