虚拟仪器实验指导书.docx
《虚拟仪器实验指导书.docx》由会员分享,可在线阅读,更多相关《虚拟仪器实验指导书.docx(17页珍藏版)》请在冰豆网上搜索。
虚拟仪器实验指导书
前言
《虚拟仪器》实验分为软件实验部分和硬件实验部分:
实验一至实验六为软件实验部分,主要学习图形化编程软件LabVIEW的原理及编程方法,按照实验内容和要求进行操作,循序渐进地掌握VI程序及子程序的创建和调用,编辑和调试,各种结构、图表、图形和数组的使用,以及字符串和文件I/O的操作,熟悉LabVIEW的各种函数以及菜单,选项的作用和功能。
实验七至实验八为硬件实验部分,主要了解PCI-6024E多功能数据采集卡的使用方法和采集通道设置,并创建VI程序控制数据采集卡的I/O操作,利用信号发生器产生信号,实时检测,显示测量数据及波形,并写出实验报告。
在教学上,让学生学会使用LabVIEW系统的在线帮助,以获得更快更详细的帮助信息,帮助理解和掌握所学的内容。
实验注意事项:
●请同学们在F盘根目录下建立一个自己的文件夹,把课堂练习的文件存在该文件夹中。
●同学们在使用LabVIEW系统自带的示例程序后,关闭时不可保存,以免改动原文件,但可以用另存的方式保存在其它文件夹中(如同学自己的文夹)。
●在硬件实验中,信号发生器的输出幅度不要超过±10V,千万注意连接板的各导线之间不要短路,以免发生故障。
实验一创建和编辑VI程序
1.实验目的
●熟悉LabVIEW的运行环境(前面板窗口、框图窗口、模板、菜单和命令);
●学会创建VI及子VI程序;
●掌握编辑VI程序的方法及子VI的调用方法。
2.实验原理
(1)VI(虚拟仪器)有三个主要部分:
前面板、程序框图和图标/连接口。
●前面板指定VI的输入量和显示VI的输出量。
控制器指定输入量,指示器显示输出量,VI的控制器和指示器放置在前面板窗口。
●程序框图是由节点,端口和连线组成的可执行代码,在程序框图中,控制器端口的边框比指示器端口的要粗一些。
要使控制器改为指示器(或指示器改为控制器),在程序框图端口和面板对象上弹出菜单选择ChangetoIndicator(或ChangetoControl)。
●图标/连接口是调用子程序和数据传输的端口。
(2)模板可方便快捷地提供各种常用的工具和函数,模板分为工具模板,控制模板,功能模板。
●使用工具模板访问操作工具,编辑工具和调试工具来操作VI。
●使用控制模板在面板窗口中放置控制器和指示器,在面板窗口的空白处点右键可弹出控制模板。
●使用功能模板在框图窗口中放置节点(函数和VI子程序)。
在窗口内放置对象时可在框图窗口内点右键弹出功能模板。
(3)在独立组件上点右键可以访问其弹出菜单,在对象的各个部分均可采用点右键的方式来访问各自的弹出菜单,方便快捷地进行选项设置。
3.实验内容
(1)熟悉LabVIEW的运行环境,包括:
前面板窗口、框图窗口、模板、菜单和命令。
可以通过使用各种LabVIEWOnlineHelpWindows选项和HelpWindow选项来了解前面板和程序框图对象及其特征。
(2)创建一个VI。
发生一个值为0.0~1.0的随机数a,放大10倍后与某一常数b比较,若a>b,则指示灯亮。
要求:
①编程实现;②单步调试程序;③应用探针观察各数据流。
(3)创建和调用子VI。
创建一个子VI,子VI功能:
输入3个参数后,求其和,再开方。
编一个VI调用上述子VI。
实验二变量、数组与簇
1.实验目的
●学会本地变量、全局变量的编程与使用方法;
●了解LabVIEW中数组的组成,学会数组的创建及编程与使用;
●了解LabVIEW中簇的组成,学会簇的创建及编程与使用。
2.实验原理
(1)本地变量、全局变量的创建
●本地变量的创建有两种方式:
①在Function→Structure→LocalVariable→SelectItem
②选定前面板对象按右键→Creat→LocalVariable
●全局变量用于不同VI间传递数据。
全局变量的创建步骤:
①选中Function→Structure→GlobalVariable,将图标放入程序框图中。
②双击全局变量图标,打开其前面板。
在控制模板中选择需要的前面板对象,放入全局变量的前面板中。
③保存这个全局变量,文件名后缀.gbl。
关闭全局变量前面板窗口。
完成全局变量创建。
④将鼠标切换至操作工具状态,选中全局变量图标,按右键选择SelectItem,菜单列出全局变量所包含的所有对象,根据需进行选择。
(2)数组的创建与使用
●数组是LabVIEW常用的数据类型之一。
数组的由索引、数据和数据类型构成。
一个数组可以是一维或者多维,通过数组索可以引访问其中的每个元素。
索引的范围从0到n-1。
数组的元素可以是数据、字符串等,但所有元素的数据类型必须一致。
●数组的创建步骤:
①从Controls→Array&Cluster中选择数组框架,放入程序框图中;
②选择相应的数据类型放入数组框架中;
③数组创建之初都是一维的,如要二维以上的数组,用鼠标在数组索引左下角向下拖动,或在数组的右键弹出菜单中用AddDimension添加维数。
●数组的使用:
对一个数组进行操作,无非是求数组的长度、取出数组中的元素、替换数组中的元素或初始化数组等各种运算。
可通过Functions→Array子模板中各节点完成。
(3)簇的创建与使用
●簇是LabVIEW中一个比较特别的数据类型,它可以将几种不同的数据类型集中到一个单元中形成一个整体。
类似C语言结构
●簇的创建步骤:
①从Controls→Array&Cluster中选择Cluter框架,放入程序框图中。
②选择相应的数据类型放入数组框架中。
③簇中只能包含控制和指示中的一种,不能既包含控制又包含指示,在一个高度交互面板中,不能把一个簇既作为输入元素又作为输出元素。
●簇的使用:
簇的使用,主要是访问簇中的各个元素,或由不同类型但相互关联的数据组成簇。
通过Functions→Cluster子模板中各节点完成。
3.实验内容
(1)在程序的前面板上创建一个数值型控件,为它输入一个数值;把这个数值乘以一个比例系数,再由该控件显示出来。
(2)生产一个正弦波,并显示在Chart波形控件上,由另外一个程序把该波形显示出来。
调节两个程序运行的速度,观察对比两个波形的差异。
(3)创建一个3行4列的数组:
1求数组的最大与最小值;②求出创建数组的大小;
③将该数组转置;④将该二维数组改为一个一维数组。
(4)创建一个簇控件,成员维字符型姓名,数值型学号,布尔型注册。
从该控件中提取簇成员注册,并显示在前面板上。
实验三结构与属性控制
1.实验目的
●学会LabVIEW中For循环、While循环及Case结构等的编程与使用;
●学会LabVIEW中属性节点的编程与使用。
2.实验原理
(1)LabVIEW中For循环、While循环及Case结构
●For循环是LabVIEW最基本的结构之一,它执行指定次数的循环。
相当于C语言的For循环。
LabVIEW中For循环可从框图功能模板Function→Structure子模板中创建。
●当循环次数不能预先确定时,就需要用到While循环。
它也是LabVIEW最基本的结构之一。
相当于C语言的While循环和do循环。
LabVIEW中While循环可从框图功能模板Function→Structure子模板中创建。
●Case结构也是LabVIEW最基本的结构之一。
相当于C语言的switch语句。
LabVIEW中Case循环可从框图功能模板Function→Structure子模板中创建。
(2)属性节点的创建与使用
●前面板对象属性是指前面板上控件的外观和功能特征,如显示的颜色、可见性、闪烁、位置、比例等。
。
●属性节点的创建方法是在前面板对象或其端口的右键弹出菜单中选择Creat→PropertyNode。
●属性类型的选择,单击属性节点,在弹出菜单中的Property下,列出了对象的所有属性。
增加多种属性可采用拖动方法或AddElement的方法。
3.实验内容
(1)产生100个0.0~100.0的随机数,求其最小值、最大值、平均值,并将数据在Graph中显示。
(2)产生0.0~100.0的随机数序列,求其最小值、最大值、平均值。
并将随机数序列和平均值序列显示在Chart波形图中,直到人为停止。
提示:
(3)编写一个程序测试自己在前面板输入一下字符串所用的时间:
Avirtualinstrumentisaprograminthegraphicalprogramminglanguage.
(4)编写一个程序,实现是否可视、可用、焦点状态、闪烁、位置及对象尺寸等属性。
实验四波形显示
1.实验目的
●学会LabVIEW中事后记录波形、实时趋势波形及XY记录波形等的编程与使用方法;
●学会波形显示控件的外观设置方法。
2.实验原理
(1)事后记录波形控件
●事后记录图,以数组为基本数据结构,构成数组的全部测量数据一次显示完成。
●事后记录波形控件的主要构成元素有:
X,Y轴、图形显示区、波形设置、控制模板、控制模板。
●改变波形属性有三种方法:
选择弹出菜单中的命令来实现;应用控件自带控制模板实现;在程序中设置属性节点值的方法实现。
(2)实时趋势图控件
●对实时趋势图,基本数据结构是数据标量或数组。
新接收的数据接在原有波形后面连续显示,该控件最适合于实时测量中的参数监控。
●实时趋势图的构成及波形属性改变方法与事后记录波形控件类似。
(3)XY波形记录控件
●事后记录波形控件适合描述等间隔数据序列。
对一类Y值随X变化的曲线,事后记录波形不适合。
为此,LabVIEW设计了XYGraph控件。
●事后记录波形控件的构成及波形属性改变方法与事后记录波形控件类似。
(4)密度图显示控件
●密度图显示控件用于显示三维数据,如平面上各点温度值的发布,人口密度等。
●密度图显示控件的构成及波形属性改变方法与事后记录波形控件类似。
3.实验内容
(1)在一个Graph中用2种不同的线宽显示一条正弦曲线和一条余弦曲线。
每条曲线长128点。
正弦曲线x0=0,△x=1,余弦曲线x0=2,△x=10。
(2)在一个Chart图中显示3条曲线,分别用红、绿、蓝3种颜色范围0~1、0~5和0~10的3个随机数。
(3)用XYGraph显示一个半径为10的园。
(4)产生一个10行10列的二维数组,数组成员为0~100之间的任意整型数,用密度图显示出来。
(5)尝试使用Picture.ctl控件画图和显示图形。
实验五字符串与文件I/O
1.实验目的
●学会LabVIEW中字符串节点的创建、编程与使用;
●了解LabVIEW中不同格式的文件类型,及工作文件节点的编程与使用。
2.实验原理
(1)字符串控件
●字符串是ASCII字符的集合。
如同其他语言一样,LabVIEW也提供了各种处理字符串的功能。
●可以在Controls→String&Path中创建如下字符串控制对象和显示对象。
●通过在框图中设置节点的属性,可以改变字符串控件的显示外观,这样可在程序中动态调整字符串控件的属性。
●对字符串的操作无非是求字符串长度、字符串合并、字符串的查找与替换等
(2)文件I/O
●LabVIEW支持4种格式的文件:
文本文件、二进制文件、块记录文件、波形数据文件。
●LabVIEW提供了一组文件I/O操作节点集,用于文件的创立、读、写,删除、移动及文件拷贝,查看文件及目录列表等。
●文件操作主要包含3个步骤:
①创建新文件或打开一个旧文件;②对文件进行读写操作;③关闭文件。
3.实验内容
(1)创建一个字符串显示件,程序运行后显示当前系统日期、时间和自己的班级、姓名。
(2)将范围0~10的5个随机数转换为一个字符串显示在前面板上。
要求保留2位小数,每个数之间用逗号分隔。
(3)产生若干周期的正弦波数据,以当前系统日期和自己姓名为文件名,分别存储为文本文件、二进制文件和电子表文件。
然后将存储的数据文件读出来并显示在前面板上。
(4)将一组随机信号数据加上时间标记存储为数据记录文件,然后将存储的数据读出并显示在前面板上。
实验六数学分析与信号处理
1.实验目的
●学会LabVIEW中各种数学分析节点编程与使用;
●学会LabVIEW中典型数字信号处理节点如信号发生、谱分析节点等的编程与使用。
2.实验原理
(1)数学分析节点
●LabVIEW提供了一些数学运算节点,包括:
公式节点、估计、微积分运算、线性代数、曲线拟合、数理统计、最优化方法、寻根和数值节点等。
●这些节点位于功能模板Functions→Mathematics子模板内。
(2)信号处理节点
●LabVIEW提供了一些信号处理节点,包括:
信号产生、时域处理、频域处理、信号测量、数字滤波和窗函数等节点。
●这些节点位于功能模板Functions→Analyze子模板内。
3.实验内容
(1)已知,
,
求:
①A的逆矩阵;②A×b;③解方程Ax=b。
(2)对某压力传感器进行标定,得如下检定数据:
序号
x
y
1
0
2.8100
2
0.1
9.7550
3
0.2
16.6925
4
0.3
23.5975
5
0.4
30.5325
6
0.5
37.4300
7
0.6
44.3275
8
0.7
51.2175
9
0.8
58.1000
10
0.9
64.9550
11
1.0
71.7400
对该数据进行线性拟合。
(3)用集成信号发生节点分别产生正弦波、余弦波、三角波、方波、锯齿波、上升斜波和下降斜波。
要求:
①用‘°’显示采样点;②设信号频率为60,采样频率为1000,若采样点数为50,150,250时观察出现了几个周期;③采样点数保持100,信号频率分别为10,20,40时出现了几个周期;④信号频率为20,采样点数保持100,采样率分别变为500,1000,2000,理解其结果。
(4)对上题信号进行FFT谱分析,观察不同情况下频谱结果。
实验七数据采集卡配置及应用
1.实验目的
●了解PCI-6024E数据采集卡的功能;
●掌握如何设置DAQ通道;
●学习使用VI程序控制PCI-6024E卡进行数据采集。
2.实验环境
●软件:
中文WindowsXP,LabVIEW8.5。
●硬件:
微型计算机,数据采集卡PCI-6024E,信号发生器。
3.实验原理
(1)PCI-6024E卡及安装
PCI-6024E卡将作为本次实验的数据采集卡,VI程序通过它来实现虚拟仪器的输入输出功能。
PCI-6024E卡是基于32位PCI总线的高性能、多功能的数据采集卡。
它有16个单端输入或8个差分模拟输入,2路独立的DA输出通道,24条与TTL兼容的数字I/O,3个用于I/O定时的16位计数/定时器。
将PCI-6024E数据采集卡插到计算机主板上的一个空闲PCI插槽中,接好各种附件,包括一条50芯的数据线和一个转接板。
(2)PCI-6024E卡I/O配置
PCI-6024E卡同NI公司的绝大部分数据采集卡一样是即插即用型的设备,硬件正确安装后,如果机器安装了LabVIEW和NI-DAQ,就会出现在Measurement&AutomationExplorer的Configuration>Mysystem>DevicesandInterfaces>TraditionalNI-DAQ(Legacy)Devices列表中。
在设备名PCI-6024E上单击右键,选择Properties,就会出现采集卡的配置对话框配置包括System,AI,AO,Accessory,OPC和RemoteAccess五个部分的设置。
(3)PCI-6024E卡数据采集及通道配置
①数据采集函数块DAQAssistant
在LabView中有现成的数据采集模块。
打开LabView在后面板中单击鼠标右键,弹出功能函数列表,在函数列表中找出“DAQAssistant”函数模块,其查找路径为“测量I/O—>DAQmxdataacquisition—>DAQAssistant”。
此函数块可作为数据输入函数也可作为数据输出函数,其输入/输出功能在配置时设定。
②通道配置
把“DAQAssistant”函数模块拖放到后面板中,它就会自动进行初始化然后会弹出一个“CreateNew...”对话框如图7.1所示。
其中AcquireSignals为输入信号,GenerateSignals为输出信号,如果选择AcquireSignals下拉菜单下的“AnalogInput”则配置的“DAQAssistant”为数据输入模块,即对外部信号进行采样。
如果选择GenerateSignals菜单下的“AnalogOnput”则配置的“DAQAssistant”为数据输出模块,即对外部设备输出模拟信号。
a、选择“AnalogInput”在下拉列表中选择Voltage进行电压配置,然后选择要用到的通道,如(0通道),点击“Finish”。
就出现通道参数配置界面,如图7.2所示。
设置完毕后点击“OK”按钮。
在此界面中可以设置输入信号变化范围及采样模式等。
配置完毕后此函数模块即为信号采集模块。
图7.1通道配置对话框
图7.2输入通道参数配置界面
b、再拖出一个“DAQAssistant”在探出的“CreateNew”对话框中选择“AnalogOnput”在下拉列表中选择Voltage进行电压配置,然后选择要用到的通道,如(0通道),点击“Finish”。
就出现通道参数配置界面,如图7.3所示。
在此界面中可以设置输出信号变化范围及采样模式等。
配置完毕后此函数模块即为信号输出模块,信号最终输出到DAQ卡的输出通道。
图7.3输出通道参数配置界面
(4)数据采集操作
LabVIEW涉及到的操作类型有模拟输入,模拟输出,计数操作和数字I/O等,相应的操作函数在功能模板中的DataAcquisition子模板。
本次实验中,我们应用了以下几种函数对PCI-6024E卡进行操作。
对单通道模拟输入的操作:
AISampleChannel函数对指定通道的信号进行测量,每次只采集一个点并返回测量的电压。
AIAcquireWaveform函数对指定通道的信号以规定的采样速度,采样点数目进行采样,输出参数是以伏为单位的模拟输入信号的一维数组。
对多通道模拟输入的操作:
AIAcquireWaveforms函数是以规定的扫描速率对多路通道进行采样,并返回采样到的数据。
输出参数是以伏特为单位的模拟输入数据的二维数组。
第一通道的数据存放于0列,第二通道的存放于1列,依此类推。
对模拟输出的操作:
AOUpdateChannel函数给模拟输出通道写入一个规定的电压值。
AOGenerateWaveform函数以指定的更新速度在模拟输出通道产生一个电压波形。
输出参数是一维数组,它包括将写入模拟输出通道的以伏特为单位的数据。
4.实验内容
(1)利用DAQCHANNELWIZARD配置PCI-6024E卡。
(2)利用信号发生器产生信号,用PCI-6024E卡完成信号采集,并显示采集的模拟波形。
(3)利用信号发生器产生信号,从PCI-6024E卡通道1到通道2采集数据,以10Khz的采样频率从每个通道采集500个点,并在同一个波形Graph中绘制出两个波形。
VI把扫描到的数据写入到电子数据表文件中,每列显示一个通道。
(4)用PCI-6024E卡的D/A输出一个范围为0-9.5v,步长为0.5v的电压,并用PCI-6024E卡的A/D采集显示D/A输出。
实验八应变测试
1.实验目的
●掌握基于虚拟仪器技术的应变测试方法;
●学习应变片实用;
●了解全桥和半桥测量电路电压输出的特点。
2.实验环境
●软件:
中文WindowsXP,LabVIEW7.0。
●硬件:
微型计算机,数据采集卡PCI-6024E,CSY传感器实验仪。
3.实验原理
(1)应变测试原理及测量接线
参考《传感器技术》实验指导书。
(2)PCI-6024E卡的设备与接口设置(DevicesandInterfaces)
在PCI-6024E选项上弹出菜单,选择Properties,就会出现采集卡的配置对话框配置包括System,AI,AO,Accessory,OPC和RemoteAccess。
System:
Device=1
AI:
Voltage
Polarity:
-10V-10V
Mode:
NonreferencedSingleEnded
(3)PCI-6024E卡I/O配置(DataNeighborhood)
信道名Name:
Stra
输入单位Unit:
V
输入范围Range:
-0.05~+0.05
传感器Sensor:
Voltage;NoScaling
设备Device:
PCI-6024E
信道Channel:
1
输入方式Input:
NonreferencedSingleEnded
(4)VI程序设计
按下图构件应变测试实验程序前面板。
图中组桥控件是一个下拉列表:
半桥单臂Ⅰ、半桥单臂Ⅱ、半桥双臂Ⅰ、半桥双臂Ⅱ、全臂。
按下图编写应变测试实验程序的图形代码。
(4)电桥及VI参数设置
电桥电阻R=330欧姆。
参考电压V=4V
应变灵敏系数K,通过实验测量。
4.实验内容
(1)利用DAQCHANNELWIZARD配置PCI-6024E卡。
(2)完成应变测试VI的设计。
(3)应用编写的应变测试VI进行应变测量。
(4)分析全桥测试与半桥测试的电压值有何不同。