虚拟仪器实验报告

  • 格式:pdf
  • 大小:746.15 KB
  • 文档页数:15

1 《虚拟仪器技术》

实验报告书

姓名:

学号:

班级

2 实验(1-1)使用For循环

目的: 1.了解虚拟仪器的编程过程,熟悉前面板和流程图的界面环境;

2.了解工具模板、控制模板和函数模板的使用;

3.掌握For循环及其移位寄存器使用方法。

内容:

用For循环和移位寄存器计算正整数的阶乘。

图1-1 实验1-1的面板和流程图

实验(1-2)用While循环设计平均数滤波器

目的:

1.了解虚拟仪器的编程过程,熟悉前面板和流程图的界面环境;

2.了解工具模板、控制模板和函数模板的使用; 3.掌握While循环及其移位寄存器使用方法。

内容:

利用While循环及其移位寄存器进行数据滤波。

在While循环框架中产生一个随机数,然后将这个随机数与前三次循环所产生

的随机数求平均值,最后将平均值送到前面板上显示。利用移位寄存器可得到前三次循环产生的随机数。

步骤: 1.在前面板上创建各个控件如图。

3

图1-2 实验1-2的前面板

2.用工具模板中的文字编辑控件将图形纵坐标的范围改为从0到1。

3.创建流程图如下:

图1-3 实验1-2的流程图 4. 在流程图中添加While循环并创建移位寄存器。

a) 右键单击While循环的左边或右边边框,在弹出的菜单中选择Add Shift Register。 b) 右键单击While循环的左边框,在弹出的菜单中选择“添加元素”,重复一次,又

添加了两个寄存器元素,共计3个寄存器元素。

算术与比较-Express数值-复合运算(+),增加输入,右键弹击并在弹出的菜单

中选择“增加输入”至4输入,

从而得到

注意VI用随机数对寄存器进行初始化,如果不对寄存器的终值进行初始化,它

包含的是默认值或前面运行的结果值,所以最初的几个平均值没意义。 4 5.运行该VI观察结果。

6.保存VI为Random Average.vi,路径 LabVIEW\Activity。

实验(1-3)顺序结构的使用

目的:了解和掌握顺序结构的使用方法

内容:用FOR循环产生长度为2000的随机波形,并计算所用时间。

步骤:

这是典型的顺序结构应用。 第一步确定FOR循环开始前的系统时间;第二步运行FOR循环;第三步确定FOR循环结束后的系统时间;最后两式相减即得FOR循环的运行时间。

创建流程图如下:

图1-4 实验1-3的流程图

前面板如下:

图1-5 实验1-3的前面板

运行该VI,改变循环次数观察运行时间。

5 实验(2-1)创建一个数组具有自动索引

目的:

1.熟悉前面板和流程图的界面环境; 2.熟悉工具模板、控制模板和函数模板的使用;

3.熟悉和掌握数组的创建方法及其使用。 内容:

创建一个具有自动索引的波形数组。

步骤: 1.打开一个前面板,放置一个数组的框架,标签写为Waveform Array。

2.然后往里放置一个数字显示控件,如图。

3.放置一个waveform graph,并用重新定尺寸的工具拖曳其角,扩大该图。

4.隐藏图例和模板。 5.右键单击Y轴,选择不自动标注Y轴。

6.使用文本工具,将Y轴标注为从-0.5到1.5。

7.建流程图如下:

图2-1 实验2-1的流程图

其中Generate Waveform VI (Functions»Select a VI… from the LabVIEW\Activity

directory) 8.在前面板运行该VI,能够自动索引。初始X值为0,Delta X为1。

9.将Delta X改为0.5,X为20,重新运行该程序。 10.通过在索引显示中输入索引,你能观察波形数组中的任意元素。若你输入

的数大于数组的尺度,显示会变暗。 6

图2-2 拖曳数组显示的大小 11.返回到流程图,删除打包函数和与其相连的常数。完成重新连线如下图

图2-3 修改后的流程图

12.运行该VI。注意VI的初始X值为0,增量Delta X为1。

图2-4 再次修改的流程图

13

.重建你的程序框图如前。其中(Functions»Numeric»Trigonometric),

(Functions»Array), Pi constant (Functions»Numeric»Additional 7 Numeric Constants) 14.返回前面板,运行VI。

15.保存该VI作为 Graph Waveform Arrays.vi 路径LabVIEW\Activity directory.

实验(2-2)簇的创建和解包

目的:学习创建簇、分解簇,再捆绑簇并且在另一个簇中显示其内容。

实验内容和步骤如下:

图2-5 实验2-2的面板和框图

1.打开前面板,创建一个簇壳(Array & Cluster palette),标签改为Input Cluster,

拖曳至适当大小。

2.在这个簇壳中放置一个数字Control,两个布尔开关,和一个串Control。

3.仿照以上步骤,创建Output Cluster如上。注意将各Control改为相应的indicator。

4.用快速菜单查看两个簇的序是否一致,若有差别,改之。 5.在前面板上设置一个[STOP]按钮。注意其缺省值为FALSE,不要改变它的状态。

6.建立如上面所示的流程图。注意在[STOP]按钮与循环条件端子之间接入了一个NOT函数,因为按钮缺省值为FALSE,经NOT函数后变为TRUE,这就意味

着当按钮状态不变时,循环继续执行,相反一旦按钮动作,则循环终止。

7.返回前面板并运行VI。在输入簇中输入不同的值观察输出。 8 8.关闭并保存程序。Cluster Exercise.vi

实验3-1 数据的图形显示 实验目的:创建一个VI程序,以便以后作为子VI程序使用。

实验内容和步骤如下:

假设现有一个可以测量温度的传感器,并假设传感器的输出电压和温度和正比。

学生将要使用LabVIEW\Activity目录中的某个VI仿真温度测量和电压测量(单位

是伏特)。还要创建一个VI来仿真电压测量,然后把所测得的电压值转换成摄氏或华氏温度读数。

1.选择File>>New,打开一个新的前面板窗口。如果已经关闭了所有的VI窗口,

那么就从LabVIEW对话框中选择NEW VI。

如果没有显示控制模板(Control Palette),选择Windows>>Show Controls Palette可

以打开它,也可以通过在前面板的空白区域单击鼠标右键弹出控制模板。 2.从Controls>>Numeric中选择Tank,再将它放到前面板中。

3.在标签文本中输入Volume,然后在前面板中的其他任何位置单击一下。

如果在文本框中不输入任何文本就单击文本框以外的区域,标签会自动消失。要再

次显示标签,只需要在控制对象上单击鼠标右键,在弹出菜单中选择Show>>Label。

4.把容器显示对象的显示范围设置0.0到1000.0。 a.使用标签工具(Labeling Tool),双击容器坐标的10.0标度,将它高亮显示。

b.在座标中输入1000,再在前面板中的其它任何地方单击一下。这时0.0到

1000.0之间的增量将被自动测出。

5.前斜面板中,从Controls>>Numeric中选择一个温度计,再将它放到前面板中。

设置它的显示范围为0到100。 6. 程序的前面板如下图所示:

图3-1 前面板

7. 选择Windows>>Show Diagram打开流程图窗口。从功能模板中选择下列对象,再将它们放到流程图上。 (如果没有显示功能函数模板,选择Windows>>Show Functions Palette

可以打开它,9 也可以通过在前面板的空白区域单击鼠标右键弹出功能函数模板。) 8. 把下列对象放到流程图上。

进程监视器(Process Monitor)(在LabVIEEW\Activity 目录中选择Function>>Select a VI)

9.如果要查看或某个功能函数或者VI的输入输出。需要从Help菜单中选择Show Help,再把光标置于这个功能函数或者VI上。进程监视器VI的Help窗口显示如下

图所示:

10. 使用连线工具把所有对象按照下图连接起来。

图3-2 温度和容量仿真的流程图 要想在流程图中移动对象,首先要单击工具模板中的移位工具。 11. 选择 File》Save,把该VI保存为LabVIEW\Activity目录中的Temp&Vol.vi。

12. 在前面板中,单击Run(运行)按钮,运行该VI。注意电压和温度的数值都显

示在前面板中。13. 选择File>>Close,关闭该VI。

实验(3-2)趋势分析图

实验目的:使用一个条件循环结构和一个被测波形图表实时地采集数据。

内容:创建一个VI程序,进行温度测量,并把结果在波形图表上显示。该VI

程序10 使用我们前面创建的温度计程序(Thermometer VI)作为子程序。 前面板:

1. 打开一个新的前面板窗口,在里面放一个竖直开关(在Boolean

逻辑部件子模板),给该开关标注为“Enable”。你可以用该开关

来开始/停止数据采集。

2. 在前面板内再放置一个趋势图(Graph子模板中的Waveform

Chart),标注为“温度历史趋势”。该图表将实时地显示温度值。 3. 由于趋势图将它的图标注解plot自动地标注为“plot 0”,你可

以用标注工具将其重新标注为“Temp”。

4. 因为趋势图用于显示室内温度,需要对它的标尺进行重新定标。将

Y轴的“10”改为“90”,而将“0.0”改为“20”。

5. 此时暂时不要创建模式转换开关,我们将尝试从框图程序窗口创建前面板的部件。 框图程序:

1. 打开框图程序窗口。

2. 从结构(Structures)工具模板选择条件循环结构“While Loop”放

入框图程序窗口,调整该条件循环框的大小,把先前从前面板创建的

两个节点放入循环框内。

3. 放入其它的框图程序对象。Thermometer VI,这个VI程序是你在上个练习中创建的,从Seminar.LLB中调出(从Select a VI…子模板)。

4. 按照上图的框图程序连好线。

5. 创建模式开关。把连线工具放在Thermometer VI的Mode输入端口上,

按鼠标右键并选择Creat Control,这样就可以自动创建模式转换开

关,并将它与Thermometer VI子程序相连线,再转换到前面板窗口,将模式转换开关的位置重新调整。

6. 在前面板窗口,使用标注工具,双击模式开关的“OFF”标签,并把

它转换成“华氏”,再把“ON”标签转换民“摄氏”。要转换开关状态,

使用操作工具(Operating Tool)。

条件循环结构是一种无限循环结构,只要条件满足,它就一直循环运行下去。在

本例中,只要允许开关(Enable Switch)是ON状态,该VI程序就一直运行,采

集温度测量值,并在图表上显示。