LabView上机实验指导书1(3)

2019-02-17 17:18

在LabVIEW中,每个VI程序都可以将其创建成子程序,以使其他程序调用。创建过程如下(在这里我们将上面VI程序“例子1”,创建成子VI):

(1)打开VI程序“例子1”。

图1-14 调用子程序

(2)创建接线端口。接线端口是VI程序数据的输入/输出端口,创建过程如下: ? 右键单击前面板中右上角的图标,从弹出的快捷菜单中选择Show Connector选项。此时,前面板窗口右上角的图标由接线端口取代,每个小矩形框代表一个连线的端口,这些端口用来将数据输入到VI程序中或将VI程序的数据输出。 LabVIEW将会根据控制器和指示器的数量选择一种接线端口模式。本例中只有3个端口:2个数字控制器(X和Y),1个数字指示器(Result1)。如有必要,还可在接线端口图标上单击右键,从弹出的快捷菜单中选择Patterns选项来改变接线端口的模式。默认状态时,输入端口(控制器端口)在接线端口方框的左边,输出端口(指示器端口)在接线端口方框的右边。 ? 把接线端口分配给相应的控制器和指示器。

? 使用连线工具,在左边的接线端口框内单击鼠标,则端口将会变黑。再单击控制器,一个闪烁的虚线框将包围住该控制器。此时端口的颜色也会根据控制器的类型做相应的变换。现在单击右边的接线端口,使它变黑,再单击相应的指示器,这样就创立了该指示器与相应端口的连接。

(3)保存此程序,以后我们就可以对其像子程序一样地调用了。

(4)打开一个新的VI,在框图程序中选择Functions ? All Functions ? Select a VI...,再选择上面我们保存的VI程序“例子1”。此时,此VI程序将以图标引形式出现。用连线工具可以看到它的连线端口,这样我们可以创建相应的控制器和指示器,如图 1-14所示。

四、 作业

1.熟悉LabVIEW8的编程环境;

2.VI中的3个模板是什么?简述其各自的功能;

3.在前面板和框图程序中,如何区分控制器和指示器;

4.设计一个VI程序,根据所给的x1,y2,x2,y2的值求出直线的斜率。把此程序作为子程序,自己设计一个简单的VI程序调用此子程序。

45-11

实验2 LabVIEW编程结构实验

一、 实验目的

? 学习并掌握For循环和While循环以及它们的不同点。

? 学习使用移位寄存器(Shift Register)和反馈节点(Feedback Node)。

? 学习顺序结构(Sequence structure)、Case结构(Case Structure)和公式节点 (Fomu1a Node)的使用。

二、 实验设备

安装有LabV1EW 8的计算机。

三、 实验内容

1. For循环和While循环

当程序有确定的循环次数时,我们使用For循环。在程序框图中添加For循环(Functions ? All Functions ? Structure ? For Loop),如图2-1所示。

?

(循环次数输入端)——For循环必须给定循环次数n(n>0,否则循环不执行),此

项一般都要有输入。当For循环的输入数据是一个数组时(有关数组将在后续章节中介绍),如果不给定循环次数,则数组的大小将For循环的循环次数。如果同时输入两个数组,循环次数以数组个数最少的决定。 ?

(循环计数)——计数范围为0~n-1。

当具体的循环次数不可知时,我们使用While循环(Functions ? All Functions ? Structures ? While Loop),如图2-2所示。

图2-1 For循环

图2-2 While循环

While循环也有一个循环计数个循环条件判断端子

,第一次循环时的值为0。另外,While循环还有一

。请特别注意,无论如何,都要给While循环结构一个有效的停止

条件,否则可能会使程序陷入死循环的状态。例如,希望在一组数据中寻找一个特定的数,找到后停止循环。由于这个特定的数的位置事先是不知道的,我们可以使用While循环来完成以上的操作,但如果我们将循环停止的条件只是定为找到特定的数就停止,那么,当由于各种原因造成的在这样的一组数据中不存在这个特定的数时,While循环将无限运行下去。因此,我们还需要加入其他判断条件,例如我们的循环停止条件可以改为:找到特定的数或者整个数组都找完,则停止。

LabVIEW 8对While循环还提供了一个快捷的方式:Functions ? Execution Control ? While Loop,程序框图如图2-3所示,与上面不同的只是自动加了一个停止按钮。 2. 移位寄存器和反馈节点

在使用循环结构时,经常会遇到下一次循环要用到上一次循环运行结果的情况,这时就

45-12

图2-3 快速While循环

需要不断地将每次循环运行的结果存储下来,以传递给下一次循环。移位寄存器(Shift Register)和反馈节点(Feedback Node)就是用来实现这样的操作的。

在For循环和Whi1e循环中都可以添加寄存器和反馈节点,添加方法如下: 1) 移位寄存器(Shiift Register)

在For循环或While循环的边框上单击右键,在弹出的快捷菜单中选择Add Shift Register,如图2-4(a)和图2-4(b)所示。

2)反馈节点(Feedback Node)

反馈节点是LabVIEW 7 EXDress中新增的功能,完成的功能同移位寄存器类似。在For

(a) 为For循环设置移位寄存器

(b) 为While循环设置移位寄存器

图2-4 设置移位寄存器

45-13

图2-5 将反馈节点变为移位寄存器

图2-6 反馈节点和移位寄存器

循环或Whi1e循环中,只要将其中的子VI、函数的输入/输出相连接,就会自动出现反馈节点。当然,也可以通过Functions ? Execution Control ? Feedback Node来添加。在反馈节点上单击右键,从弹出的快捷菜单中选择Replace with Shift Register,反馈节点将变成移位寄存器,如图2-5所示。

下面我们通过一个简单的例子来看一下移位寄存器和反馈节点是如何工作的。程序框 图如图2-6所示。

这里如果我们不给移位寄存器和反馈节点赋初值(本例中为For循环框左边的两个常数0),下次程序运行时,移位寄存器和反馈节点中的值将以上次运行完的值开始。 3. 顺序结构(Sequence Structure)

在实验1中我们提到,VI程序的运行是“数据流”驱动的,有时候我们必须对这种数据流进行控制,这样就用到了顺序结构。在LabVIEW 8中有两种顺序结构:F1at Sequence

(a) Flat Sequence Structure

图2-7 两种顺序结构

(b) Stacked Sequence Structure

Structure和Stacked Sequence Structure,如图2-7(a)和图2-7(b)所示。

使用Flat Sequence Structure可以看到整个程序框图,当程序框图所占的空间的大小允许时,可以使用这种顺序结构。在程序框上单击右键,在弹出的快捷菜单中选择Add Frame After

图2-8 添加帧

图2-9 添加Sequence Local

45-14

或Add Frame Before,这样可以在本帧后或前再添加一帧,如图2-8所示。

使用Stacked Sequence Structure比较节省空间,但是数据在各帧中的传递必须通过 Sequence Local来实现,并且每次只能显示一帧。可以用类似的方法来添加前一帧或后一帧,在弹出的快捷菜单中选择Add Sequence Local,则在顺序结构中添加Sequence local,如图2-9所示。

4. Case结构(Case Structure)

Case结构(如图2-10所示)的输入端可以连接布尔型和数字型变量。当连接的是布尔型变量时,只有True Case和False Case两种。当连接的是数字型变量时,Case框上面的标识将变成数字0,1,…根据输入量的不同,Case结构选择运行不同的程序。关于Case结构,我们举例如下,程序框图如图2-11所示。

图2-10 Case结构

图2-11 结构举例框图程序

默认状态下,case结构只有0和1两项,用右键单击Case结构的边框,从弹出的快捷菜单中选择Add Case After来添加一个Case,如图2-12所示。

前面板如图2-13所示。

用来选择需要的操作是加法、减法还是乘法。选择

All Controls ? Ring & Enum ? Menu Ring,然后通过工具模板中的选择工具 (Position/Size/Select)改变大小。可以单击右键,从弹出的快捷菜单中选择Visible Items ? Lable来隐藏标签Ring。也可以选择菜单中的Properties,在弹出的对话框中改变其属性, 同

图2-12 添加Case

时添加如图2-14所示的内容。 5. 公式节点(Formula Node)

一些复杂的计算过程我们可以交给公式节点来完成,我们所要做的就是将计算公式输

45-15


LabView上机实验指导书1(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:华东师范大学经济学考研历年真题803,849都有

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: