好文档 - 专业文书写作范文服务资料分享网站

labview实例教程入门到精通快速上手基本

天下 分享 时间: 加入收藏 我要投稿 点赞

图2-3 Shift Register的工作过程

可以令移位寄存器记忆前面的多个周期的数值。这个功能对于计算数据均值非常有用。还可以创建其他的端子访问先前的周期的数据,方法是用鼠标右键单击左边或者右边的端子,在快捷菜单中选择Add Element。例如,如果某个移位寄存器左边的端口含有三个元素,那么就可以访问前三个周期的数据。

练习 2-2 使用移位寄存器

目的:创建一个可以在图表中显示运行平均数的VI。 前面板

1.打开一个新的前面板,按照下图所示创建对象。 2.把波形图表的坐标围改为0.0到2.0。

3.在添加竖直坐标之后,用鼠标右键单击它,在快捷菜单中选择Mechanical

Action?Latch When Pressed,再选择Operate?Make Current Values Default,把ON状态设置为默认状态。

BooleanONOFF缺省值:ON机械动作Latch When Pressed随机数2.01.51.00.50.0050 图2-4 练习2-2的前面板

流程图

4.按下图创建流程图。

图2-4 练习2-2的流程图

5.在流程图中添加 While 循环(Functions?Structures),创建移位寄存器。

a. 用鼠标右键单击While循环的左边或者右边,在快捷菜单中选择Add Shift Register。 b. 用鼠标右键单击寄存器的左端子,在快捷菜单中选择Add Element,添加一个寄存器。用同样的方法创建第三个元素。 6.Random Number (0–1)函数(Functions?Numeric)——产生0到1之间的某个随机数。 7.Compound Arithmetic 函数(Functions?Numeric)——在本练习中,它将返回两个周期

产生的随机数的和。如果要加入其他的输入,只需用右键单击某个输入,从快捷菜单中选择Add Input。

8.除法函数(Functions?Numeric)——在本练习中,它用于返回最近四个随机数的平均

值。

9.数值常数(Functions?Numeric)——在While循环的每个周期,Random Number (0–1)

函数将产生一个随机数。VI就将把这个数加入到存储在寄存器中的最近三个数值中。Random Number (0–1)再将结果除以4,就能得到这些数的平均值(当前数加上以前的三个数)。然后再将这个平均值显示在波形图中。 10. Wait Until Next ms Multiple函数 (Functions?Time & Dialog)——它将确保循环

的每个周期不会比毫秒输入快。在本练习中,毫秒输入的值是500毫秒。如果用鼠标右键单击图标,从快捷菜单中选择Visible?Label,就可以看到Wait Until Next ms Multiple的标签。

11. 用鼠标右键单击Wait Until Next ms Multiple 功能函数的输入端子,在快捷菜单中

选择Create Constant。出现一个数值常数,并自动与功能函数连接。

12. 将Constant设置为500。这样连接到函数的数值常数设置了500毫秒的等待时间。

因此循环每半秒执行一次。注意,VI用一个随机数作为移位寄存器的初始值。如果没有设置移位寄存器端子的初始值,它就含有一个默认的数值,或者上次运行结束时的数值,因此开始得到的平均数没有任何意义。 13. 执行该 VI,观察过程。

14. 把该 VI 保存为LabVIEW\\Activity目录下的Random Average.vi。

练习 2-2 结束。

附注:移位寄存器的初值:

上面的练习中对移位寄存器设置了初值0.5。如果不设这个初值,默认的初值是0。在这个例子中,一开始的计算结果是不对的,只有到循环完3次后移位寄存器中的过去值才填满,即第4次循环执行后可以得到正确的结果。

2.1.3 For循环

For循环用于将某段程序执行指定次数。和While 循环一样,它不会立刻出现在流程图中,而是出现一个小的图标,而后您可以修改它的大小和位置。具体的方法是,先单击所有端子的左上方,然后按下鼠标,拖曳出一个包含所有端子的矩形。释放鼠标时就创建了一个指定大小和位置的For循环。

For循环将把它的框图中的程序执行指定的次数,For循环具有下面这两个端子:

N: 计数端子(输入端子)——用于指定循环执行的次数。 I: 周期端子(输出端子)——含有循环已经执行的次数。 上图显示了一可以产生100个随机数并将数据显示在一个图表上的For循环。在该例中,i 的初值是0,终值是99。

练习 2-3 使用For循环

目的:用For循环和移位寄存器计算一组随机数的最大值。

1.打开一个新的前面板,按照下图创建对象。 a. 将一个数字显示对象放在前面板,设置它的标签为“最大值”。

b. 将一个波形图表放在前面板,设置它的标签为“随机数”。将图表的纵坐标围改为0.0到1.0。

c. 在图表的快捷菜单中选择Visible Items?Scrollbar和Digital Display,并隐藏Plot Legend。

d. 用移位工具修改滚动栏的大小。

图2-5 练习2-3的面板和流程图

2.按照上图画流程图。

3.在流程图中放置一个For循环(Functions?Structures)。

4.在For循环的边框处单击鼠标右键,在快捷菜单中选择Add Shift Register。

5.将下列对象添加到流程图。

a Random Number (0–1)函数(Functions?Numeric)——产生0到1之间的某个随机数。

b 数值常数(Functions?Numeric)——在这个练习中需要将移位寄存器的初始值设成0。

c Max&Min函数(Functions?Comparison)——输入两个数值,再将它们的最大值输出到右上角,最小值输出到右下角。这里只需要最大值,只用连接最大值输出。

d 数值常数(Functions?Numeric)——For循环需要知道需要执行的次数。本练习中是100次。

6.按照上图连接各个端子。 7.运行该VI。 8.将该VI保存为LabVIEW\\Activity 目录下的Calculate Max.vi。

练习 2-3 结束。

2.2 分支结构:Case

Case结构含有两个或者更多的子程序(Case),执行那一个取决于与选择端子或者选择对象的外部接口相连接的某个整数、布尔数、字符串或者标识的值。必须选择一个默认的Case以处理超出围的数值,或者直接列出所有可能的输入数值。Case结构见下图,各个子程序占有各自的流程框,在其上沿中央有相应

的子程序标识:Ture、False或1、2、3…。按钮用来改变当前显示的子程序(各子程序是重叠放在屏幕同一位置上的)。

按钮 False 条件端子 子程序标识

练习 2-4 使用 Case结构

目的:创建一个VI以检查一个数值是否为正数。如果它是正的,VI就计算它的平方根,反之则显示出错。

前面板

1. 打开一个新的前面板,并按照下图所示创建对象。控制对象用于输入数值,显示对象用于显示该数值的平方根。

流程图

2.照下图创建流程图。

Number2.00SQRT1.41

图2-6 练习2-4的面板和流程图

3. 从Functions?Structures中选择一个 Case结构,并放置在在流程图中。Case 结构是一个可以改变大小的方框。先来做Ture的情况,照流程图上半部分构造。

a Greater Or Equal To 0? 函数(Functions?Comparison)——如果输入数值大于或者等于0就会返回一个TRUE值。

labview实例教程入门到精通快速上手基本

图2-3ShiftRegister的工作过程可以令移位寄存器记忆前面的多个周期的数值。这个功能对于计算数据均值非常有用。还可以创建其他的端子访问先前的周期的数据,方法是用鼠标右键单击左边或者右边的端子,在快捷菜单中选择AddElement。例如,如果某个移位寄存器左边的端口含有三个元素,那么就可以访问前三个周期的数据。<
推荐度:
点击下载文档文档为doc格式
3ddo74spic7zlrl1bkfq6d7jn4l91z0134s
领取福利

微信扫码领取福利

微信扫码分享