当前位置:文档之家› LabVIEW实验指导书

LabVIEW实验指导书

L a b V I E W实验指导书集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]实验1 LabVIEW编程环境与基本操作实验一、实验目的●了解LabVIEW 7 Express的编程环境。

●掌握LabVIEW的基本操作方法,并编制简单的程序。

二、实验设备安装有LabVIEW 7 Express的计算机三、实验内容1、LabVIEW的工作环境1)启动界面对话框各按钮作用如下:【New】——创建一个新的VI(Virtual Instument)程序。

【Open】——打开一个已有的VI程序【Configure】——设置NI的测量和控制工具,如DAQmax的设置【Help】——LabVIEW帮助2)面板窗口和框图程序窗口①前面板窗口工具栏:(Run,运行) (Abort Execution,终止运行) (Pause/Continue,暂停/继续) (Run Continuously,继续运行)(Text Settings,字体设置)(Align Objects,排列方式) (Distrbute Objects,分布方式) (Reorder,重叠方式)②框图程序工具栏(Highlight Execution,高亮执行) (Start Single Stepping,单步执行) (Start Single Stepping) (Step Out)2、LabVIEW模板介绍1)工具模板(Tools Palette)2)控制模板(Control Palette)3)功能模板 (Functions Palette)3、LabVIEW程序设计的一般过程1)前面板设计使用输入控件器和输出指示器来构成前面板。

控制器是用户输入数据到程序的方法,而指示器显示程序产生的数值。

2)框图程序的组成框图程序由节点、端口和连线和组成。

前面板框图程序3)从框图程序创建前面板对象用任意LabVIEW工具,用户都可以用鼠标右键单击任意的LabVIEW 功能函数或者子程序,然后可以弹出其快捷菜单。

4)数据流编程VI程序的运行是“数据流”驱动的。

对一个节点而言,只有当它的输入端口上的数据都有效以后,它才能被执行。

当节点程序运行完毕后,它把结果数据送给所有的输出端口。

“数据流”与常规程序的“控制流”相类似,相当于指令执行的顺序按照程序的编写顺序。

如下图,这个VI程序把两个输入数值相乘,再把乘积减去50。

下面简单介绍这个VI框图程序的创建过程:①选择框图程序窗口。

在功能模板中选择Numeric下的Multiply(乘法)函数,放入框图程序窗口。

②在此函数图标的左端输入端口上单击右键,从弹出的对话框中选择CreatControl,创建一个与它相连的控制器。

③重复上面的步骤,创建第二个控制器同乘法函数的连接。

④在功能模板中选择Numeric下的Subtract(减法)函数,放入框图程序窗口。

⑤在此函数左端相应输入端口上单击右键,从弹出的对话框中选择CreatConstant,创建一个常数。

⑥在此减法(Subtract)函数右端输出端口上单击右键,从弹出的对话框中选择CreatIndicator,创建指示器。

⑦用连线工具连线。

实验2 Labview编程结构实验一.实验目的学习并掌握For循环和While循环以及它们的不同点。

学习移位寄存器(Shift Register)和反馈节点(Feedback Node)学习顺序结构(Sequence Structure),Case结构和公式节点(Formula Node) 的使用。

二.实验设备安装有Labview 7 Express的计算机三.实验内容1.For循环和While 循环当程序有循环次数时,我们使用For循环。

在程序框图中添加For循环(Function—All Function---Structures—For Loop)图2---1 For循环示意图当具体的循环次数不可知时,我们使用While循环(Function—All Function---Structures—While Loop)图2---2 While 循环示意图Labview 7 Express对While循环还提供了一个快捷方式:(Function—Execution---Control—While Loop),与上面不同是自动加了一个停止按纽。

2.移位寄存器和反馈节点移位寄存器(Shift Register)移位寄存器可以将数据从一个循环周期传递到另外一个周期。

在程序设计中,经常要用到它.创建一个移位寄存器的方法是,用鼠标右键单击循环的左边或者右边,在快捷菜单中选择Add ShiftRegister。

如右图所示。

移位寄存器在流程图上用在循环边框上相应的一对端子来表示。

右边的端子中存储了一个周期完成后的数据,这些数据在这个周期完成之后将被转移到左边的端子,赋给下一个周期。

移位寄存器可以转移各种类型的数据--数值、布尔数、数组、字符串等等。

它会自动适应与它连接的第一个对象的数据类型。

下图表示了它的工作过程.图2-3 Shift Register的工作过程反馈节点(Feedback Node)反馈节点是Labview 7 Express新增的功能,完成的功能同移位寄存器类似,在循环While或For循环中,只要将其中的子VI,函数的输入/输出相连接,就会自动出现反馈节点。

当然也可以通过(Function—Execution Control—Feedback Node)来添加。

在反馈节点上单击右键,从中选择Replace With Shift Register,反馈节点变成移位寄存器如下图所示:图2-4 为While循环设置移位寄存器图2-5 为For循环设置移位寄存器3.分支结构:CaseCase结构含有两个或者更多的子程序(Case),执行那一个取决于与选择端子或者选择对象的外部接口相连接的某个整数、布尔数、字符串或者标识的值。

必须选择一个默认的Case以处理超出范围的数值,或者直接列出所有可能的输入数值。

Case结构见下图,各个子程序占有各自的流程框,在其上沿中央有相应的子程序标识:Ture、False或1、2、3…。

按钮用来改变当前显示的子程序(各子程序是重叠放在屏幕同一位置上的)。

False2-6 使用 Case结构目的:创建一个VI以检查一个数值是否为正数。

如果它是正的,VI就计算它的平方根,反之则显示出错。

打开一个新的前面板,并按照下图所示创建对象。

控制对象用于输入数值,显示对象用于显示该数值的平方根。

流程图.照下图创建流程图。

图2-7 练习2-4的面板和流程图1.从FunctionsStructures中选择一个 Case结构,并放置在在流程图中。

Case 结构是一个可以改变大小的方框。

先来做Ture的情况,照流程图上半部分构造。

(FunctionsComparison)——如果输入数值大于或者等于0就会返回一个TRUE值。

Square Root 函数(FunctionsNumeric)——返回输入数值的平方根。

ADB连好线2.点击Case 框的选择按钮,转入False 情况编程数值常数(FunctionsNumeric )——这里用于显示错误的代数值。

One Button Dialog 函数(FunctionsTime & Dialog )——在这里它用于显示一个对话框,内容是Error...。

3.字符串常数 (FunctionsString)——用Edit Text Tools 在对话框中输入字符串。

4.该VI 在TRUE 或者FALSE 情况下都会执行。

如果输入的数值大于等于0,VI 会执行TRUE Case ,返回该数的平方根,否则将会输出-,并显示一个对话框,内容为Error...。

5.返回前面板,运行该VI 。

修改标签为Number 的数字式控制对象的数值,分别 尝试一个正数和负数。

注意,当把数字式控制对象的值改为负数时,LabVIEW 会显示Case 结构的FALSE Case 中设置的出错信息。

保存该 VI 到LabVIEW\Activity 目录中的Square 。

4.顺序结构(Sequence Structure )在代码式的传统编程语言中,默认的情况是,程序语句按照排列顺序执行,但LabVIEW中不同,它是一种图形化的数据流式编程语言。

在图2-7左图中,假设有A、B、C、D4个节点,其数据流向如右图所示。

按照数据流式语言的约图2-8 顺序结构的说明定,任何一个节点只有在所有的输入数据有效时才会执行,所以图中,当且仅当A、B、C3个节点执行完,使得D节点的3个输入数据都到达D 节点后,D节点才执行。

但是你要注意,这里并没有规定A、B、C3个节点的执行顺序。

在LabVIEW中这种情况下,A、B、C的执行顺序是不确定的,如果你需要对它们规定一个确定的顺序,那就需要使用。

图2-8中的右边是顺序结构的图标,它看上去像是电影胶片。

它可以按一定顺序执行多个子程序。

首先执行0帧中的程序,然后执行1帧中的程序,逐个执行下去。

与Case结构类似,这多帧程序在流程图中占有同一个位置。

使用顺序结构目的:创建一个 VI,计算生成等于某个给定值的随机数所需要的时间。

打开一个新的前面板,并按照下图所示创建对象。

图2-9 前面板我们约定数据是0到100范围的整数。

当前值用于显示当前产生的随机数。

“执行次数”用于显示达到指定值循环执行的次数。

匹配时间用来显示达到指定值所用的时间。

流程图图2-10 流程图(共3帧)在流程图中放置顺序结构(FunctionsStructures)。

用鼠标右键单击帧的边框,在快捷菜单中选择Add Frame After,创建一个新帧。

重复这个步骤,再创建一个帧。

共3桢。

选中第0桢,设置读取初始时间(子)程序第0帧的下边框上含有一个小方框,其中有一个箭头。

这个方框叫做顺序局部变量,可以在同一个顺序结构中的各个帧之间传递数据。

用鼠标右键单击第0帧的底部边框,选择Add Sequence Local,创建顺序局部变量。

顺序局部变量显示为一个空的方块。

当您将某个功能函数与顺序局部变量相连时,方块中的箭头就会自动显示。

Count (ms) 函数(FunctionsTime & Dialog)——返回启动到现在的时间(以毫秒为单位)。

在这里例子里需要使用两个这个函数。

另一个在第2帧中。

按图连好线。

转入第1帧。

该帧是匹配计算,内含一个循环结构。

该图中使用的新函数有:Round to Nearest函数(FunctionsNumeric)——在该例中,它用于取0到100之间的随机数到距离最近的整数。

Not Equal函数(Functions Comparison)——在该例中,它将随机数和前面板中设置的数相比较,如果两者不相等会返回TRUE值,否则返回FALSE。

相关主题