基于labview的实验.docx
《基于labview的实验.docx》由会员分享,可在线阅读,更多相关《基于labview的实验.docx(42页珍藏版)》请在冰豆网上搜索。
基于labview的实验
实验一利用LabVIEW控件进行结构化程序设计
一、实验目标:
1.理解LabView的结构的基本概念
2.掌握LabView中特有的顺序结构和移位寄存器的基本使用方法
3.掌握LabView中公式节点的使用方法
二、实验设备
安装有LabVIEW的计算机。
三、实验要求和程序
LabView中的结构中的For和While相当于别的语言中的各种循环语句,而顺序结构主要为了方便于进行和时间相关的编程。
本单元基本要求为循序渐进地学习和调试结构相关的内容,重点在于掌握LabView中进行循环和时间相关编程的方法。
1.使用For循环产生100个随机数。
在随机数产生的同时判定当前随机数的最大值和最小值。
有时称其为“流动的”最大值和最小值。
在前面板上显示流动最大值、最小值和当前的随机数。
循环中一定要包含TimeDelayExpressVI以便用户可以观看值随着For循环的运行而更新。
程序框图:
前面板:
2.构建VI,每秒显示一个0到1之间的随机数。
同时,计算并显示产生的最后四个随机数的平均值。
只有产生4个数以后才显示平均值,否则显示0。
每次随机数大于0.5时,使用Beep.vi产生蜂鸣声。
【提示】虽然叙述简单,但实现不易,请注意:
每秒产生一个随机数,我们可以使用用于定时的VI
要计算最后四个数的平均,我们需要使用移位寄存器
要注意顺序结构和移位寄存器的嵌套关系
运行:
当产生随机数小于4时:
(平均值等于0)
当产生随机数大于4:
3、创建前面板有3个圆LED的VI。
运行程序时,第一个LED打开并保持打开状态。
1秒钟以后,第二个LED打开并保持打开状态;再过2秒钟,第三个LED打开并保持打开状态。
所有LED都保持打开状态3秒钟,然后程序结束。
(使用顺序结构)
程序框图:
前面板:
实验二
利用LabVIEW实现各种数学运算(数组,矩阵,代数)和字符串与逻辑运算
一、实验目标:
1.理解LabView的数组和簇的基本概念
2.掌握数组的创建和使用
3.理解多态性的含义
4.掌握簇的创建和使用
二、实验设备
安装有LabVIEW的计算机。
三、实验要求和内容
LabView中的数组和别的语言中数组的概念基本一致,但在LabView中数组是Control或者Indicator,也就是说,它是有界面的。
LabView中的簇类似于C语言中的stucture数据结构或C++中的Class类。
本单元基本要求为循序渐进地学习和调试数组和簇的相关内容。
1.创建子VI计算两个输入向量A和B内积。
要求程序能够判断两个向量的元素个数是否相等,相等则计算内积,否则利用beep.vi报警并且弹出对话框提示。
将VI计算结果和数学函数的计算结果做比较,仔细检查计算程序。
运行:
1、元素个数不等
2、元素个数相等
2.创建VI,计算并绘制二阶多项式y=Ax2+Bx+C。
VI应使用前面板控件来输入系数A,B和C,并使用前面板控件输入点数N,计算x0到xN-1区间上的多项式。
在波形图上绘制y-x图形指示器。
【提示】首先需要写出N个点中每个点x坐标的计算公式
然后利用多态性简化程序的编制(既把二项式的计算做成子VI,当输入单个值时输出单个值,输入数组时也输出数组)
主程序框图:
前面板:
子VI:
(Y=AX2+BX+C)
[选做]3.创建VI,包含一个由6个按钮组成的簇,这些按钮标签分别是Option1到Option6。
当VI执行时,VI将等待按钮之一被按下。
当按一个按钮时,使用DisplayMessageToUserExpressVI指出所选择的选项。
重复以上过程直到按下Stop按钮。
确保加入TimeDelayExpressVI使用户有时间按按钮。
提示:
可以使用ClustertoArray函数把布尔簇转换成布尔数组,簇中的每个按钮代表数组中的一个元素。
Search1DArray函数从ClustertoArray函数创建的一维布尔值数组中搜索TRUE值。
数组中的任何元素为TRUE值表示用户单击了簇中的一个按钮。
Search1DArray函数返回其在数组中找到的第一个TRUE值的索引值并将其传送到Case结构的选择器端子。
如果没有按过按钮,Search1DArray函数返回索引值-1,执行空操作的-1分支执行。
While循环重复检查布尔簇控件的状态,直到按下Stop按钮。
运行:
四、本单元应掌握的LabView技巧
注意数组的处理和产生都可以借助循环结构,其关键点在于自动索引功能和移位寄存器的使用。
注意体会数组和簇的区别与联系,簇可以构成数组(即簇数组),而数组也可以是簇中的成员。
实验三图形化编程实现信号分析
(一)时域相关分析
一. 实验目的
1.在理论学习的基础上,通过本实验加深对自相关分析和自功率谱分析的概念、性质、作用的理解。
2.掌握用相关分析法测量信号中周期成分的方法。
二.实验原理
(1) 自相关
相关是指客观事物变化量之间的相依关系,在统计学中是用相关系数来描述两个变量x,y之间的相关性的,即:
式中:
ρxy是两个随机变量之积的数学期望,称之为协方差或相关性,表征了x、y之间的关联程度;
σx、σy分别为随机变量x、y的均方差,是随机变量波动量平方的数学期望。
如果所研究的随机变量x,y是与时间有关的函数,即x(t)与y(t),这时可以引入一个与时间τ有关的量ρxy(τ),称为相关系数,并有:
式中假定x(t)、y(t)是不含直流分量(信号均值为零)的能量信号。
分母部分是一个常量,分子部分是时移τ的函数,反映了二个信号在时移中的相关性,称为相关函数。
因此相关函数定义为:
或
如果x(t)=y(t),则称
为自相关函数,即:
(2)自功率谱
随机信号的自功率谱密度Sx(ƒ)与自相关函数Rx(τ)是一傅立叶变换对,即
Sx(ƒ)=
Rx(τ)=
自相关函数和自功率谱函数分别在时间域和频率域描述了一个信号自身波形不同时刻的相关性(或相似程度),揭示了信号波形的结构特性,通过自相关和自功率谱分析我们可以发现信号中许多有规律的东西。
为工程应用提供了重要信息,特别是对于在噪声背景下提取有用信息,更显示了它的实际应用价值。
三.实验仪器和设备
计算机若干台,labVIEW虚拟仪器平台1套.
四.实验步骤及内容
1.打开labVIEW中的"自相关分析"和"互相关分析"实验脚本,进行信号自谱、自相关和互相关分析实验。
2.分别选择labVIEW自谱和自相关分析实验中的信号通道一和通道二的正弦和白噪声按钮,产生正弦和白噪声信号,然后点击多通道信号发生器上的"合成"按钮,产生迭加白噪声的正弦信号,分析和观察上述信号进行自谱和自相关分析后的结果。
3.同样方式产生其他类型的信号,观察分析结果。
4.实验所附主程序文件名:
互相关.vi自相关.vi
五.实验运行结果:
(二)频谱分析
一.实验要求
1.在理论学习的基础上,通过本实验熟悉典型信号的波形和频谱特征,并能够从信号频谱中读取所需的信息。
2.了解信号频谱分析的基本方法及仪器设备。
二.实验原理
1.典型信号及其频谱分析的作用
正弦波、方波、三角波和锯齿波和指数信号是实际工程测试中常见的典型信号,这些信号时域、频域之间的关系很明确,并且都具有一定的特性,通过对这些典型信号的频谱进行分析,对掌握信号的特性,熟悉信号的分析方法大有益处,并且这些典型信号也可以作为实际工程信号分析时的参照资料。
本实验利用labVIEW虚拟仪器平台可以很方便的对上述典型信号作频谱分析。
2.频谱分析的方法及设备
信号的频谱可分为幅值谱、相位谱、实频谱、虚频谱等等。
对信号作频谱分析的设备主要是频谱分析仪,它把信号按数学关系作为频率的函数显示出来,其工作方式有模拟式和数字式二种。
模拟式频谱分析仪以模拟滤波器为基础,从信号中选出各个频率成分的量值;数字式频谱分析仪以数字滤波器或快速傅立叶变换为基础,实现信号的时-频关系转换分析。
傅立叶变换是信号频谱分析中常用的一个工具,它把一些复杂的信号分解为无穷多个相互之间具有一定关系的正弦信号之和,并通过对各个正弦信号的研究来了解复杂信号的频率成分和幅值。
信号频谱分析是采用傅立叶变换将时域信号x(t)变换为频域信号X(f),从而帮助人们从另一个角度来了解信号的特征。
时域信号x(t)的傅氏变换为:
式中
X(f)为信号的频域表示,x(t)为信号的时域表示,f为频率。
本实验利用labVIEW平台上搭建的频谱分析仪来对信号进行频谱分析。
由虚拟信号发生器产生一个典型波形的电压信号,用频谱分析仪对该信号进行频谱分析,得到频谱特性数据。
分析结果用图形在计算机上显示出来。
3.巴特沃斯滤波器
巴特沃斯滤波器拥有最平滑的频率响应,在截止频率以外,频率响应单调下降。
在通带中是理想的单位响应,在阻带中响应为零。
滤波器是一种选频装置,可以使信号中特定的频率成分通过,而极大地衰减其它频率成分。
在测试装置中,利用滤波器的这种选频作用,可以滤除干扰噪声或进行频谱分析。
根据滤波器的选频作用分为:
1)低通滤波器
从0~f2频率之间,幅频特性平直,它可以使信号中低于f2的频率成分几乎不受衰减地通过,而高于f2的频率成分受到极大地衰减。
2)高通滤波器
与低通滤波相反,从频率f1~∞,其幅频特性平直。
它使信号中高于f1的频率成分几乎不受衰减地通过,而低于f1的频率成分将受到极大地衰减。
3)带通滤波器
它的通频带在f1~f2之间。
它使信号中高于f1而低于f2的频率成分可以不受衰减地通过,而其它成分受到衰减。
4)带阻滤波器
与带通滤波相反,阻带在频率f1~f2之间。
它使信号中高于f1而低于f2的频率成分受到衰减,其余频率成分的信号几乎不受衰减地通过。
三.实验仪器和设备
计算机若干台,LabVIEW虚拟仪器平台1套。
四.实验步骤及内容
1.打开"频率响应函数与数字滤波"程序,进行频域分析实验。
2.分别选择前面板中的信号通道一和通道二为不同频率的正弦信号,产生正弦和白噪声信号,然后点击多通道信号发生器上的"合成"按钮,产生迭加白噪声的正弦信号,分析和观察上述信号进行自谱和自相关分析后的结果。
3.同样方式产生其他类型的信号,观察分析结果。
4.在程序中滤波分析之前增添加窗操作,选择"矩形窗"、"汗宁窗"、"哈宁窗"、"三角窗"、“指数窗”中的不同窗函数,分析和观察信号加窗以后的时域波形与分析结果的变化。
5.调整滤波器类型及其参数。
分析和观察作用结果的不同。
实验所附主程序文件名:
频率响应函数与数字滤波.vi
五、运行结果
实验四LABVIEW数据文件的存储与回放
一、实验目的
(1)了解并掌握虚拟仪器中常用的数据文件格式和特点。
(2)掌握数据文件操作的基本步骤,学习灵活操作文件中数据的常用技巧和方法。
二、实验设备
1、安装有LabVIEW7Express计算机
2、安装有NI-DAQ7的计算机
3、支持的数据采集设备(DAQ)(以NI公司提供的NI6014数据采集卡为例)。
三、实验任务描述
1、利用LabVIEW编程,设计出若干个子VI,利用它们分别完成不同类型数据的写入。
要求程序能够实现单个数据写入还是连续写入的切换功能。
2、设计主程序,主程序运行时首先弹出窗口请求输入数据保存格式,然后根据选择的格式运行不同的分支子程序,分支子程序采用SubPanel子面板的方法动态调用。
3、设计程序保存和读取二维或多维数组,要求保留维数信息。
(可使用头信息的方式或采用spreadsheet表单的数据格式保存)
四.实验原理
完成LabVIEW程序,使其具备数据写入与读取功能,文件格式和数据类型能够在二进制和文本两种之间切换。
单独的实现方法可以参考任务书附带的范例。
五.实验内容:
1).实现二进制数据和文本数据的读取与写入如图:
保存和读取二维或多维数组,可保留维数信息。
如图:
BIN文件的读取与写入子VI:
读取:
读以一个数组的形式返回数据从一个字节流的二进制文件。
默认情况下,完整配置阅读8-byte(数据类型DBL)小端字节序的数据。
修改的方式是样本数据从文件读取,改变字节顺序和价值的字节大小(正常大小第1、2、4、8)。
如果你改变字节大小,也能改变数据类型的表示常数(默认的是DBL),以配合字节大小(1=I8,2=I16,4=I32、8=DBL)
写入:
写以一个数组的形式返回数据到一个字节流的二进制文件。
默认情况下,完整配置写8-byte(数据类型DBL)小端字节序的数据。
来更改样本数据内容写入文件,改变字节秩序,把各样的数据(默认DBL)改变成一个I8(1-byte),I16(看),或I32(4-byte)使用VIs发现在编程>>数字>>转换的调色板。
TEXT文件读取与写入的子VI:
读取:
读到一段文字文件由写以文本文件VI在这是法学,策划了数据。
VI读一行分裂时,第一(的时间)柱从相继的数据列和转换数据编号和情节。
写入:
写timestamped模拟、数据到一个文本文件在ASCII码格式可以阅读的电子表格软件。
VI打开一个新文件或更改现有的文件。
它称子vi获得数据)(模拟.vi产生一种timestamped包含数据数组的收购(数量)组数据,其长度相等(数值的收购的(数量)*点/采集)。
电子表格文件的读取与写入VI:
写入:
读取:
数据记录文件的读取与写入VI
写入:
创建一个datalog文件和写一定数量的记录datalog文件。
每个记录是一个群集包含一个字符串的时间戳和一大批single-precision数字。
读取:
打开datalog文件由写datalog文件的例子VI在这个法学的一条记录,读一次,直到所有的文件被阅读为止。
每个记录是一个群集包含一个字符串的时间戳和一大批single-precision数字。
实验五:
PCI数据卡采集与USB采集设备的使用
一实验目的
学习使用LabVIEW配置PCI接口内置式数据采集卡进行数据采集的方法;熟悉外置式便携测试仪器的概念,了解其产品特点与使用场合,学习使用USB接口的数据采集装置进行数据采集和信号发生。
二实验设备
1、安装有LabVIEW8.6计算机
2、安装有NI-DAQ8.6的计算机
3、系统支持的PCI数据采集设备(DAQ)(NI公司的NI-PCI6014数据采集卡)。
4、安装有100MHzHandyscopeHS3型多功能测试仪的PC
5、HP惠普示波器探针工具包,空闲USB2.0接口
6、荷兰TiePieEngineering公司USB接口高速多功能测试仪一台,参数如下,
输入:
2通道,分辨率12~16位,最高采样率100MHz,最大测试电压200V。
输出:
14位精度,50MSamples/s,0~±12V。
三实验原理
一个DAQ系统通常包括:
数据采集DAQ设备,传感器,转换器,信号调节以及一套用于获得、处理数据和分析、显示、存储数据的软件。
基于计算机的测量系统,一般需要先通过传感器(或变送器)将物理信号转换成电信号(如电压或电流)。
在大多数情况下,在信号输入DAQ之前,还必须使用信号调理设备对所测量的信号进行放大和滤波,以提高信号增益和消除噪声干扰。
一般而言,所有能够在计算机控制下完成数据采集和控制任务的板卡产品都称为DAQ产品。
它们可以被分为内插式(plug-in)板卡和外挂式两大类。
内插式DAQ板卡包括基于ISA,PCI,PXI/CompactPCI,PCMCIA等总线的板卡,速度快,性能参数较高,适合大型的测试和控制场合,但不适合现场测试场合;外挂式DAQ板卡包括USB,PCMCIA,IEEE1394,RS232/RS485和并口板卡,用户可以将其带入工作测试现场,进行远程数据采集和控制应用,使用方便,但性能参数相对较低。
◎插入式DAQ卡采集卡直接接入计算机,接口为PCI、ISA等。
优点:
灵活,费用较低,性能选择范围大,可使用大量的虚拟仪器开发工具软件,适合大规模测试的工业应用。
◎外部DAQ卡采集卡通过各种外部总线(如并口、USB)与计算机相连,通常配备专门的分析采集软件,可满足将DAQ系统带入工作现场的需要。
四实验内容
完成以下的练习,生成一个NI—DAQmx任务,可以边采集电压值,并在波形图绘制是图形。
在NI—DAQmx中,任务是一个或多个通道,计时、触发和其他应用于该任务属性的集合。
从概念上讲,任务代表想执行的测量或产生的功能。
按以下步骤创建并设定一个从DAQ设备中读取电压值的任务。
1、创建一个NI—DAQmx任务
(1)打开一个VI
(2)在框图程序中选择Function→Input→DAQAsistant,并将其放置在程序框图中。
启动DAQ助手,系统会出现“CreateNew”对话框,如对话框
(一)所示。
(3)单击AnalogInput以显示AnalogInput,如对话框
(二)所示。
(4)选择Voltage以创建一个电压模拟输入任务。
如对话框(三)所示,列表显示了设备中所有已经安装的通道。
列出的通道数取决于DAQ设备中的通道个数
(5)选中连接信号的物理通道,如ai(),然后单击【Finish】按钮。
助手DAQ会打开一个新窗口(如图8-6)所示,显示用于设定通道的选项,进行设定以完成任务。
(6)在Settings标签中的InputRange区域,输入10为最大值,–10为最小值。
(7)在TaskTiming标签中选择AcquireNSamples.
(8)在SamplesToRead文本框中输入1000。
2、测试任务
按照以下步聚对所设置的任务进行测试,以保证通道设定正确。
(1)单击左上角的Test键,出现“AnalogInputTestPanel”对话框。
(2)单击一次或两次【Start】按钮,以确认正在采集数据,然后单击【OK】按钮返回DAQ助手对话框。
(3)单击【OK】按钮返回框图程序。
(4)将该VI保存为ReadVoltage.vi。
3、
用DAQ设备采集的数据传略
使用在前面创建的任务,就可以从DAQ设备中采集的数据绘图。
按照如下步聚在波形图中,用来自通道的数据绘图并改变信号的名称。
(1)在程序框图中,或键单击输出端,在弹出的快捷键菜单中选择Create→Graph→Indicator创建WaveformGraph如下图所示。
(2)显示前面板。
(3)运行VI三至四次,观察波形图。
(4)显示程序框图
(5)右键单击DAQAssistantExpressVI并选择Properties(性能)来改变通道的名称。
(6)在Channelist中选项中Voltage,单击右键,从弹出的快捷菜单中选择Rename来显示”Renameachannelorchannels“对话框,如图
(一)所示也可以先单击通道的名称,再按F2键开启Renameachannelorchannels对话框,如图
(二)所示.
(7)在NewName文本框中输入”FirstVoltageReading”,并单击【OK】按钮。
(8)单击【OK】按钮,应用该设置并返回框图程序。
(9)显示程序框图并运行VI。
(10)保存该VI.
4、编辑NI-DAQmx任务
可以在任务中加入一个通道,这样就可以比较两个独立的电压输入,也可以定制一个任务连续地采集电压。
按照以下步聚在任务中添加一个新通道并连续地采集数据。
(1)打开上面保存的程序,显示框图程序并双击DAQAssistantExpressVI来添加淅通道。
(2)单击【AddStep】按钮,打开”AddChannelsToTask对话框,如图8-13所示。
(3)在SupportedPhysicalChannels列表中选择一个未使用的通道。
(4)单击【OK】按钮,返回DAQ助手。
(5)
将通道命名为”SecondVoltageReading:
”
(6)在TaskTiming标签中选择AcquireContinuously选项。
(7)
单击【OK】按钮,应用该项设置并返回框图程序
(8)将DAQAssistantExpressVI放置在一个While循环中,并将data输出端连接到WaveformGraph.该框图程序如图8-14所示
(9)在前面板中,使用工具模板(ToolsPalette)中的选择工具(Position/Size/Select)将图例(PlotLegend)扩展为两个。
运行这个VI。
针对HANDYSCOPEHS3完成以下的实验步骤:
1阅读仪器说明书,了解设备主要技术参数以及各个端口的功能和作用。
2连接探针于设备,并将设备通过USB接口连接于PC机。
3在PC机端安装设备驱动程序和设备配套采集分析程序包。
4了解仪器配套采集分析程序的各个菜单选项,理解他们的含义和作用,合理配置采集的各项参数(采样率,样本数,分辨率,触发方式等)进行采集,并借助软件帮助对采集数据进行细致观察,将采集数据进行各种时频分析,对结果做出评价。
应用测试仪器发生指定的各种信号。
5将USB设备和PCI设备轮流作为信号发生和采集装置,在它们之间进行数据发生和采集操作。
运行:
实验六利用LABVIEW实现虚拟数字存储示波器
实验目的
(1)了解并掌握虚拟仪器的设计方法,具备初步的独立设计能力。
(2)初步掌握对图形化编程语言LabVIEW的编程、调试等基本技能。
(3)提高综合运用所学的知识独立分析和解决问题的能力。
二、实验设备
1、安装有LabVIEW7Express计算机
2、安装有NI-DAQ7的计算机
3、支持的数据采集设备(DAQ)(以NI公司提供的NI6014数据采集卡为例)。
三、实验任务描述
了解LabVIEW编程用于设计数据采集模块.波形显示模块.显示参数设置模块.数据存储和回放模块的基本方法。
数据采集模块:
完成数据采集控制。
包括的程序有采集通道的选择.触发控制.实时控制等。
波形显示模块:
通过采集到的数据信号,通过程序的处理在前面板上显示出所测量到的信号波形。
显示参数设置模块:
通过程序完善信号显示,调节信号波形的大小以及频率,可以方便获取和观察波形数据的有关值及其变化。
数据存储和回放模块:
将测量采集到的信号波形通过单击“存盘”和“写盘”,有选择性的保留和存储所需要的数据波形。
这点是常用数字波形器不具有的。
四.实验内容
(1)阅读任务书提供的两个程序,分析它们的实现过程和