《虚拟仪器》实验指导书.docx
- 文档编号:25955299
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:15
- 大小:193.37KB
《虚拟仪器》实验指导书.docx
《《虚拟仪器》实验指导书.docx》由会员分享,可在线阅读,更多相关《《虚拟仪器》实验指导书.docx(15页珍藏版)》请在冰豆网上搜索。
《虚拟仪器》实验指导书
《虚拟仪器》
实验指导书
光电工程学院
二○一二年十月
实验一LabVIEW开发环境及基本操作
一、实验目的
1.了解LabVIEW的编程环境;
2.掌握的基本操作方法,并编制简单的程序;
3.学习建立子程序的过程。
二、实验原理
LabVIEW作为一种图形化的设计语言,主要提供3种图像化的模板来帮助创建:
工具模板、控制模板和功能模板。
前面板窗口和框图程序窗口都提供工具模板,而控制模板只出现在前面板窗口中,功能模板只出现在框图程序窗口中。
前面板所需的各种“控件”均由控制模板提供。
前面板的设计过程就是利用工具模板中的相应工具,从控制模板中取出所需的“控件”并摆放在前面板窗口中的适当位置。
框图程序设计时所需的各种“功能函数”均由功能模板提供,利用工具模板中的工具,从功能模板中选出相应的“图标”放置在框图程序窗口中。
三、实验内容
1.建立一个测量温度和容积的VI,最终效果参考图1。
图1
2.为实验内容1的VI创建图标和联接器,进行适当修改,做成子VI。
3.新建一个VI,调用实验内容2中生成的子VI。
4.设计一个VI程序根据所给的x1,y1,x2,y2值求出直线的斜率。
把此程序作为子程序,自己设计一个简单的VI程序调用该子程序。
5.自拟创意小程序。
四、实验要求
1.请根据实验目的、原理和内容完成实验流程图的绘制,并根据流程图完成实验和撰写实验步骤;
2.实验报告撰写要求格式规范、语言清楚,图片数量控制在6张以内,报告篇幅控制在4页内。
实验二LabVIEW的程序结构、公式节点
一、实验目的
1.熟悉LabVIEW的程序结构;
2.掌握For循环和While循环以及它们的不同点,学习使用移位寄存器和反馈节点;
3.学习条件结构、顺序结构、事件结构的基本操作方法;
3.学习公式节点的使用方法。
二、实验原理
在LabVIEW编程中为了控制程序的流程(即数据的流向)而使用了各种程序结构,包括循环、选择、顺序、事件等程序控制结构。
通过在框图程序窗口的函数模板的结构子模板中选择相应的结构模板,配置相应的端口并完成框中的流程,即可完成相应的程序结构编写。
三、实验内容
1.在for循环结构中调用随机数发生器产生三个随机数,分别利用移位寄存器和反馈节点求出三个随机数的最大值,将三个随机数及最大值的结果在前面板上显示出来;
2.建立VI,分别用for循环结构和While循环结构结合条件结构求
的立方和,
(
)。
其中
通过前面板输入,结果
在前面板上显示,要求当
时,
输出为-1;
3.在实验内容2的基础上,利用事件结构实现当
的输入值改变时,弹出消息提示“a输入数值改变”;
4.利用公式节点编程实现
的框图程序,其中
通过前面板输入,结果
在前面板上显示,要求当“
”时,
输出为-1,当“
”时,
输出为-2,当“
”且“
”时,
输出为-3;
5.利用while循环结构和顺序结构设计一个VI,每间隔10ms产生一个随机数,将随机数发生器产生的数值与指定值比较,计算产生的指定值相等的随机数所需花费的时间。
实验三LabVIEW的数组和簇
一、实验目的
学习创建数组和簇,掌握二者的区别及其基本函数的使用。
二、实验原理
数组是同类型元素的集合。
一个数组可以是一维或者多维。
可以通过数组索引访问其中的每个元素。
数组的元素可以是数据、字符串等,但所有元素的数据类型必须一致。
簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。
它类似于C语言中的结构。
使用簇可以把分布在流程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤程度。
减少子VI的连接端子的数量。
三、实验内容
利用数组和簇的函数模板设计一个VI,实现下述功能:
1、根据用户从前面板输入的初始值,初始化一个3×5的二维数组;
2、通过调用函数求解该数组的维度,并在前面板显示;
3、根据用户输入的“替换用长度为5的一维数组”并选择替换的行号,来替代初始化后的数组相应行,得到替换后的数组并在前面板进行显示;
4、以用户输入的行和列为起点,提取替换后的数组的2×3列的二维数组在前面板上显示出来。
5、要求用户所有输入控件构成一个簇,通过簇的解除捆绑获得簇中各元素。
其前面板的效果参考图1:
四、实验步骤
请根据实验情况完成。
实验四字符串和文件操作
一、实验目的
1.学习字符串方面的知识;
2.掌握简单的VI数据管理程序的编写,完成对文件的输入/输出控制。
二、实验原理
字符串是ASCII字符的集合,在LabVIEW中除了通常的字符串应用(文本传送和显示、数据存储等)外,仪器的控制命令和数据大部分也是按字符串格式传送的。
利用字符串模板可以实现各种字符串处理的功能。
LabVIEW提供的文件I/O函数是一组功能较强的文件处理工具。
使用文件I/O函数可以进行所有有关文件输入输出的操作,主要包含以下几个方面:
1.打开和关闭数据文件;
2.在文件中读取和写入数据;
3.读取和写入数据到电子表格格式的文件;
4.转移和重新命名文件与目录;
5.改变文件属性;
6.创建、修改和读取配置文件。
使用高层VI可以简单地实现常用的I/O操作。
使用底层VI函数可以控制文件I/O的每一步操作。
编制比较复杂的文件管理程序。
三、实验内容
编写VI程序,获取用户在前面板输入的字符串“品名”,数值“数量”和1*7的数组“测量结果”,用逗号分隔连接成一个字符串,并将该字符串存储到一个文本文件中。
参考界面如图1所示:
提示:
请通过帮助熟悉和掌握“数值至十进制数字符串转换”、“数组至电子表格字符串转换”、“连接字符串”、“写入文本文件”模块、格式说明符的语法相关知识,在此基础上完成程序编写。
图1.参考前面板
实验五LabVIEW的图形化显示和保存
一、实验目的
1.掌握波形图和波形图标的使用方法及区别;
2.学习XY图的使用方法;
3.熟悉电子表格文件的保存方法。
二、实验原理
在LabVIEW程序中,程序运行的最终结果都要通过前面板的数据显示控件显示给用户。
图形显示能够将大量的数据转化成意义明确的显示曲线,直观地看出被测对象的变化趋势。
LabVIEW图形显示控件位于控件模板的Graph子模板中,通过调用相关模块可以实现输入数据的不同显示效果。
三、实验内容
1.设计一个VI程序,由随机函数产生0-5V电压值,电压采样时间从0时刻开始,每隔50ms采集一个点,共采集40个点。
用波形图表和波形图显示电压随时间变化的曲线。
提示:
波形图表可实时显示趋势,绘制单曲线时,只能接受标量数据和数组;波形图是对采集数据的事后处理,绘制单曲线时可以接受一维数组和由时间起点、时间间隔和数值数组3个元素构成的簇。
2.在内容1的基础上,增加XY图显示电压随时间变化的曲线。
提示:
XY图和波形图表一样是一次性完成波形显示刷新,其输入数据为两个一维数组,分别包含数据点的横坐标和纵坐标值。
3.在内容1和2的基础上,将测量电压保存为下列形式(数据保留两位小数)的电子表格文件:
序号时间/s电压值/V
00.003.32
10.050.04
20.103.97
30.150.65
40.200.48
50.253.81
……
提示:
电子表格是一种特殊的文本文件,可以考虑将所有数据转换制定格式的字符串,构成数组后利用“写入电子表格文件”模块实现保存。
四、实验要求
1.请根据实验目的、原理和内容完成实验流程图的绘制,并根据流程图完成实验和撰写实验步骤;
2.实验报告撰写要求格式规范、语言清楚,图片数量控制在6张以内,报告篇幅控制在4页内。
实验六测试信号产生及其时域测量和处理
一、实验目的
1.熟悉LabVIEW中测试信号产生的方法;
2.学习信号波形时域测量和处理的基本方法。
二、实验原理
在LabVIEW中,确定性测试信号能够在时域中用明确的数学表达式表达,因此可以通过信号发生器或公式节点产生。
用公式节点产生波形的模块的路径为“信号处理-波形生成-公式波形”。
在LabVIEW中实现信号幅值特征值的求取,最简单有效的方式是用ExpressVI中的“幅值和电平测量”模块,通过选择需要的特征值可以实现波形信号的幅值测量。
能够求取信号频率和周期的ExpressVI是“信号的时间和瞬态特性测量”模块。
三、实验内容
1.设计VI程序,利用公式节点产生波形数据,并显示波形。
波形数据的公式为
。
2.计算1中产生信号的最大峰、最小峰、峰-峰值。
四、实验要求
1.请根据实验目的、原理和内容完成实验流程图的绘制,并根据流程图完成实验和撰写实验步骤;
2.实验报告撰写要求格式规范、语言清楚,图片数量控制在6张以内,报告篇幅控制在4页内。
实验七测试信号的卷积运算
一、实验目的
1.掌握有限长序列信号卷积数学物理含义。
2.学习使用LabVIEW进行卷积运算的方法;
二、实验原理
相关和卷积是测试信号的时域处理中一对联系密切的概念。
在LabVIEW中,卷积和相关的运算既可以通过“ExpressVI”中的“信号分析”子模板中的“卷积和相关”模板实现,也可以通过“信号处理”中的“信号运算”子模板中的相关模板实现,区别在于输入的数据类型的不同。
三、实验内容
用LabVIEW实现奥本海默版《信号与系统》一书中例2.4的卷积运算。
附2.4原题如下:
请计算如下两个序列的卷积
:
,
四、实验要求
1.请根据实验目的、原理和内容完成实验流程图的绘制,并根据流程图完成实验和撰写实验步骤;
2.实验报告撰写要求格式规范、语言清楚,图片数量控制在6张以内,报告篇幅控制在4页内。
实验八测试信号的相关分析和滤波器设计
一、实验目的
1.掌握有限长序列信号相关分析的数学物理含义;
2.学习使用LabVIEW进行相关分析的方法;
3.学习和掌握使用LabVIEW进行滤波器设计的方法。
二、实验原理
相关分析可用于时延和位置检测,在LabVIEW中可以通过“ExpressVI”中的“信号分析”子模板中的“卷积和相关”模板实现,也可以通过“信号处理”中的“信号运算”子模板中的相关模板实现。
LabVIEW中提供了许多现成的滤波器模板,合理设置参数即可方便地用来进行信号滤波。
LabVIEW中的滤波器VI分成了ExpressVI、波形VI和基本功能VI3个层次。
其中ExpressVI中的滤波器针对所有类型的滤波器选项,波形VI则分成了IIR滤波器和FIR滤波器两个VI,而在基本功能VI的子模板中,根据滤波器的最佳逼近特性提供了多个比较丰富的滤波器VI。
三、实验内容
1.产生两个同频且存在一定相位差的正弦信号,进行相关分析;
2.设计一个截止频率为30Hz的4阶巴特沃兹低通滤波器,求单位冲击信号通过该滤波器的响应。
四、实验要求
1.请根据实验目的、原理和内容完成实验流程图的绘制,并根据流程图完成实验和撰写实验步骤;
2.实验报告撰写要求格式规范、语言清楚,图片数量控制在6张以内,报告篇幅控制在4页内。
五、实验步骤
实验内容1的流程如图1所示。
根据图1,可以通过“正弦信号”节点产生信号并由“互相关”节点实现解算,产生的信号和互相关的结果分别通过两个“波形图”控件进行显示,具体的实现步骤如下:
1.在框图程序面板中添加两个“正弦信号”节点。
“正弦信号”节点在函数模板中的路径为“信号处理->波形生成->正弦信号”;
2.对两个“正弦信号”节点进行初始化,分别在其相应输入引脚上创建常量,使得两个“正弦信号”节点产生采样数为100,幅值为1,周期数为5的正弦信号。
其中后一个“正弦信号”节点的“相位(度)”引脚还接入一个int型常量,值设为180;
3.在框图程序面板中添加一个“创建数组”节点,并调整其大小使其具有两个输入端口。
在前面板中添加两个“波形图”控件。
“创建数组”节点在函数模板中的路径为“编程->数组->创建数组”,“波形图”控件在控件模板中的路径是“Express->图形控件->波形图”;
4.将两个“正弦信号”节点的输出连接到“创建数组”节点的输入端,将“创建数组”节点的输出端与第一个“波形图”节点的输入端相连;
5.在框图程序面板中添加“互相关”节点,将两个“正弦信号”节点的输出连接到“互相关”节点的输入端。
“互相关”节点在函数模板中的路径为“信号处理->信号运算->互相关”;
6.在框图程序面板中添加“减1”、“取负数”、“捆绑”三个节点,并将“捆绑”节点的输入端口调整为3个。
“减1”和“取负数”两个节点在函数模板中均位于“编程->数值”目录下。
“捆绑”节点的路径是“编程->簇->捆绑”;
7.将“互相关”节点的输出、常量1分别连接到“捆绑”节点的1、2输入端;
8.将“采样数”常量先后通过“减1”控件和“取负数”连接到“捆绑”节点的3输入端;
9.将“捆绑”节点的输出连接至第二个“波形图”节点的输入端。
图1实验内容1的程序流程图
六、实验结果及分析
根据第五部分中的实验步骤完成的实验内容1的结果如图2所示。
图2(b)中左图为产生的波形,可以看出其波形为相位相差180度的正弦波,时延为10s,右图为相关分析后的结果,从图中可以看出在-10s处出现了最大值。
根据相关分析的理论知识可知前后波形延时为10s,与输入情况一致。
说明本实验成功实现了相关分析的解算。
(a)(b)
图2实验内容1的实验结果:
(a)框图程序,(b)前面板上的运行结果
实验九测试信号的频谱分析
一、实验目的
1.掌握快速傅里叶变换的基本原理;
2.学习和掌握在LabVIEW中进行频谱分析的方法。
二、实验原理
频谱分析技术在计算机中实现的基础就是离散傅里叶变换,其快速计算的工具是FFT。
在LabVIEW中,有的谱分析有相应的ExpressVI、波形VI和基本傅里叶变换VI函数可以直接计算,有的则需要自己编制测试VI实现。
ExpressVI中的“频谱测量”可以对单个信号进行频谱分析和功率谱分析。
其到达途径为“ExpressVI->信号分析->频谱测量”。
三、实验内容
设计程序,求一个混有高斯噪声的正弦信号的幅度频谱、相位谱和自功率谱。
四、实验要求
1.请根据实验目的、原理和内容完成实验流程图的绘制,并根据流程图完成实验和撰写实验步骤;
2.实验报告撰写要求格式规范、语言清楚,图片数量控制在6张以内,报告篇幅控制在4页内。
实验十调用动态链接库实现的数据采集与数据处理
一、实验目的
1.掌握LabVIEW通过调用动态链接库(DLL)实现数据采集的基本原理;
2.学习在LabVIEW中调用库函数节点的使用方法;
3.掌握调用动态链接库(DLL)实现数据采集的基本方法。
二、实验原理
开发基于DAQ的虚拟仪器系统时,LabVIEW可以通过数据采集卡提供商提供的动态链接库(DLL)实现对低层硬件的控制,实现控制命令的传送和测量数据的获取。
具体来说,LabVIEW对DLL的调用可以通过“调用库函数节点”来实现,其路径为“互连接口-库与可执行程序-调用库函数节点”。
通过该节点中的参数传递功能,可以实现LabVIEW向DLL中定入数据或指针,从而实现数据的交换。
三、实验内容
设计程序,调用VIDAQDLL.dll动态链接库文件中的OpenExDAQ函数,获取数据并显示出来,然后利用“单频测量”节点测得被测数据的频率、幅值并在前面板上显示出来。
VIDAQDLL.dll中函数的声明为:
extern"C"__declspec(dllexport)voidOpenExDAQ(double*m_t0,double*m_dt,double*a_daqdata);
其中m_t0为信号时间起点值指针,m_dt为信号时间间隔值指针,a_daqdata为信号强度数组指针。
信号的长度为1024。
四、实验要求
1.请根据实验目的、原理和内容完成实验流程图的绘制,并根据流程图完成实验和撰写实验步骤;
2.实验报告撰写要求格式规范、语言清楚,图片数量控制在6张以内,报告篇幅控制在4页内。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟仪器 实验 指导书