4.2.1.在流程图中放置顺序结构(Functions?Structures)。
4.2.2.用鼠标右键单击帧的边框,在快捷菜单中选择Add Frame After,创建一个新帧。重复这个步骤,再创建一个帧。共3桢。 4.2.3.选中第0桢,设置读取初始时间(子)程序
4.2.4.第0帧的下边框上含有一个小方框,其中有一个箭头。这个方框叫做顺序局部变量,可以在同一个顺序结构中的各个帧之间传递数据。用鼠标右键单击第0帧的底部边框,选择Add Sequence Local,创建顺序局部变量。顺序局部变量显示为一个空的方块。当您将某个功能函数与顺序局部变量相连时,方块中的箭头就会自动显示。
4.2.5.Tick Count (ms) 函数(Functions?Time & Dialog)——返回启动到现在的时间(以毫秒为单位)。在这里例子里需要使用两个这个函数。另一个在第2帧中。
4.2.6.按图连好线。转入第1帧。该帧是匹配计算,内含一个循环结构。该图中使用的新函数有:
Round to Nearest函数(Functions?Numeric)——在该
Not Equal?函数
例中,它用于取0到100之间的随机数到距离最近的整数。
(Functions? Comparison)——在该例中,它将随机数和前面板中设置的数相比较,如果两者不相等会返回TRUE值,否则返回FALSE。
Increment函数
(Functions?Numeric)——在该例中,它将While循环的计数器加1。
4.2.7.按图连好线。转入第2帧在第0帧中,Tick Count (ms)功能函数将以毫秒为单位表示当前时间。这个数值被连到顺序局部变量,这样它就可以被后续的帧使用。在第1帧中,只要函数返回的值与指定值不等,VI就会持续执行While循环。在第2帧中,Tick Count (ms)功能函数以毫秒为单位返回新的时间。VI从中减去原来的时间(由第0帧通过顺序局部变量提供)就可以计算出花费的时间。
4.2.8.返回前面板,在Number to Match控制对象中输入一个数值,执行该VI。 4.2.9.把该VI保存为LabVIEW\\Activity 目录下Time to Match.vi。 5.公式节点(Formula Node)
公式节点是一个大小可变的方框,可以利用它直接在流程图中输入公式。从Functions?Structures中选择公式节点就可以把它放到流程图中。当某个等式有很多变量或者非常复杂时,这个功能就非常有用。例如等式:y = x2 + x + 1使用公式节点可以表示为:
图2-10 公式节点示意图
利用公式节点可以直接输入一个或者多个复杂的公式,而不用创建流程图的很多子程序。使用文本编辑工具来输入公式。创建公式节点的输入和输出端子的方法是,用鼠标右键单击第0帧的底部边框,选择Add Input (Add Output)。再在节点框中输入变量名称。变量名对大小写敏感。然后就可以在框中输入公式。每个公式语句都必须以分号(;)结尾。
公式节点的帮助窗口中列出了可供公式节点使用的操作符、函数和语法规定。一般说来,它与C语言非常相似,大体上一个用C写的独立的程序块都可能用到公式节点中。但是仍然建议不要在一个公式节点中写过于复杂的代码程序。 下面这个例子显示了如何在一个公式节点中执行不同条件时的数据发送。
请阅读下面这段程序代码,如果X为正数,它将算出X的平方根并把该值赋给Y,如果X为负数,程序就给Y赋值-99。
if (x >= 0) then
y = sqrt(x) else
y = -99 end if
可以用公式节点取代上面这段代码,如下图所示:
注意:公式节点中变量字母X,Y大、小写是有区别的,开方的函数sqrt(X)中函数名称是小写。
目的:创建一个VI,它用公式节点计算下列等式:
y1 = x 3 – x 2 + 5 y2 = m* x + b x的范围是从0到10。可以对这两个公式使用同一个公式节点,并在同一个图表中显示结果。 前面板:
图2-11 练习2-6的面板
1.打开一个新的前面板,按照上图(该图中包含运行结果)创建前面板中的对象。波形图显示对象用于显示等式的图形。该 VI使用两个数字式控制对象来输入m和b的值。
2.按照下图创建流程图。
图2-12 练习2-6的流程图
在创建某个输入或者输出端子时,必须给它指定一个变量名。这个变量名必须与公式节点中使用的变量名完全相符。
公式节点中,在边框上单击鼠标右键,在快捷菜单中选择Add Input,可以创建三个输入端子。在快捷菜单中选择Add Output,创建输出端子。 1.x的范围是从0到10(包括10),就必须连接11到计数端子。 2.Build Array (Functions?Array)——在这个例子中,它用于将两个数据构成数组形式提供给一个多曲线的图形中。通过用变形工具拖拉边角就可以创建两个输入端子。
3.返回前面板,尝试给m和b赋以不同的值再执行该 VI。
4.把该VI保存为 LabVIEW/Activity 目录下的Equations.vi。
三.作业
1.说明循环和循环的区别 2.用结构编写一个小程序 3.用顺序结构编写一个小程序
4.使用公式节点时,如果输入变量的名称同输出变量的名称相同会怎么样?
实验3 LabVIEW图形、数组、簇编程实验
一、 实验目的
1. 学习如何创建数组和簇,掌握它们的区别以及相应的操作。 2. 学习并掌握Chart和Graph的使用,了解他们的区别。
3. Chart的三种显示模式。
二、 实验设备
安装有LabVIEW 7 Express的计算机。
三、 实验内容
1. 数组
数组是一些具有相同类型的元素组成的集合。数组包含两方面的内容:元素和维数。数组中的元素可以是数字、布尔、字符、路径、波形和簇等数据类型。
建立数组的步骤如下:
1) 从数组和类子模板(Control → All Controls → Array&Cluster)上
选中数组(Array),放置在前面板设计窗口中,此时为一个数组空壳,可以向里面添加(用拖拽的方法)数字、布尔、字符等数据类型的控制器或指示器,来建立相应的数组控制器和指示器。此时可以看到数组上有如下两个显示窗:
? 标号显示窗——标号从0开始,每单击一次“增加”键,标号显示值顺
序递增。
这个标号就是数组元素的序号;对于一个含n个元素的数组,其标号为0~n-1。
? 元素显示窗——用来显示元素的数值。数组中的元素按序号排列。数组元素的查找按行/列标号进行。
2) 右键单击标号窗口,弹出一个快捷菜单(如图3-1所示),选择Add Dimension来增加数组的维数。每单击Add Dimension选项一次,维数就增加一维。
图3-1 增加数组维数
2. 簇
簇相当于一个容器,容器中的元素可以是各种不同的数据类型。也就是说,可以在一个簇中放置控制模板上的各种控件,如数字控件、布尔控件、数组控件等,但是不能将输入控件和输出控件同时放入其中。因此,在编辑流程图时,可以减少连线数以及连线的节点数,最终简化流程图。它有多个输入,一个输出。
要建立簇,可选择控制模板中数组和类子模板(Control→All Control→Array&Cluster)上的Cluster,将其调入前面板。向类控件中放入元素,即将
控制模板中的相应控件放入其中,俗称把元素“捆绑”在一起。
右键单击簇控件的边框,弹出一个快捷菜单,如图3-2所示。
图3-2 簇
快捷键菜单中前8项的功能与数字控件相同,后3项说明如下:
? Reorder Control In Cluster ——用于设置类控件中各元素的排列顺序,这个排列顺序是输出信号的顺序,如图3-3所示。
图3-3 Reorder Control In Cluster举例 图3-4 AutoSizing设置
? AutoSizing ——单击该选项后,出现如图3-4所示的快捷菜单,选择相应的选项,可自动调节类控件的边框大小以及排列方式。 ? Properties ——用来定义类控件的一些属性,如上述的“AutoSizing”,
改变标签(Label)的名称等内容。
数组和簇的区别如下:
? 簇可以包含不同的数据类型,而数组仅可以包含相同的数据类型。 ? 簇具有固定的大小。 3. 图形子模板
LabVIEW的图形子模板(Control → All Control → Graph)提供完成各种图形显示功能的控件。这里主要介绍图形子模板中3种常用的控件:Waveform Chart,Waveform Graph和XY Graph。
1) Waveform Chart控件
它完成信号的动态显示,即每接收到一个(或一组)数据,就立即显示一个(或一组)数据,但显示的所有数据的总个数或波形的长度是一定的。有3种模式:
? Strip Chart ——每接收一个新数据,该数据显示在前一个数据的右侧,当曲线到达显示区的右边缘时,原有数据曲线左移。
? Scope Chart ——当数据曲线到达显示窗口的右边缘时,曲线被清除。 ? Sweep Chart ——在新数据开始的地方出现一条竖直线,随曲线右移。 右键单击Waveform Chart,弹出一个快捷菜单,主要功能如下: a) Visible Items
当选择Visible Items选项时,弹出子菜单如图3-7所示。
图3-7 Visible Items子菜单