清华版labview教程

清华版labview教程
清华版labview教程

第二章程序结构

2.1循环结构

2.1.1While 循环

While 循环可以反复执行循环体的程序,直至到达某个边界

条件。它类似于普通编程语言中的 Do 循环和 Repeat-Until 循

环。While 循环的框图是一个大小可变的方框,用于执行框中的

程序,直到条件端子接收到的布尔值为 FALSE。

●该循环有如下特点:

●计数从0开始(i=0)。

●先执行循环体,而后i+1,如果循环只执行一次,那么

循环输出值i=0。

●循环至少要运行一次。

条件端子

循环变量

图2-1While 循环示意图

练习2-1使用While循环和图表

目的:用 While 循环和图表获得数据,并实时显示。

创建一个可以产生并在图表中显示随机数的VI。前面板有

一个控制旋钮可在0到10秒之间调节循环时间,还有一个开关

可以中止VI的运行。学习怎样改变开关的动作属性,以便不用

每次运行VI时都要打开开关。操作步骤如下:

前面板

图2-2练习2-1的前面板

1.选择FileoNew,打开一个新的前面板。

2.选择ControlsoBoolean,在前面板中放置一个开关。

设置开关的标签为控制开关。

3.使用标签工具创建 ON 和 OFF 的标签,放置于开关旁。

4.选中ControlsoGraph,在前面板中放置一个波形图(是chart,而不是graph)。设置它的标签为随机信号。这个图表用于实时显示随机数。

5.把图表的纵坐标改为0.0 到 1.0。方法是用标签工具把最大值从10.0改为1.0。

6.选择ControlsoNumeric,在前面板中放置一个旋钮。设置旋钮的标签为循环延时。这个旋钮用于控制While 循环的循环时间。

流程图

7.开流程图,按照下图创建流程图。

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

a.从 FunctionsoStructures 中选择 While 循环,把它放置在流程图中。将其拖至适当大小,将相关对象移到循环圈内。

b.从Functionso Numeri c中选择随机数(0-1)功能函数放到循环内。

c.在循环中设置Wait Until Next ms Multiple函数(FunctionsoTime & Dialog),该函数的时间单位是毫秒,按目前面板旋钮的标度,可将每次执行时间延迟0到10毫秒。

d.照上面所示的流程图连线,把随机数功能函数和随机信号图表输入端子连接起来,并把启动开关和While 循环的条件端子连接。

8.返回前面板,调用操作工具后单击垂直开关将它打开。

9.把该 VI 保存为 LabVIEW\Activity目录中的Random Signal.vi。

10.执行该 VI。While循环的执行次数是不确定的,只要设置的条件为真,循环程序就会持续运行。在这个例子中,只要开关打开(TRUE),框图程序就会一直产生随机数,并将其在图表中显示。

11.单击垂直开关,中止该VI。关闭开关这个动作会给循环条件端子发送一个FALSE值,从而中止循环。

12.用鼠标右键单击图表,选择Data

OperationsoClear Char t,清除显示缓存,重新设置图表。

练习2-1结束

附注与说明

布尔开关的机械动作:

布尔开关有6种机械动作属性可供选择。在前面板上用鼠标右键单击开关,在快捷菜单中选择Mechanical Action就可以看到这些可选的动作。LabVIEW还提供了一个范例示范这些动作,它是位于Examples\General\Controls\booleans.llb的Mechanical Action of Booleans.vi。

2.1.2移位寄存器(Shift Register)

移位寄存器可以将数据从一个循环周期传递到另

外一个周期。在程序设计中,经常要用到它.创建一

个移位寄存器的方法是,用鼠标右键单击循环的左边

或者右边,在快捷菜单中选择Add Shift Register。如

右图所示。

移位寄存器在流程图

上用在循环边框上相应的

一对端子来表示。右边的

端子中存储了一个周期完

成后的数据,这些数据在

这个周期完成之后将被转

移到左边的端子,赋给下一个周期。移位寄存器可以转移各种类

型的数据--数值、布尔数、数组、字符串等等。它会自动适应

与它连接的第一个对象的数据类型。下图表示了它的工作过程.

图2-3Shift Register的工作过程

可以令移位寄存器记忆前面的多个周期的数值。这个功能对

于计算数据均值非常有用。还可以创建其他的端子访问先前的周

期的数据,方法是用鼠标右键单击左边或者右边的端子,在快捷

菜单中选择Add Element 。例如,如果某个移位寄存器左边的端

口含有三个元素,那么就可以访问前三个周期的数据。

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

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

前面板

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

2.把波形图表的坐标范围改为0.0到2.0。

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

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

图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 A verage.vi。

练习2-2结束。

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

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

2.1.3For循环

For循环用于将某段程序执行指定次数。和While 循环一样,

它不会立刻出现在流程图中,而是出现一个小的图标,而后您可

以修改它的大小和位置。具体的方法是,先单击所有端子的左上

方,然后按下鼠标,拖曳出一个包含所有端子的矩形。释放鼠标

时就创建了一个指定大小和位置的For循环。

For循环将把它的框图中的程序执行指定的次数,For循环

具有下面这两个端子:

N: 计数端子(输入端子)——用于指定循环执行的次数。

I: 周期端子(输出端子)——含有循环已经执行的次数。

上图显示了一可以产生100个随机数并将数据显示在一个

图表上的For循环。在该例中,i 的初值是0,终值是99。

练习 2-3 使用For循环

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

1.打开一个新的前面板,按照下图创建对象。

a.将一个数字显示对象放在前面板,设置它的标签为“最

大值”。

b.将一个波形图表放在前面板,设置它的标签为“随机

数”。将图表的纵坐标范围改为0.0到1.0。

c.在图表的快捷菜单中选择V isible ItemsoScrollbar

和Digital Display,并隐藏Plot Legend。

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

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

2.按照上图画流程图。

3.在流程图中放置一个For循环

(FunctionsoStructures)。

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

Add Shift Register。

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

a Random Number (0–1)函数(FunctionsoNumeric )—

—产生0到1之间的某个随机数。

b 数值常数(FunctionsoNumeri

c )——在这个练习中需

要将移位寄存器的初始值设成0。

c Max&Min 函数(FunctionsoComparison )——输入两个

数值,再将它们的最大值输出到右上角,最小值输出到右下角。

这里只需要最大值,只用连接最大值输出。

d 数值常数(FunctionsoNumeric )——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…。按钮用来改变

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

练习 2-4 使用 Case 结构

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

前面板

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

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

流程图

2.照下图创建流程图。

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

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

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

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

c连好线

d点击Case框的选择按钮,转入False情况编程

e数值常数(FunctionsoNumeric)——这里用于显示错误的代数值-999.00。

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

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

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

4.返回前面板,运行该VI。修改标签为Number的数字式控制对象的数值,分别尝试一个正数和负数。注意,当把数字式控制对象的值改为负数时,LabVIEW会显示Case结构的FALSE

Case 中设置的出错信息。

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

Root.vi 。

VI 的算法

本练习中的流程图功能相当于代码式编程语言中的下列伪

代码:

if (Number >= 0) then

Square Root Value = SQRT(Number)

else

Square Root Value = -999.00

Display Message "Error.. "

end if

练习 2-4 结束。

2.3 顺序结构和公式节点

2.3.1 顺序结构(Sequence Structure )

在代码式的传统编程语言中,默认的情况是,程序语句按照排列顺序执行,但LabVIEW 中不同,它是一种图形化的数据流式编程语言。在图2-7左图中,假设有A 、B 、C 、D 4个节点,其数据流向如右图所示。按照数据流式语言的约定,任何一个节点只有在所有

图2-7 顺序结构的说明

的输入数据有效时才会执行,所以图中,当且仅当A 、B 、C 3个节点执行完,使得D 节点的3个输入数据都到达D 节点后,D 节点才执行。但是你要注意,这里并没有规定A 、B 、C 3个节点的执行顺序。在LabVIEW 中这种情况下,A 、B 、C 的执行顺序是不确定的,如果你需要对它们规定一个确定的顺序,那就需要使用本节介绍的“顺序结构”。

图2-7中的右边是顺序结构的图标,它看上去像是电影胶片。它可以按一定顺序执行多个子程序。首先执行0帧中的程序,然后执行1帧中的程序,逐个执行下去。与Case 结构类似,这多帧程序在流程图中占有同一个位置。

练习 2-5 使用顺序结构

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

前面板

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

图2-8练习2-5的前面板

我们约定数据是0到100范围的整数。当前值用于显示当前产生的随机数。“执行次数”用于显示达到指定值循环执行的次数。匹配时间用来显示达到指定值所用的时间。

流程图

图2-8练习2-5的流程图(共3帧)

1.在流程图中放置顺序结构

(FunctionsoStructures)。

2.用鼠标右键单击帧的边框,在快捷菜单中选择Add

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

共3桢。

3.选中第0桢,设置读取初始时间(子)程序

4.第0帧的下边框上含有一个小方框,其中有一个箭

头。这个方框叫做顺序局部变量,可以在同一个顺序结构中的各

个帧之间传递数据。用鼠标右键单击第0帧的底部边框,选择

Add Sequence Local,创建顺序局部变量。顺序局部变量显示为

一个空的方块。当您将某个功能函数与顺序局部变量相连时,方

块中的箭头就会自动显示。

5.T ick Count (ms) 函数(FunctionsoTime &

Dialog)——返回启动到现在的时间(以毫秒为单位)。

在这里例子里需要使用两个这个函数。另一个在第2帧

中。

6.按图连好线。转入第1帧。该帧是匹配计算,内含

一个循环结构。该图中使用的新函数有:

Round to Nearest函数(FunctionsoNumeric)——在

该例中,它用于取0到100之间的随机数到距离最近的整数。

Not Equal?函数(Functionso Comparison)——在该例

中,它将随机数和前面板中设置的数相比较,如果两者不相等会

返回TRUE值,否则返回FALSE。

Increment函数(FunctionsoNumeric)——在该例中,

它将While循环的计数器加1。

7.按图连好线。转入第2帧

在第0帧中,Tick Count (ms)功能函数将以毫秒为单位

表示当前时间。这个数值被连到顺序局部变量,这样它就可以被

后续的帧使用。在第1帧中,只要函数返回的值与指定值不等,

VI就会持续执行While循环。在第2帧中,Tick Count (ms)

功能函数以毫秒为单位返回新的时间。VI从中减去原来的时间

(由第0帧通过顺序局部变量提供)就可以计算出花费的时间。

8.返回前面板,在Number to Match控制对象中输入

一个数值,执行该VI。

9.把该VI保存为LabVIEW\Activity目录下Time to

Match.vi。

练习 2-5结束。

附注与说明:设置数据范围

在设定一个数据对象时,可以设置对输入数据的限制,利用

快捷键选择Data Range…选项,将会出现如下对话框:

图2-9设置数据范围

它可以防止用户创建的控制对象或显示对象的值超出某个

预设的范围。您可以选择忽略这个值,将它强制修改到范围以内,

或暂停程序的执行。在程序执行时,如果发生溢出错误,溢出错

误符号将显示在工具栏中的执行按钮的位置。而且,一个立体的

黑框将把发生溢出的控制对象包围起来。

2.3.2公式节点(Formula Node)

公式节点是一个大小可变的方框,可以利用它直接在流程图

中输入公式。从FunctionsoStructures中选择公式节点就可以

把它放到流程图中。当某个等式有很多变量或者非常复杂时,这

个功能就非常有用。例如等式: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

可以用公式节点取代上面这段代码,如下图所示: output

Y X

注意:公式节点中变量字母X,Y 大、小写是有区别的,开方的函数sqrt(X)中函数名称是小写。

练习 2-6 使用公式节点

目的:创建一个VI ,它用公式节点计算下列等式:

y1 = x 3 – x 2 + 5

y2 = m* x + b

x 的范围是从0到10。可以对这两个公式使用同一个公式节点,并在同一个图表中显示结果。

前面板

m

b

Waveform Graph

图2-11 练习2-6的面板

1. 打开一个新的前面板,按照上图(该图中包含运行结果)创建前面板中的对象。波形图显示对象用于显示等式的图形。该

VI使用两个数字式控制对象来输入m和b的值。

流程图

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

图2-12练习2-6的流程图

在创建某个输入或者输出端子时,必须给它指定一个变量

名。这个变量名必须与公式节点中使用的变量名完全相符。

公式节点中,在边框上单击鼠标右键,在快捷菜单中选择

Add Input,可以创建三个输入端子。在快捷菜单中选择Add

Output,创建输出端子。

x的范围是从0到10(包括10),就必须连接11到计数端

子。

Build Array (FunctionsoArra y)——在这个

例子中,它用于将两个数据构成数组形式提供给一

个多曲线的图形中。通过用变形工具拖拉边角就可

以创建两个输入端子。

3.返回前面板,尝试给m和b赋以不同的值再执行该 VI。

4.把该VI保存为LabVIEW/Activity目录下的

Equations.vi。

练习 2-6结束。

LabVIEW

第一章LabVIEW简介 LabVIEW是美国国家仪器公司(National Instruments Co)开发的一种图形化的编程环境。其名称含义为实验室虚拟仪器工作平台(Lab oratory V irtual I nstrument E ngineering W orkbench)。作为一种方便的数据采集和仪器控制开发软件,它可工作于Macintoshe 、Sun SPARC工作站、HP9000/700系列工作站以及PC机等各种机型,可运行于Windows 3.1、Windows9x/2000、Windows NT、UNIX等多系统下,是一种灵活有效的仪器控制和数据分析软件系统。 LabVIEW程序使用虚拟仪器(V irtual I nstrument,缩写为VI)的概念。它是指一台计算机和连接外部的端口(计算机的COM口,LPT口或内插板)在软件控制下可完全模拟替代传统的仪器。因VI功能完全是由软件定义,故在硬件系统不变的情况下,用户可通过软件开发自行改变或扩充仪器的功能,实现自己的特殊要求,或用一套硬件系统实现多种仪器的功能,从而使虚拟仪器VI不但比传统仪器更灵活有效,而且也更经济。VI的核心就是LabVIEW程序,所以在LabVIEW中,所有程序均称之为VI程序,不管它是否通过端口和外界进行通讯。每个VI程序均可作为一个功能模块被重复使用,因而使用LabVIEW来开发和扩展程序极为方便。 LabVIEW编程语言同常规的程序语言不同,它采用更易使用和理解的图形化程序语言-G语言(Graphical programming language)。G语言使用图标代替常规的一条或一组语句来实现一个功能,通过各功能图标间的逻辑连接实现程序功能。 其编程过程不是书写一行行语句,而是连接一个个代表一定功能的图标,其程序编制过程简单,不涉及复杂功能实现的算法,易于掌握。同时,因为其编程过程基于可重复使用的功能模块,故可方便地使用由专业人员编制提供的专业级别的功能模块,开发出专业水平的程序。所以,LabVIEW在世界范围内的众多领域如航空、航天、通信、汽车、半导体、化学和生物医学等得到了广泛的应用,从简单的仪器控制、数据采集到复杂的测试和数据处理,从工厂、科研院所到大学里的实验室,到处都可以发现LabVIEW的应用。在西方国家(如美国)的许多大学已将LabVIEW作为本科的教学内容,成为工程师素质培养的一个方面。由于LabVIEW虚拟仪器的强大功能,使得使用一套硬件系统就可进行多种不同要求的研究,故而可以用更小的消耗进行更多的研究,尤其适合在我国资金较少的科研单位用于研究工作。 LabVIEW6.-中,包含许多专家编写的VI供用户使用。在数据采集方面有许多采集卡(DAQ)的支持模块,使采集程序的编制不必涉及低层控制;有各种数字、模拟信号I/O模块;有对GPIB(General Purpose Interface Bus,IEEE488标准)、VXI(VME bus eXtensions for Instrumentation ,扩展IEEE1014标准)和Serial端口的支持和控制等VI。在数据处理控制方面有各种数字信号处理和产生、频谱分析、滤波、平滑窗口、概率统计等VI。 本LabVIEW简介部分主要介绍LabVIEW语言的基础知识,包括界面、菜单、工具、模板、器件、函数等,通过这一部分的学习,读者即可使用LabVIEW编程并在实际工作中进行应用。LabVIEW进阶部分将深入探讨LabVIEW的编程环境、编程技巧以及优化策略等和更多的功能,考虑到篇幅限制,本书不与介绍,感兴趣的同学可参看下列参考书继续学习,

虚拟仪器LabVIEW实验报告

实验报告一 课程名称虚拟仪器 实验项目熟悉编程环境与基本编程操作 实验仪器计算机 系别: guangdian 专业: 班级/学号: 学生姓名: 实验日期:2011年3月 成绩: _____________________ 指导教师: ____________________

实验一熟悉编程环境与基本编程操作 一、实验目的 1.理解LabVIEW的运行机制,熟悉LabVIEW编程环境。 2.掌握基本编程操作,包括VI程序的创建、编辑、运行与调试。 3.理解LabVIEW模块化编程思想,掌握子VI的创建、编辑及调用。 二、实验仪器及材料 主要设备有计算机, LabVIEW8.5软件。 三、实验内容及步骤 教材第82—83页练习4.2,创建VI后保存为Thermometer.vi。 1.打开一个新的前面板 2.从控件菜单选择一个温度计放到前面板 3.在温度计上用右键单击设定一个精确的温度值,选择Visible》Digital Display 4.将VI保存为Thermometer.vi 教材第107—108页练习5.2,打开练习4.2所创建的VI,将其转变成一个子VI。 1打开4.2创建的Thermometer.vi 2.为该VI创建一个图标,从VI图标窗格选择Edit Icon…,单击OK返回主VI

3从图标弹出菜单中选择Show Connector创建连接器。 4将端子指派给温度指示器,使用Writing工具单击连接器端子,端子就会变成黑色,然后单击温度计指示器。 5在温度计指示器的弹出菜单选择Description and Tip…为温度指示器编制文档 6选择File》Save将修改保存。 四、收获与体会

LabVIEW基础实验(1)

实验一LabVIEW基础实验(1) 一、实验目的 1、熟悉LabVIEW开发环境,包括前面板、程序框图、工具选板、控件选板、函数面板等。 2、熟悉LabVIEW图形化编程的基本操作,掌握创建、编辑、运行调试LabVIEW 程序的方法和步骤。 3、掌握调用子VI的方法。 4、初步熟悉LabVIEW程序结构。 二、实验内容 1、自学文档LabVIEW入门教程第一部分前4节内容,帮助熟悉LabVIEW开发环境。 2、创建一个VI,计算两个数的算术平均数和几何平均数,保存为js.vi。(1)调试上述VI程序: 高亮显示执行过程;保存连线值;单步执行;设置探针;设置断点。 (2)创建一个新的VI程序,在程序中调用js.vi子程序,实现相同的功能。3、利用for循环结构实现0到99之间所有偶数的和,并且学习移位寄存器和反馈节点的相互替换。 4、分别利用while循环和for循环结构求解n!。(0-99) 三、实验原理 1、熟悉LabVIEW开发环境 LabVIEW是一个基于图形化编程方法的虚拟仪器软件开发环境。它包括了基于图形化程序设计的方法(G语言)、调试、运行、发布等等一系列环节。也就是说:LabVIEW提供了“三件套”的设计、调试、运行、发布等环境,从而完整的提供了虚拟仪器的图形化设计平台。 2、LabVIEW图形化编程的基本操作 1. 找出语法错误 如果一个VI程序存在语法错误,则在面板工具条上的运行按钮将会变成一个

折断的箭头,表示程序不能被执行。这时这个按钮被称作错误列表。点击它,则LabVIEW弹出错误清单窗口,点击其中任何一个所列出的错误,选用Find功能,则出错的对象或端口就会变成高亮。 2. 设置执行程序高亮 在LabVIEW的工具条上有一个画着灯泡的按钮,这个按钮叫做“高亮执行”按钮上。点击这个按钮使该按钮图标变成高亮形式,再点击运行按钮,VI程序就以较慢的速度运行,没有被执行的代码灰色显示,执行后的代码高亮显示,并显示数据流线上的数据值。这样,你就可以在根据数据的流动状态跟踪程序的执行。 3. 断点与单步执行 为了查找程序中的逻辑错误,你也许希望框图程序一个节点一个节点地执行。使用断点工具可以在程序的某一地点中止程序执行,用探针或者单步方式查看数据。使用断点工具时,点击你希望设置或者清除断点的地方。断点的显示对于节点或者图框表示为红框,对于连线表示为红点。当VI程序运行到断点被设置处,程序被暂停在将要执行的节点,以闪烁表示。按下单步执行按钮,闪烁的节点被执行,下一个将要执行的节点变为闪烁,指示它将被执行。你也可以点击暂停按钮,这样程序将连续执行直到下一个断点。 4. 探针 你可以用探针工具来查看当框图程序流经某一根连接线时的数据值。从Tools工具模板选择探针工具,再用鼠标左建点击你希望放置探针的连接线。这时显示器上会出现一个探针显示窗口。该窗口总是被显示在前面板窗口或框图窗口的上面。在框图中使用选择工具或连线工具,在连线上点击鼠标右键,在连线的弹出式菜单中选择“探针”命令,同样可以为该连线加上一个探针。 四、实验程序及实验步骤 1.创建一个VI,计算两个数的算术平均数和几何平均数,保存为js.vi。 (1)调试上述VI程序: ①保存连线值;;

虚拟仪器LabVIEW实验报告

现代仪器设计LabVIEW实验报告 实验内容: 1.熟悉LabView软件操作方法 2.了解LabView的一般编程方法 3.虚拟信号发生器制作

1.熟悉LabView软件操作方法 虚拟仪器(virtual instrumention)是基于计算机的仪器。虚拟仪器主要是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器的研究中涉及的基理论主要有计算机数据采集和数字信号处理。目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。 LabVIEW(Laboratory Virtual instrument Engineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程基本上不写程序代码,取而代之的是流程图。 前面板的设计需用控制模板。控制模板(Control Palette)用来给前面板设置各种所需的输出显示对象和输入控制对象。每个图标代表一类子模板。可以在前面板的空白处,点击鼠标右键,以弹出控制模板。 程序框图的设计需用功能模板。功能模板(Functions Palette)是创建流程图程序的工具,只有打开了流程图程序窗口,才能出现功能模板。功能模板该模板上的每一个顶层图标都表示一个子模板。可以点击“窗口”—“显示程序框图”打开,也可以在流程图程序窗口的空白处点击鼠标右键以弹出功能模板。

流程图上的每一个对象都带有自己的连线端子,连线将构成对象之间的数据通道。不是几何意义上的连线,因此并非任意两个端子间都可连线,连线类似于普通程序中的赋值。数据单向流动,从源端口向一个或多个目的端口流动。不同 的线型代表不同的数据类型。下面是一些常用数据类型所对应的线型和颜色:

Labview实验

实验一 LabVIEW环境 1. 熟悉LabVIEW环境。 2. 创建一个VI。 发生一个值为0.0~1.0的随机数a,放大10倍后与某一常数b 比较,若a>b,则指示灯亮。要求:①编程实现;②单步调试程序; ③应用探针观察各数据流。 3. 创建和调用子VI。 创建一个子VI,子VI功能:输入3个参数后,求其和,再开方。编一个VI调用上述子VI。

实验二 结构与属性控制 1. 产生100个0.0~100.0的随机数,求其最小值、最大值、平均值,并将数据在Graph 中显示。 2. 产生0.0~100.0的随机数序列,求其最小值、最大值、平均值。并将随机数序列和平均值序列显示在Chart 波形图中,直到人为停止。 3. 编写一个程序测试自己在前面板输入一下字符串所用的时间:A virtual instrument is a program in the graphical programming language. 4. 编写一个程序,实现是否可视、可用、焦点状态、闪烁、位置及对象尺寸等属性。 个数据的平均值。 是前n A A A n A A n n n n n ) (111---+ =

实验三变量、数组与簇 1.在程序的前面板上创建一个数值型控件,为它输入一个数值;把这个数值乘以一个比例系数,再由该控件显示出来。 2.生产一个正弦波,并显示在Chart波形控件上,由另外一个程序把该波形显示出来。调节两个程序运行的速度,观察对比两个波形的差异。 3.创建一个3行4列的数组,(1)求数组的最大与最小值;(2)求出创建数组的大小;(3)将该数组转置;(4)将该二维数组改为一个一维数组。 4.创建一个簇控件,成员为字符型姓名,数值型学号,布尔型注册。从该控件中提取簇成员注册,并显示在前面板上。

LabVIEW FPGA教程

[LabVIEW FPGA教程]将外部IP导入LabVIEW FPGA 概览 通过将第三方IP 集成到NI LabVIEW软件,您能使用许多的针对Xilinx现场可编程门整列 (Field-programmable gate arrays, FPGA)进行优化的算法,在实现高性能的同时提高代码重用度。LabVIEW FPGA模块提供两种方法用来实现外部代码的导入:组件级IP(Component-Level Intellectual Property, CLIP)节点和IP集成节点。本白皮书将讨论这两种方法。 目录 1. CLIP节点介绍 2. 在FPGA应用中使用CLIP 3. IP集成节点介绍 4. CLIP和IP集成节点的区别 5. 相关资源 1. CLIP节点介绍 CLIP节点是一种用于将已有的FPGA IP导入LabVIEW FPGA硬件的同时通过LabVIEW FPGA程序框图与它进行通讯的框架。一旦导入成功,相对于LabVIEW FPGA,IP可以独立地、并行地运行。IP既能以原始VHDL的形式也能以诸如电子设计交换格式(Electronic design interchange format, EDIF)网表等中间文件的形式存在。这一功能要求使用者具有一定数字电路设计经验和VHDL的基本知识,因为所导入的IP 通常是一种底层的硬件描述语言(Hardware description language, HDL)。 对于不同的FPGA目标,其所支持的CLIP也不同。请参考目标硬件的的定义文档获取关于CLIP支持的信息。部分FPGA目标可支持以下一种或者两种类型的CLIP: 用户定义的CLIP—导入VHDL代码,直接与FPGA VI进行通讯。 套接字CLIP—导入VHDL代码,直接和不与LabVIEW FPGA模块关联的一个FPGA VI以及FPGA引脚进行通信。一些FPGA目标在FPGA中定义了一个您可以插入套接字CLIP的固定式CLIP套接字。 图1.在由使用者定义的CLIP节点中导入VHDL代码可以与一个FPGA VI进行通讯;反之,一个套接字CLIP节点允许IP同时连接到FPGA VI和可用FPGA引脚。 获取最新的信息,请参考标题为使用VHDL代码作为组件级IP(FPGA模块)的LabVIEW FPGA模块帮助。 2. 在FPGA应用中使用CLIP

基于labview的实验

实验一利用LabVIEW控件进行结构化程序设计 一、实验目标: 1. 理解LabView的结构的基本概念 2. 掌握LabView中特有的顺序结构和移位寄存器的基本使用方法 3. 掌握LabView中公式节点的使用方法 二、实验设备 安装有LabVIEW的计算机。 三、实验要求和程序 LabView中的结构中的For和While相当于别的语言中的各种循环语句,而顺序结构主要为了方便于进行和时间相关的编程。本单元基本要求为循序渐进地学习和调试结构相关的内容,重点在于掌握LabView中进行循环和时间相关编程的方法。 1.使用For循环产生100个随机数。在随机数产生的同时判定当前随机数的最大值和最 小值。有时称其为“流动的”最大值和最小值。在前面板上显示流动最大值、最小值和当前的随机数。循环中一定要包含Time Delay Express VI以便用户可以观看值随着For循环的运行而更新。 程序框图:

前面板: 2. 构建VI,每秒显示一个0到1之间的随机数。同时,计算并显示产生的最后四个随机数的平均值。只有产生4个数以后才显示平均值,否则显示0。每次随机数大于0.5时,使用Beep.vi产生蜂鸣声。 【提示】虽然叙述简单,但实现不易,请注意: 每秒产生一个随机数,我们可以使用用于定时的VI 要计算最后四个数的平均,我们需要使用移位寄存器 要注意顺序结构和移位寄存器的嵌套关系 运行: 当产生随机数小于4时:(平均值等于0)

当产生随机数大于4: 3、创建前面板有3个圆LED的VI。运行程序时,第一个LED打开并保持打开状态。1秒 钟以后,第二个LED打开并保持打开状态;再过2秒钟,第三个LED打开并保持打开状态。所有LED都保持打开状态3秒钟,然后程序结束。(使用顺序结构) 程序框图:

虚拟仪器技术Labview 课程实验报告

Labview 课程实验报告 学院:电气工程 专业:建筑电气与智能化 姓名:杨震 班级:建电122 学号:1212062056 指导老师:茅靖峰

第一部分基础题 1、用LabVIEW的基本运算函数编写以下算式的程序代码: (前面板) (程序框图) 该程序要求用labview基本运算函数编写算式的程序代码,在前面板上我添加了两个数值显示控件用以显示两个算式的运算结果;在程序框图中运用软件自带的加、减、乘、除运算进行组合从而表示算式,再结果的后面加上一个双精度浮点数函数将程序运算结果强制转换后输入到显示控件中得到结果。

2、利用摄氏温度与华氏温度的关系°C=5(°F-32)/9编写一个程序求华氏度(°F)为32°,64°,4°,6.98°,6°,104°,212°时的摄氏温度。 (前面板) (程序框图) 该程序要求转换华氏度对应的摄氏度,本质上是对数据进行运算。在前面板上创建两个数组一个是数值输入数组用以输入华氏度的值,一个是数值显示数组用以显示对应的摄氏度的值。在程序框图中加入For循环将公式节点放入For循环中在公式节点上添加一个输入和一个输出分别连接两个数值控件,最后在公式节点中编辑二者运算关系完成设计。

3、用数组创建函数创建一个二维数组显示件,成员为: 1 2 3 4 5 6 2 3 4 5 6 1 3 4 5 6 1 2 4 5 6 1 2 3 编程将上述创建的数组转置为: 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 1 5 6 1 2 6 1 2 3 (前面板) (程序框图) 先在前面板中创建二维数组用以存放生成的数组元素数组为显示型控件,通过观察我们发现题目中的数组第一行为1-6顺序的六个元素从一开始后逐一加一,第二行则是5个数组元素平移,第三行为4个以此类推第四行3个所以我们在程序框图中用For循环和加一来生成第一行数组For循环的循环次数为六次,第二行数组则在第一行数组的基础上运用一维数组平移函数平移5位的到,以此类推生成四行数组,再使用数组生成函数生成二维数组输出到显示数组中显示出来,至于数组的转置直接运用数组转置函数得到,在该函数的输出端口右键创建显示控件。在前面板中调整创建的显示控件以确保显示所有转置的数组,实验完成。

致LabVIEW初学者的二十条忠告

致LabVIEW初学者的二十条忠告 1. LabVIEW是门程序设计语言,不是画图工具! 2. 不要以为LabVIEW很简单,设计个庞大工程难度不亚于C++! 3. 语言本身永远只是招式,请注意修炼内功:数据结构、算法、软件工程、数字电路等! 4. 多读书、读好书:《LabVIEW For Everyone》、《LabVIEW-Advanced Programming Techniques》! 5. 学习程序设计只有一种方法:读代码、写代码、读代码、写代码! 6. 不要以为读完一遍《LabVIEW For Everyone》你能有多大收获,请再继续读两遍! 7. 研读书上的每一个例子,他们往往是程序中的经典! 8. 对齐你的每一个控件和函数,多用弹出菜单-整理连线,不要让程序看起来乱七八糟! 9. 不要以为读完几本书你就能成高手,能力是在做项目过程中日积月累出来的!10. 看到一个LabVIEW程序,尽可能想象它在内存中是怎么执行的!11. 请重视DLL调用,并不是每个老板都舍得用Ni的产品!12. 多看LabVIEW User Manual,那里才是权威!13. 尽量减少创建全局变量,它会占用你大量内存和时间!14. 尽量将不必要的元素放在循环外!15. 尽量避免在循环内使用Build Array!16. 当速度及其重要时,尽量减少图表或图形的使用!17. 用Initialize给你的程序命名,不要用Chushihua !18. 记住:高手是长时间修炼形成的,不要指望一蹴而就!19. 拒绝浮躁,耐心看完书上每一节的内容!20. 编程是一种艺术,追求艺术极限!注:LabVIEW For Everyone译名《LabVIEW大学实用教程》电子工业出版社!补充:还有一本书,早看早好《The LabVIEW Style》,论坛上有下载:vihome/bbs/vie ... 6287&extra=page=1,描述LabVIEW编程风格的,权威类似C语言这些中的匈牙利命名法,听说有些大公司就因为LabVIEW在代码风格上很难统一,后期维护和代码重用很困难而没有使用LabVIEW的,这 本书在很大程序上可以弥补这个缺点。在自带的帮助中也有一些编程风格的说

虚拟仪器实验 labviEW

实验一储液罐状态监控系统设计 一、实验目的 通过该系统设计,初步了解LabVIEW虚拟仪器设计软件的前面板、程序框图及各个选项板的功能。 二、实验内容 设计储液罐状态监控仿真系统,要求如下 1、监测一个储液罐的实际液位、温度、进口压力、出口压力 2、用曲线图显示被测量液位随时间的变化情况 3、液位超标时用指示器报警 4、手动和自动两种方式调节储液罐的液位高度 5、用调节步长按钮决定自动调节的快慢程度 6、设计储液罐状态监控系统前面板 三、实验步骤 1、前面板设计 整个贮液罐监控系统前面板需要的控件有:停止键、手自动切换、液位超标指示灯、步长调节旋钮、高度设定、实际高度显示、进出口压力显示、温度显示和实际液位高度波形图。 停止键、手自动切换、液位超标在新式布尔量控件中进行选择,步长调节旋钮在数值控件中选择旋钮、压力表在数值中选择量表控件,设定高度、实际高度、温度在数值控件中分别选择垂直指针滑动杆垂直填充滑动杆和温度计,液位高度波形图选择波形图表。 2、程序框图设计 程序采用While循环结构,结束用停止布尔按钮结束,除设定高度和调节步长是手动设置外,其他输入如压力和温度的设定均采用编程—数值—随机数的方式给定,手自动切换布尔量连接比较选项中的选择节点,用于切换手自动,液位超标将实际高度和超标高度比较,输出一布尔量。 四、实验结果

五、思考题 1、将整个VI设计成一个子VI。在另一个VI中调用。 在前面板右上角,编辑连线板,对VI的输入和输出对应控件进行编辑,然后保存,即可生成VI,可在其他VI中调用,在其他VI中的调用图如下:

实验二分组数据的练习 一、实验目的 通过该实验,熟悉LabVIEW中常用的分组数据:数组、簇及波形的使用。 二、实验内容 习题4-3到4-11。 三、实验步骤 4-3.4.5 前面板只有三个数组的显示控件,分别为原数组显示、原数组大小显示和转置后的数组显示,程序框图中建立一二维数组常量,将要显示的数组填入,并添加一二维显示控件,在数组中分别选择数组大小和二维数组转置节点,其后分别连接显示控件。 4-6 前面板中选择簇输入控件,并在簇中加入字符型输入控件,数值型输入控件,布尔型输入控件,然后添加一布尔型显示控件,用于提取簇元素注册的显示。程序框图中从簇与变体函数子选板中选择按名称解除捆绑函数,输入端连接簇输入控件的输出,然后选择“注册”后输出端连接布尔控件的输入端。 4-7 前面板中在“字符串与路径”控件中选择组合框控件,然后在它的属性编辑项中编辑5个人的姓氏拼音首字母,它们的值分别为各自的中文姓名,编辑好后建立一字符串显示控件,程序框图中将组合框的输出端与字符串显示控件连接即可。 4-8 前面中中建立一字符串显示控件,程序框图中在定时函数子选板中选择“获取日期时间/字符串”函数,然后放置两个字符串常量分别为班级和姓名,将日期、时间、班级、姓名四个字符串接入字符串选板中的“连接字符串”函数节点,该节点的输出端接入字符串显示控件的输入端。 4-9 前面板中建立一字符串显示控件,程序框图中建立五个随机数,然后均与常数10相乘得到0-10的随机数,选择字符串选板中的“连接字符串”函数节点,将相乘后的随机数接入输入端,在“连接字符串”的格式字符串端建立字符串常量定义格式为两位小数点,数之间用逗号隔开。 4-10 前面板中建立一个一维数组输入控件,建立一个一维数组输出控件,程序框图中建立一个For循环,用数组选板中的“一维数组移位”和“替换数组子集”,每次替换数组最后一个元素并进行移位,替换的新元素值为0-10的随机数,For循环建立移位寄存器,使移位后的数组能进入下次循环中。 4-11 已知标定数据,前面板中建立电压的数值输入控件和压力的数值输出控件,程序框图中用数组选板中的“以阈值插值一维数组”进行电压对压力的插值找到索引值,然后进行显示。 四、实验结果 4-3.4.5

Labview实验

Labview虚拟仪器实验指 导书 宋爱娟 2009.2

目录 实验一 Labview的认识性实验(2学时) (3) 实验二 Labview的基本操作(2学时) (4) 实验三数据操作实验(2学时) (6) 实验四 labview结构在编程中的应用(4学时) (10) 实验五 labview中字符串、数组、簇的实验(2学时) (16) 实验六图表和图形实验(4学时) (23) 实验七专业测试系统的搭建实验(2学时) (28) 实验八创建子VI(2学时) (32) 实验九人机界面交互设计实验(2学时) (35) 实验十波形编辑及频谱分析实验(3学时) (39) 实验十一救援用LED灯实验(4学时选作) (41)

实验一Labview的认识性实验 一、目的 1、熟悉Labview的基本组件 2、熟悉Labview的前面板、程序框图、快捷和下拉菜单 3、掌握Labview的选项板及在线帮助 二、环境 1、WINDOWS2000环境(将显示属性中的分辨率设置为1024*768) 2、Labview8.6软件 三、内容与步骤: [练习1] 启动Labview,查找Labview示例 步骤: 1.打开文件VibrationAnalysis.vi(c:/ProgramFiles/National Instruments/LabVIEW 8.6/examples/apps/demos.llb) 2.单击按钮Run运行该程序 3.改变采样速率 4.改变采样速度,验证希望速度与实际速度是否一致 [练习2] 熟悉前面板与程序框图的切换及观察程序流的执行过程 1.在练习1的基础上,利用快捷方式将前面板切换到程序框图。 2.单击高亮度显示按钮观察代码的数据流向。 [练习3] 熟练打开运行一个VI 1.练习查找所定VI,另用帮助查找含有FILTER的示例,找到其中的Express Filter.VI程序双击打开 2.运行该程序 3.改变仿真频率、仿真幅度和仿真噪声幅度观察指示器的值与图中值是否一致。 4.观察数据流执行过程 [练习4]练习查找运行 1.将上面程序在框图窗口双击程序框图中的Simulate Signal,将正弦信号改为其他信号之后运行程序。 2.熟练查找其他程序并运行 [练习5] 1.在Labview启动界面中选择新建选项 2.打开空VI或VI模板 3.任意打开VI模板并运行。

LabVIEW实验指导书

实验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)框图程序的组成 框图程序由节点、端口和连线和组成。

labview基础介绍入门

Labview是一种图形化编程语言,作为数据采集和仪器控制软件的标准被广泛应用于工业界、学术界和研究性实验室。Labview是功能强大、灵活的多平台仪器和分析软件系统。Labview还可以运行在PDA、实时平台上,甚至可以将Labview程序嵌入到FPGA芯片和32位微处理器中。创建自己的Labview程序或者虚拟仪器(VI)是很容易的。Labview 的直观用户界面使得和使用程序变得令人激动而且有趣。 Labview来源于传统设计语言的顺序特性并以易用的图形化设计环境为特色,包括数据采集[DAQ]、数据分析、结果显示等必须的所有工具。使用图形化设计语言,也称为G语言,可以采用能编译成机器代码的图形框图编程。无数完美的科学和工程应用软件证明,Labview有助于在很短时间内解决多种问题,并毫无疑问写出”传统的”代码。 超越实验室 Labview已经进入虚拟仪器应用的广泛领域,很难说清楚它始于何处。正如其名字所暗示的那样,它来源于实验室并且仍然流行于多种实验室——从世界各地主要的研究所和开发实验室,到多行业的研发实验室、全世界各大学的教学实验室,特别是电子与机械工程和物理学科。 Labview的推广在很多方向超出了实验室范围——向上(航天飞机)、向下(海军潜艇)和世界各地(从北海的油井到新西兰的工厂)。采用最新的Internet功能,Labview应用软件不仅可以物理地配置到很多地方,也可以虚拟地应用于网络应用软件。越来越多的人创建基于网站的控制或者监视Labview应用软件系统,实现远程访问并立刻得

到实验室所发生的即时信息。虚拟仪器系统以其在硬件和开发时间方面的低成本和其强大的灵活性而闻名。 虚拟仪器的扩展世界 很多场合都需要某些测量——对于烤炉、冷库、温室、绝对无尘室或液体容器,一般要测量其温度。除了温度之外,用户还要测量压力、应力、位移、应变、PH值等。事实上任何地方都可以使用个人计算机。Labview推动了PC和测量仪器的结合,这不仅仅是因为它容易使用,还因为它带来了很多功能,包括分析和显示测量结果、根据需要进行全球范围传输等。 监测和控制正是Labview的强项,有时可以直接监测和控制,有时通过与可编程逻辑控制器(PLC)通信进行,这一般被称为数据采集与监视系统(SCADA)。 Labview的一些应用案例: 1,模拟心脏跳动; 2,控制冰激凌的制作过程; 3,探测航天飞机的氢气泄露; 4,监测幼小鸵鸟的进食方式; 5,动力系统建模以分析动力特性; 6,伺服电机和步进电机的运动控制; 7,计算机和其他电子设备中的电路板测试; 8,虚拟现实系统中的仿真运动;

LabVIEW实验一基本操作

例1.M a t h_L E D.v i

要求 将两个输入的数字相加并显示结果;将同样两个数字相乘并显示结果;如果两个数字相等,则LED指示灯亮。

步骤 1.在Front Panel上添加两个Numeric Control,和两个Numeric Indicator,以及一个Boolean 器件Round LED。 2.Window => Show Block Diagram。在Block Diagram中利用加法器乘法器完成,A+B和A*B, 结果接Numeric Indicator。将输入信号连接至Equal,结果接LED。 3.然后就好了。。。

例2. Temp_vol.vi

要求 建立一个测量温度和溶剂的VI

步骤 1.在Front Panel中右键,在弹出的Controls中的Numeric中选择Tank,放入前面板。名 字改为容积。双击左侧10.0标度改为1000。 2.在容器旁配数据显示,在容器上右键,选Visible Iterms => Digital Display。 3.再在Controls中的Numeric中选一个温度计,改标签为温度,标度0到100,配数据 显示。 4.Ctrl + E,打开Block Diagram,从功能模块选择对象,组成下图。 其中:Random Number(0-1) 和 Numeric Constant在Numeric里。Numeric Constant 可以 在连接端子处右键Create => Constant。 5.保存

例3. 子VI的创建

步骤 1. 打开刚才建立的Temp_vol.vi 2. vi文件的右上角两个标志(如图中红圈所示)。1是端子连接器窗口(据说由show connector 设置,没找到)。2是图标窗口,是该vi被引用时显示的图标。 3. 右键点击图标窗口,点Edit Icon,将该图标改为一个温度计。 4. 右键点击端子连接器窗口,选如图的连接模式,再Rotate 90 Degrees。

LabVIEW入门教程

LabVIEW入门教程

1.1 LabVIEW 是什么 第一章:概述 LabVIEW (Laboratory Virtual Instrument Engineering Workbench )是一种图形化的 编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪 器控制软件。LabVIEW 集成了与满足 GPIB 、VXI 、RS-232 和 RS-485 协议的硬件及数据 采集卡通讯的全部功能。它还内置了便于应用 TCP/IP 、ActiveX 等软件标准的库函数。这 是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使 得编程及使用过程都生动有趣。 图形化的程序语言,又称为“G”语言。使用这种语言编程时,基本上不写程序代码,取 而代之的是流程图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念, 因此,LabVIEW 是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的 能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试 并实现仪器系统时,可以大大提高工作效率。 利用 LabVIEW ,可产生独立运行的可执行文件,它是一个真正的 32 位编译器。像许 多重要的软件一样,LabVIEW 提供了 Windows 、UNIX 、Linux 、Macintosh 的多种版本。 1.2 LabVIEW 应用程序的构成 所有的 LabVIEW 应用程序,即虚拟仪器(VI ),它包括前面板(front panel )、流程图 (block diagram )以及图标/连结器(icon/connector)三部分。 前面板 前面板是图形用户界面,也就是 VI 的虚拟仪器面板,这一界面上有用户输入和显示输 出两类对象,具体表现有开关、旋钮、图形以及其他控制(control )和显示对象(indicator )。 控制对象 显示对象 (输入) (输出) 图1-1 随机信号发生器的前面板

LabView实验报告

机电系统创新性综合实验 实验报告 学院:机械工程学院 专业:机械设计制造及其自动化班级:机自 124 班 学号: 1208030436 学生姓名:王彤 指导教师:蔡家斌、曹阳 2015年12月12

目录 实验题目: LabView创新实验 (1) 实验一1.1实验内容 (1) 1.2实验过程 (1) 1.3实验小结 (3) 1.4实验总结与感想 (5) 实验二2.1实验内容. (5) 2.2 实验过程 (5) 2.3实验小结 (7) 2.4实验总结与感想 (8) 实验三3.1实验内容 (8) 3.2实验过程 (8) 3.3实验小结 (10) 3.4实验总结与感想 (11)

实验题目 本次LabView实验共有6个实验题目,有两个选择方案,我选择了第一种方案:在六个实验中选择了三个,分别是实验一、二、三。通过自学和同学间的互相帮助,我学会了LabView软件的使用,完成了本次实验。 实验一虚拟信号发生器的设计 1.1实验内容 设计一个虚拟信号发生器,能够产生正弦波、三角波、锯齿波、直流、随机白噪声等信号〔波型选择用按键或旋钮〕,且可以调整波形参数。通过示波器可以观察虚拟信号发生器的输出信号。可以通过前面板选择信号波形,调节信号的频率、幅值和相位〔频率、幅值、相位用数字窗口显示〕,并通过虚拟示波器观察生成的波形。 1.2实验过程 1.新建一个VI,在后面板上创建一个选择结构; 2.在选择器标签中选择一个设置为默认,并在后面添加4个分支,以便写入多种不同的程序; 3.在选择结构中建立一个仿真信号,属性设置-信号类型-正弦波-确定;

4.在仿真信号中的对应位置创建输入控件,输出处创建波形图,分别连接在仿真信号的相应位置。 5. 6.其他几种波形信号按照相同方式创建在不同的选择标签中,并在选择结构外部建立一个While循环,可以让程序连续执行。

Labview虚拟仪器课程设计实验报告

课 程 设 计 L a b v i e w 虚拟仪器课程设计 2013 年 7 月 13 日 设计题目 Labview 虚拟仪器课程设计 成绩 设计题目 学 号 专业班级 生物医学工程10-1班 学生姓名 指导教师 付静

合肥工业大学课程设计任务书 虚拟心电图仪的设计 课 程 设 计 主 要 内 容 了解虚拟仪器的概念,并通过基本习题掌握Labview 软件的使 用方法及虚拟仪器的设计流程, 在此基础上完成虚拟心电图仪的设计,实现心电信号的显示、保存、R-R 间期及心率等参数的计算。 指 导 教 师 评 语 建议:从学生的工作态度、工作量、设计(论文)的创造性、学术性、实用性及书面表达能力等方面给出评价。 签名: 20 年 月 日

一、虚拟心电图仪设计主要内容 心电图仪的前面板及框图程序的设计,要求实现心电信号的回放显示、保存、R-R间期及心率等参数的计算。 二、实验设备 装有Labview的PC一台 三、设计思路 1、心电图仪前面板的设计 (1) 考虑到设计的心电图仪能够实现对心电信号波形显示,以及回放显示功能,所以设置了两个Wave Graph 面板,一个用于实时显示,一个用于回放显示,如下图示: 实时显示面板: 回放显示面板: 注释:在设计的过程中考虑过将实时显示和回放显示放在一个Wave Graph 中,但是由于这种分开设计的方法更加简单明了,所以最终选择了这种设计. (2) 考虑到设计有要求能够显示R-R间期及心率等参数,还要有保存功能键,再结合实际需要,所以,最后的完整面板如下图示: (因为图太大,所以把整张图截成了两部分)

labview实验及上机指导书

实验一 labview结构在编程中的应用 一、实验目的 1、掌握For循环、While循环、Case结构和单层顺序结构的建立方法 2、熟悉labview中一些函数的使用 3、能够鉴别常见的结构连线错误 二、实验内容与步骤 1、使用for循环写出n!的程序。(利用移位寄存器或是反馈节点实现)。 知识点:for循环的参数设置,循环总数以及循环计数参数的使用,注意总数的设置和移位寄存器的初始化。 2、创建VI,在前面板上放置3个LED。程序运行时,第一个LED打开并保持打开状态。1秒以后,第二个LED打开并保持打开状态;再过2秒,第三个LED 打开并保持打开状态。所有LED都保持打开状态3秒,然后程序结束。 知识点:使用3帧单层顺序结构,每帧包含延时函数。 3、利用While循环和移位寄存器,设计一个控制LED灯闪烁的VI,LED灯闪烁的时间可以在程序中设定。 知识点:一定要设置while循环的停止条件。 4、利用case结构的多分支,进行下列简单程序设计: 星期一显示:新的一周开始了,好好学习! 星期二显示:今天是星期二,继续努力! 星期三显示:今天是星期三,生活愉快! 星期四显示:周四了,继续努力! 星期五显示:今天是星期五,站好最后一班岗! 星期六显示:周末愉快! 星期日显示:好好休息!

实验二交通灯控制系统模拟设计 一、实验目的 设计一个交通信号灯模拟控制系统,使其能模拟城市“十字”路口交通信号灯的功能,并能进行某些特殊控制。 二、实验内容与步骤 1、在十字路口上,交通信号灯的变化是固定的: 1)放行:绿灯亮15秒放行,然后黄灯亮5秒,红灯亮禁止。 2)禁止:红灯亮20秒禁止,然后绿灯亮放行。 3)两条线路交替进行,实现定时交通控制。 2、扩展部分要求 1)交通灯变化时,同时用数值控件进行20秒(15秒,或5秒)的递减时间显示。 2)特殊情况下,允许急救车辆优先通过。当特殊情况发生时,路口的信号灯全部变红,以便让车辆优先通过。假设车辆通过时间为10秒,急救车辆通过后,交通灯恢复先前状态。可以用按键代表车辆到来。 三、实验思考 如果在交通路口设置左转控制,控制策略如何设计?画出程序的流程图。

基于LabVIEW的变声器设计

基于LabVIEW的变声器设计 摘要:数字信号处理技术在语音信号的处理中具有十分重要的意义,是语音变换的处理方法之一。基于在语音变换时的技术要求,本文介绍了一种在基音同步叠加(PSOLA)算法的前提下,结合重采样技术实现语音变调不变速的方法,在分析变换理论及具体算法的基础上,利用LabVIEW编程实现语音的多种频率变换以及男∕女声变换。 关键词:基音同步叠加(PSOLA)算法; 重采样; 频谱搬移; 语音转换LabVIEW-based variable sound design Abstract: Digital signal processing technology is of great significance in speech signal processing, is one of the processing method of voice transformation. Based on the technical requirements in the voice change, this paper describes a synchronous overlap in pitch (PSOLA) algorithm premise resampling technique combining voice tone does not shift method, based on the analysis of specific algorithms transform theory and on the use of LabVIEW programming a variety of voice frequency conversion and male / female transformation. Keyword: PSOLA; resampling; spectrum shifting; V oice conversion 0 引言 在音频信号处理中,将源说话人语音中的个性特征转换成目标说话人语音的个性特征的语音信号处理技术,称为语音变换技术。人的语音说话特征分为音段特性与超音段特性以及语言特性,音段特征包括谱包络,谱激励;超音段特性包括基频,时长,幅度[1]。 近几年来,语音信号处理技术在实用化方面取得了很多突破性进展,例如,随着在对声学语音学统计模型的深入研究,像语音识别,基于语音段的建模方法等逐渐成为研究热点。在语音合成方面,基于基音同步叠加(PSOLA)算法的波形编辑和拼接技术得到广泛应用[2],PSOLA算法的优势在于能在不改变语音音段的音质的基础上,能改变体现语音自然度的韵律特征的变化,进而获得更高的清晰度。

相关文档
最新文档