文档视界 最新最全的文档下载
当前位置:文档视界 › labview入门教程

labview入门教程

labview入门教程
labview入门教程

Labview 7.1 入门教程

第一讲:认识Labview

1.1 Labview 简介

在开始菜单里找见NI Labview7.1 点击打开,会出现如下界面:

从File>>New VI 或者从右半部分中的New>>Blank VI 都可以打开如下界面:

上图中前图是虚拟仪器的前面板,是用户使用的人机界面,后面的是程序框图界面(即后面板)。

在LabVIEW 的用户界面上,应特别注意它提供的操作模板,包括工具(Tools )模板、控制(Controls )模板和函数(Functions )模板。这些模板集中反映了该软件的功能与特征。下面我们来大致浏览一下。

工具模板(Tools Palette )

该模板提供了各种用于创建、修改和调试VI 程序的工具。如果该模板没有出现,则可以在Windows 菜单下选择Show Tools Palette 命令以显示该模板。当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。当从Windows 菜单下选择了Show Help Window 功能后,把工具模板内选定的任一种工具光标放在流程图程序的子程序(Sub VI )或图标上,就会显示相应的帮助信息。

下面的两个模板是多层的,其中每一个子模板下还包括多个对象。

控制模板(Control Palette)Array注意:只有打开前面板时才能调用该模板

该模板用来给前面板设置各种所需的输出显示对象

和输入控制对象。每个图标代表一类子模板。如果控制

模板不显示,可以用Windows菜单的Show Controls

Palette功能打开它,也可以在前面板的空白处,点击

鼠标右键,以弹出控制模板。

控制模板如右图所示,它包括如下所示的一些子模

板。子模板中包括的对象,我们在功能中用文字简要介

绍。

10

11

12

13

14

15

功能模板(Functions Palette)

现功能模板。

功能模板是创建流程图程序的工具。该模板上的每一

个顶层图标都表示一个子模板。若功能模板不出现,则可

以用Windows菜单下的Show Functions Palette功能打开

它,也可以在流程图程序窗口的空白处点击鼠标右键以弹

出功能模板。

功能模板如右图所示,其子模块如下所示。(个别不常

用的子模块未包含)

下面我们通过练习掌握如何应用Labview7.1

练习一:建立一个测量温度和容积的VI

步骤如下:

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

2.从Controls>>All Controls>>numeric中选择Tank放到前面板中。

(注:如果前面板中没有Controls模版,可在菜单栏选window>>show controls palette,即可打开或直接点击鼠标右键)

3.在标签(Tank)文本框中输入“容积”,然后在前面板中的其他任何位

置单击一下。

4.同样从Controls>>All Controls>>numeric中选择Thermometer放到前

面板中

5.在标签文本框中输入“温度计”,然后在前面板中的其他任何位置单击

一下。

6.把容器显示对象的显示范围设置为0.0到1000.0。

a.双击容器坐标的10.0 标度,使它高亮显示。在坐标中输入 1000,

再在前面板中的其他任何地方单击一下。这时0.0到1000.0之间

的增量将被自动显示。

7. 在容器旁配数据显示。

将鼠标移到容器上,点右键,在出现的快速菜单中选Visible

Iterms>>Digital Display即可。

前面板如下图所示:

图1-1

8. Windows>>Show block Diagram

图1-2 练习一的流程图

该流程图中新增的对象有两个乘法器、两个数值常数、两个随机数发生器、一个延时函数,一个while 循环,一个布尔常量,温度和容积对象是由前棉板的设置自动带出来的。

a. 乘法器(Multiply )、随机数发生器(Random number (0--1))和数值常数(Numberic constant )由Functions>>All Functions>>Numeric 中拖出。(注:如果面板中没有Functions 模版,可以从菜单栏中选Window>>Show Functions palette 或点击鼠标右键)

b. 延时函数(Time delay )可以从Functions>>All Functions>>Time&Dialog>>Time delay 中拖出,在自动弹出的对话框中输入要延时的时间(比如0.5s )。

9.连线:把鼠标放到函数端子上,当鼠标自动变为连线模式并出现一闪一闪时,点击一下鼠标左键然后找要连接的函数端子,当鼠标出现一闪一闪时,再次点击鼠标左键,这时就把两个函数连接起来了。

10. 最后选Functions>>All Functions>>Structures>>While Loop,在已编好的程序左上角点击鼠标左键,然后移动鼠标,直到出现的虚线把程序全包含起来再点鼠标左键,就创建了一个While循环。在右下角条件端子上点击鼠标右键,再弹出的菜单里选Creat constant就可,目的是让循环能够维持下去。

11. 在前面板中,单击Run(运行)按钮,运行该 VI

12. 在后面板的工具栏中点击类似灯泡状的按钮,就可以看见程序中各个数据流的走向。

13. 选择FileoSave, 把该VI 保存到任意目录下。

14. 选择FileoClose,关闭该 VI 。

练习一结束

附注与说明:

1. 显示对象(Indicator)、控制对象(Control)和数值常数对象

显示对象和控制对象都是前面板上的控件,前者有输入端子而无输出端子,后者正好相反,它们分别相当于普通编程语言中的输出参数和输入参数。数值常数对象可以看成是控制对象的一个特例。

在前面板中创建新的控制对象或显示对

象时,LabVIEW 都会在流程图中创建对应的端

子。端子的符号反映该对象的数据类型。例如,

DBL符号表示对象数据类型是双精度数;TF

符号表示布尔数;I16符号表示16位整型数;

ABC符号表示对象数据类型是字符串。

一个对象应当是显示对象还是控制对象必须

弄清楚,否则无法正确连线。有时他们的图标

是相似或相同的,可以根据需要明确规定它是

显示对象还是控制对象。方法是将鼠标移到图

标上,然后点右键,可出现快速菜单(例见右

图)。如果菜单中的第一项是Chang to Control,说明这是一个显示对象,你可以根据需要,将其变为控制对象。如果菜单中的第一项是Chang to Indicator ,说明这是一个控制对象,你也可以根据需要,将其变为显示对象。

2.关于连线

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

当需要连接两个端点时,在第一个端点上点击连线工具(从工具模板栏调用),然后移动到另一个端点,再点击第二个端点。端点的先后次序不影响数据流动的方向。

当把连线工具放在端点上时,该端点区域将会闪烁,表示连线将会接通该端点。当把连线工具从一个端口接到另一个端口时,不需要按住鼠标键。当需要连线转弯时,点击一次鼠标键,即可以正交垂直方向地弯曲连线,按空格键可以改变转角的方向。

接线头是为了帮助正确连接端口的连线。当把连线工具放到端口上,接线头就会弹出。接线头还有一个黄色小标识框,显示该端口的名字。

线型为波折号的连线表示坏线。出现坏线的原因有很多,例如:连接了两个控制对象;源端子和终点端子的数据类型不匹配(例如一个是数字型,而另一个是布尔型)。可以通过使用定位工具点击坏线再按下来删除它。选择EditoRemove Bad Wires或者按下可以一次删除流程图中的所有坏线。当 VI 无法运行,或者显示 Signal has Loose Ends (信号丢失终端)的错误信息时,这是一个快捷的调试方法。

程序调试技术

(以下操作大家可以用练习一尝试)

1.找出语法错误

如果一个VI程序存在语法错误,则在面板工具条上的运行按钮会变成一个折断的箭头,表示程序不能被执行。这时该按钮被称作错误列表。点击它,则LabVIEW弹出错误清单窗口,点击其中任何一个所列出的错误,选用Find 功能,则出错的对象或端口就会变成高亮。

2.设置执行程序高亮

在LabVIEW的工具条上有一个画着灯泡的按钮,这个按钮叫做“高亮执行”

按钮上。点击这个按钮使它变成高亮形式,再点击运行按钮,VI程序就以较慢的速度运行,没有被执行的代码灰色显示,执行后的代码高亮显示,并显示数据流线上的数据值。这样,你就可以根据数据的流动状态跟踪程序的执行。

3.断点与单步执行

为了查找程序中的逻辑错误,有时希望流程图程序一个节点一个节点地执行。使用断点工具可以在程序的某一地点中止程序执行,用探针或者单步方式查看数据。使用断点工具时,点击你希望设置或者清除断点的地方。断点的显示对于节点或者图框表示为红框,对于连线表示为红点。当VI程序运行到断点被设置处,程序被暂停在将要执行的节点,以闪烁表示。按下单步执行按钮,闪烁的节点被执行,下一个将要执行的节点变为闪烁,指示它将被执行。你也可以点击暂停按钮,这样程序将连续执行直到下一个断点。

4.探针

可用探针工具来查看当流程图程序流经某一根连接线时的数据值。从Tools 工具模板选择探针工具,再用鼠标左建点击你希望放置探针的连接线。这时显示器上会出现一个探针显示窗口。该窗口总是被显示在前面板窗口或流程图窗口的上面。在流程图中使用选择工具或连线工具,在连线上点击鼠标右键,在连线的弹出式菜单中选择“探针”命令,同样可以为该连线加上一个探针。

1.2 子VI的建立

子VI(SubVI)相当于普通编程语言中的子程序,也就是被其他的 VI调用的VI。可以将任何一个定义了图标和联接器的 VI作为另一个 VI的子程序。在流程图中打开FunctionsoSelect a VI…. ,就可以选择要调用的子 VI 。构造一个子VI主要的工作就是定义它的图标和联接器。

每个VI在前面板和流程图窗口的右上角都显示了一个默认的图标。启动图标编辑器的方法是,用鼠标右键单击面板窗口的右上角的默认图标,在弹出菜单中选择Edit Icon。

下图显示了图标编辑器的窗口。可以用窗口左边的各种工具设计像素编辑区中的图标形状。编辑区右侧的一个方框中显示了一个实际大小的图标。图标编辑器的具体使用细节参阅练习二

图标编辑器窗口

联接器是 VI 数据的输入输出接口。如果用面板控制对象或者显示对象从子VI 中输出或者输入数据,那么这些对象都需要在联接器面板中有一个连线端子。您可以通过选择 VI的端子数并为每个端子指定对应的前面板对象以定义联接器。

定义联接器的方法是,用鼠标右键单击面板窗口中的图标窗口,在快捷菜单中选择Show Connector。

联接器图标会取代面板窗口右上角的图标。LabVIEW 自动选择的端子连接模式是控制对象的端子位于联接器窗口的左边,显示对象的端子位于联接器窗口右边。选择的端子数取决于前面板中控制对象和显示对象的个数。

联接器中的各个矩形表示各个端子所在的区域,可以用它们从 VI 中输入或

者输出数据。如果必要,也可以选择另外一种端子连接模式。方法是在图标上单击鼠标右键单出快捷菜单,选择Show Connector,再次弹出快捷菜单,选择Patterns。下面我们通过一个练习说明具体操作。

练习二:子VI的建立及调用

步骤如下:

1.打开一个NEW VI

2.在前面板中放置一个Number control 控件(数据输入控件)和一个Number

Indicator控件(数据显示),都在All controls>>numberic模板下并把标签分别改为 X 和 X^6,如下图:

3.后面板程序图如下图连接,这是一个计算X 的6次方程序

4.在前面板中,用鼠标右键单击窗口右上角的图标,在快捷菜单中选择Edit

Icon….,也可以双击图标激活图标编辑器。注意只能在前面板中编辑图标和联接器。

5.删除默认图标。使用Select Tool(矩形框),单击并拖动想要删除的部分,按

。也可以通过双击工具框中的阴影矩形删除图标。

6.用Text Tool(文本工具)创建文本(写好后可以用方向键移动文字在图

标中的位置)。得到图标将如下图所示。

7.单击OK,关闭编辑器。新创建的图标就显示在屏幕右上角的图标窗口中。

8.用鼠标右键单击前面板中的图标窗口,在快捷菜单中选择Show

Connector,设置联接器端子连接模式。在默认情况下,LabVIEW 会

根据前面板中的控制对象和显示对象的数目确定联接器的端子连

接模式。因为前面板中有两个对象,所以联接器有两个端子,如

右图所示。用鼠标右键单击联接器窗口,在快捷菜单中选择Rotate

90 Degrees(旋转90度),注意联接器窗口的变化,如右图所示。

9.端子连接到X和X^6:

a. 点击联接器左部端子。光标自动变成连线工具,同时端子

变成黑色。

b. 单击X控件对象。一个移动的虚线框把它包围起来,选中的端子的颜

色变为与控制/显示对象的数据类型一致的颜色。

如果单击前面板中的任何空白区域以后,虚线消失,选中的端子变暗,

这表示您已经成功地把显示对象和上部端子连接起来。如果端子是白色,则表示没有连接成功。c. 重复步骤a 和 b,把右部的端子和X^6连接

起来。

c.用鼠标右键单击联接器,在快捷菜单中选择Show Icon.

10.选择FileoSave,保存该 VI,保存名为X^6。这样这个 VI 就完成了,并也

可以作为子 VI被其他的VI调用。子VI 的图标在主 VI 的流程图中代表它。

11.调用子VI。新建一个New VI

12.在前面板中放置一个Number control 控件和一个Number Indicator控件,

并把标签分别改为 X 和 X^6,如下图

13.后面板操作。在Functions>>All Functions>>Select a VI ,选中并打开刚

才保存的VI,并连接好线如下图:

14.运行该程序

练习二结束

1.3 使用三种图表模式

目的:查看VI 分别在三种模式下执行时图表的显示。

练习三:

建立前面板及流程图如下

步骤:

1.在前面板放置chart(Controls>>All Controls>>Graph>>Waveform chart)控件

2.在后面板放置Sine函数(Functions>>All Functions>>Numberic>>

Trigonometric>>sine)及Wait Until Next ms Multiple 函数(Functions>>All Functions>>Time&Dialog>>Wait Until Next ms Multiple)并在左端子建立常数如100。最后放置while循环

该程序中利用一个while循环产生连续的sin(i)函数值,并及时地在chart 图表上显示出来,现在前面板上的chart是一个strip,这是一个坐标式显示器,与纸带式图表记录器相似。每接受一个新数据,新数据就将显示在右侧,而原有数据移动到左侧

3.用鼠标选中chart,点击右键,可在快速菜单中选择AdvancedoUpdate Mode 子菜单。可以选择更换其他两种更新模式。

示波器模式是一个返回式的显示器,与示波器类似。每接受一个新数据时,它就把新数据绘制在原有数据的右侧。当数据曲线到达显示区的右边缘时,VI 会删除全部图形,从左边缘重新开始绘制曲线。示波器模式显然要快于条状图模式,因为它不会因为滚动产生溢出。

扫描模式更接近于示波器模式,但是当数据曲线到达显示区的右边时,不会变成空白,而是会出现一个移动的垂线,标记新数据的开始,并当VI添加新数据时穿过整个显示区。

练习三结束。

第二讲程序结构

循环结构

While循环

While 循环可以反复执行循环体的程序,直至到达某个边界条件。它类似于普通编程语言中的 Do 循环和 Repeat-Until 循环。While 循环的框图

是一个大小可变的方框,用于执行框中的程序,直到条件端子接收到的布尔值为 FALSE 。

该循环有如下特点:

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

先执行循环体,而后i+1,如果循环只执行一次,那么循环输出值i=0。 循环至少要运行一次。

图4-1 While 循环示意图

由于在练习一中已讲过While 循环的应用,大家可以自己做下面的练习,其前面板和流程图如下图所示:

2.1.1.1 移位寄存器(Shift Register )

移位寄存器可以将数据从一个循环周期传递到另外一个周期。在程序设计中,经常要用到它.创建一个移位寄存器的方法是,用鼠标右键单击循环的左边或者右边,在快捷菜单中选择 Add Shift Register 。如右图所示。

移位寄存器在流程图上用在循环边框上相应的一对端子来表示。右边的端子中存储了一个周期完成后的数据,这些数据在这个周期完

循环变量

条件端子

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

的数据--数值、布尔数、数组、字符串等等。它会自动适应与它连接的第一个

对象的数据类型。下图表示了它的工作过程.

图2-3Shift Register的工作过程

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

非常有用。还可以创建其他的端子访问先前的周期的数据,方法是用鼠标右键单

击左边或者右边的端子,在快捷菜单中选择Add Element。例如,如果某个移位

寄存器左边的端口含有三个元素,那么就可以访问前三个周期的数据。

练习四使用移位寄存器

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

前面板

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

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

3. 在添加开关之后,用鼠标右键单击它,在快捷菜单中选择Mechanical ActionoLatch When Pressed,再选择OperateoMake Current Values Default,

把ON状态设置为默认状态。

练习四的前面板

流程图

1.按下图创建流程图。

练习四的流程图

2.在流程图中添加 While 循环(FunctionsoStructures),创建移位寄存器。

a. 用鼠标右键单击While循环的左边或者右边,在快捷菜单中选择Add

Shift Register。

b. 用鼠标右键单击寄存器的左端子,在快捷菜单中选择Add Element,添加

一个寄存器。用同样的方法创建第三个元素。

3.Random Number (0–1)函数(FunctionsoNumeric)——产生0到1之间的某个随机数。

https://www.docsj.com/doc/9a10630337.html,pound Arithmetic 函数(FunctionsoNumeric)——在本练习中,它将返回两个周期产生的随机数的和。如果要加入其他的输入,只需用右键单击某个输入,从快捷菜单中选择Add Input。

5.除法函数(FunctionsoNumeric)——在本练习中,它用于返回最近四个随机数的平均值。

6.数值常数(FunctionsoNumeric)——在While循环的每个周期,Random Number (0–1)函数将产生一个随机数。VI就将把这个数加入到存储在寄存器中的最近三个数值中。Random Number (0–1)再将结果除以4,就能得到这些数的平均值(当前数加上以前的三个数)。然后再将这个平均值显示在波形图中。

7.Wait Until Next ms Multiple函数(FunctionsoTime & Dialog)——它将确保循环的每个周期不会比毫秒输入快。在本练习中,毫秒输入的值是500毫秒。如果用鼠标右键单击图标,从快捷菜单中选择VisibleoLabel,就可以看到Wait Until Next ms Multiple的标签。

8.用鼠标右键单击Wait Until Next ms Multiple 功能函数的输入端子,在快捷菜单中选择Create Constant。出现一个数值常数,并自动与功能函数连接。

9.将Constant设置为500。这样连接到函数的数值常数设置了500毫秒的等待时间。因此循环每半秒执行一次。注意,VI用一个随机数作为移位寄存器的初始值。如果没有设置移位寄存器端子的初始值,它就含有一个默认的数值,或者上次运行结束时的数值,因此开始得到的平均数没有任何意义。

10.执行该 VI,观察过程。

11.把该 VI 保存。

练习四结束。

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

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

2.1.2 For循环

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

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

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

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

上图显示了一可以产生100个随机数并将数据显示在一个图表上的For循环。在该例中,i 的初值是0,终值是99。

练习五使用For循环

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

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

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

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

标范围改为0.0到1.0。

c.在图表的快捷菜单中选择Visible ItemsoScrollbar和Digital Display,

并隐藏Plot Legend。

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

练习五的前面板和流程图

2.按照上图画流程图。

3.在流程图中放置一个For循环(FunctionsoS tructures)。

4.在For循环的边框处单击鼠标右键,在快捷菜单中选择Add Shift Register。5.将下列对象添加到流程图。

a.Random Number (0–1)函数(FunctionsoNumeric)——产生0到1之间

的某个随机数。

b.数值常数(FunctionsoNumeric)——在这个练习中需要将移位寄存器的

初始值设成0。

c.Max&Min函数(FunctionsoComparison)——输入两个数值,再将它们的

最大值输出到右上角,最小值输出到右下角。这里只需要最大值,只用连接最大值输出。

d.数值常数(FunctionsoNumeric)——For循环需要知道需要执行的次数。

本练习中是100次。

6.按照上图连接各个端子。

7.运行该VI。

8.将该VI保存。

练习五结束。

2.2 分支结构:Case

Case结构含有两个或者更多的子程序(Case),执行那一个取决于与选择端子或者选择对象的外部接口相连接的某个整数、布尔数、字符串或者标识的值。必须选择一个默认的Case以处理超出范围的数值,或者直接列出所有可能的输入数值。Case结构见下图,各个子程序占有各自的流程框,在其上沿中央有相应的子程序标识:Ture、False或1、2、3…。按钮用来改变当前显示的子程序(各子程序是重叠放在屏幕同一位置上的)。

练习六 使用 Case 结构

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

前面板

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

流程图

2. 照下图创建流程图。

练习六的面板和流程图

3. 从FunctionsoStruc tures 中选择一个 Case 结构,并放置在在流程图中。 Case 结构是一个可以改变大小的方框。先来做

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

a. Greater Or Equal To 0? 函数(FunctionsoComparison )——如果输入

数值大于或者等于0就会返回一个TRUE 值。

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

连好线

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

labviewDAQ学习总结

使用LabVIEW创建应用程序 如在LabVIEW中对NI-DAQmx支持的设备进行编程,可在MAX或LabVIEW中打开DAQ助手,交互式地创建全局或局部虚拟通道和任务。详细信息,见DAQ助手帮助。也可使用NI-DAQmx API创建局部虚拟通道和任务,并编写应用程序。完成下列步骤,在LabVIEW中创建应用程序: 1.打开现有或新建一个LabVIEW VI。 2.使用NI-DAQmx VI和属性构建VI。 关于NI-DAQmx VI的帮助信息,见NI-DAQmx C Function Reference Help。关于LabVIEW编程的详细信息,见LabVIEW帮助。 在LabVIEW SignalExpress中创建应用程序 如要在LabVIEW SignalExpress中使用NI-DAQmx支持的设备,可创建一个包含NI-DAQmx步骤的项目。LabVIEW SignalExpress用于记录和分析数据。在LabVIEW SignalExpress中,可将在MAX中创建的全局虚拟通道添加至NI-DAQmx步骤。详细信息见DAQ助手帮助。完成下列步骤,开始使用LabVIEW SignalExpress: 1.单击Add Step,然后选择Acquire Signals?Acquire DAQmx?Analog Input?Voltage,放置DAQmx采集步骤。 2.单击+按钮,将通道添加至NI-DAQmx步骤。 关于将DAQ助手与LabVIEW SignalExpress配合使用的帮助信息,见Taking an NI-DAQmx Measurement in LabVIEW SignalExpress。关于在LabVIEW SignalExpress中编程的常规帮助信息,见LabVIEW SignalExpress Help。疑难解答 安装和配置 关于安装和配置的一般说明,请参考DAQ入门指南和SCXI快速入门手册。 如安装DAQ硬件或软件时有任何问题,请使用下列资源: ?关于疑难解答指导,请登录https://www.docsj.com/doc/9a10630337.html,/support/install,查看硬件安装或配置答疑。 ?关于常见安装和编程问题的疑难解答和NI产品的常见问题解答,请参考https://www.docsj.com/doc/9a10630337.html,/kb 的知识库文档。

(完整版)虚拟仪器学习心得总结

虚拟仪器学习心得总结 姓名:王水根 学号:1083420213 班级:0801101班 学院:电气学院 指导老师:付宁

虚拟仪器学习心得总结 王水根 刚开始接触虚拟仪器这个概念的时候是在大三的上学期,我不记得那天具体是什么日子了,只记得公寓前面展板上多了一个很大的海报,内容大概是哈工大虚拟仪器协会成立招新和第一届全国虚拟仪器设计大赛的相关说明。这是我第一次接触“虚拟仪器”这个当时陌生的新词。一看到这个词我马上想到我们经常用的仿真软件Multisim,那里面就有好多虚拟的电源、示波器、万用表,还有频谱分析仪、逻辑分析仪等。顿时,我觉得这个很有意思啊,要是能自己在电脑里设计一个示波器那就厉害了。可是那个虚拟的仪器又是怎么集成到其他电路仿真软件上的呢?还有虚拟仪器的定义到底是什么呢?不知道。所以我带着这些疑问上网查找和虚拟仪器的相关文档,看看虚拟仪器到底是一个什么东西,虚拟仪器在哪些领域有应用。 后来,我参加了协会组织的招新,初次接触了Labview,在花了一个通宵做完招新布置的作业后,我也成了一名Labview的初学者。这之后我知道了Labview 这个软件是用来设计虚拟仪器的,而虚拟仪器是用计算机设计的一个软件,它能完成一台台式仪器的功能。比如可以用Labview设计一个信号发生器,产生正弦波、方波、三角波、锯齿波、任意占空比矩形波等。 而Labwindows/CVI我上大二时实验室的师兄跟我说过,他那时跟我说CVI 是用来设置界面用的,一般都是硬件配上CVI一块用。可是在系统学习CVI之前我从没用过Labwindows/CVI。CVI和Labview都是很好用很优秀的软件,在自动化测试领域有着特别重要的作用。Labview采用的是G语言,也就是图形化语言,它不仅是一种编程环境,也是一门编程语言。Labview因为采用的是图形化语言,所以和CVI比起来学习更容易,编程也更简单,比较适合于专业知识比较薄弱的学习者。Labview采用的编程思想和传统C语言一样,是嵌套,主函数包含子函数的思想。所以,当要编写比较大的程序时,整个结构就显得很大很复杂,编写起来比较困难。这时,CVI相对就比较适合,因为C语言相对G语言逻辑性强,结构性要强。下面我就说说这次学习CVI的心得感受。 首先,老师帮我纠正了之前我对虚拟仪器的理解。虚拟仪器是在通用计算机上加上一组软件和/或硬件,使用者在操作这台计算机时,就像是在操作一台他自己设计的专用电子仪器。虚拟仪器是一种软件定义的系统,它基于用户需求的软件定义了一般测量硬件的功能。这就应证了前面师兄跟我说的那句话,光有软件也是不行的,还得有硬件配合,任何软件都有一定的局限性,因为它们都是基于操作系统平台的,而硬件是不需要任何平台的,它自身就可以成为一个平台。 后来,我知道了如何用CVI去设计一台虚拟仪器,了解了设计虚拟仪器的步骤。和Labview设计虚拟仪器的步骤很像,用CVI设计虚拟仪器首先也是先设计软面板,在CVI中是“.uir”文件,然后是编写程序代码,最后是编译调试运行。后来,我们比较系统性地学习了CVI测试数据的显示、分析、存储和传输方面的

labview复习重点总结

Labview复习题 一、填空 1. 所有的LabVIEW 应用程序,即虚拟仪器(VI),它包括前面板、流程图以及图标/连结器三部分。 2. LabView有三种操作模板,分别是控件模板、函数模板和工具模板。 3. CIN节点需要调用*.lsb格式文件,这种文件可以通过Visual C++来生成。 4. 虚拟仪器设计中连线为虚线时表示数据类型不匹配出错,当RUN按钮显示为折断的箭头时,表示程序有错误发生。 5.在LabView中局部变量主要用于程序内部传递数据,全局变量主要用于程序之间传递数据。 6. 程序框图由端口、节点和连线组成的可执行代码。 7、数组是相同类型的数据元素的集合,数据元素的类型可以是任意的,可以创建数值数组、布尔数组、字符数组和簇数组。 8、数据采集系统由被测参数→传感器→信号调理→数据采集卡→计算机组成。 9、Labview支持文本文件,二进制文件,数据记录文件,波形文件,测试数据文件等格式的文件输入和输出。 10、数据采集卡性能指标有输入通道数,输出通道数,采集位数,采集速度等。 11、循环边框上的数据出口为一个小方块,称为移位寄存器,具有存贮数据功能,对FOR 循环而言第一次循环时布尔型数据出口值为false。 12、虚拟仪器在使用数据采集卡之前必须运行专用软件MAX进行配置,如设置通道名,输入输出类型,测量类型等。 13、LabVIEW概念是一种用图标代替文本行创建应用程序的图形化编程语言。 14、传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序。它用图标表示函数,用连线表示数据流向。 15、LabVIEW程序为称为VI,扩展名默认为.vi。 16、程序框图是图形化源代码的集合,这种图形化的编程语言也称为G语言。

用labview设计一个计算器(虚拟仪器)

科目: 姓名:学号: 院系:类别:(学术、专业)

实验一Labview 计算器 一、实验目的 通过利用labview设计一个简易计算器熟练的掌握labview基本功能和基本操作方法。 二、实验要求 利用设计的计算器可以进行简单的四则运算、可以进行平方、开根号和倒数运算、计算器可以进行清零和关闭计算器操作、在输入数据时不慎将某个数字输错可以运用BackSpace清除该值等一些基本简单的运算。 三、实验原理和框图 1、前面板设计 前面板是LabVIEW的图形用户界面,在LabVIEW环境中可以对这些对象的外观和属性进行设计,LabVIEW提供了非常丰富的界面对象,可以方便地设计出生动、直观、操作方便的用户界面。本系统中前面板显示程序的输入和输出对象,即,控件和显示器。本程序中控件主要是按钮,显示器主要是文本显示。 在前面板设计过程中先在前面板整齐排列放置22个确定按钮,将这22按钮的标签隐藏,然后修改这22个确定按钮的名字分别为:0~9十个数字、小数点、正负号、加、减、乘、除、等号、倒数、根号、清零、退格和X的Y次方。 前面板还包括一个文本显示控件用于显示计算的结果和计算器的某些提示,通过改变显示控件的大小使之于计算器的大小相适应。计算器的前面板还有程序框图中while循环的停止按钮,当按钮按下时计算器停止工作退出到LabVIEW的编辑界面。 为了前面板的美观和防止按钮的移动,分别将前面板的各个按钮和文字进行组合和对前面板进行装饰,装饰采用修饰中的平面框。如下图所示:

2.后面板设计 程序框图对象包括接线端和节点,将各个对象连线连接便创建了程序框图,接线端的颜色和符号表明了相应输入控件或显示控件的数据类型。程序框图是程序的核心,程序要实现的功能都是通过程序框图反应出来的。本课程设计的程序框图主要运用了while循环、时间结构、条件结构和平铺顺序等结构。

labview学习感受

学习labview有快半年了,做个总结。回顾一下自己的摸索过程。 幸运的是有个项目用到Labview,因此边学边用,由于有前一项目的经验作参考,可以说是在模仿中学习。从学习到使用给我最大感受是labview编程容易上手,帮助文档方便,就是太贵了,比较少企业会使用,特别是小企业。虽然这样,还是很推崇学习labview的。废话少说,转入正题。 其实总结自己的摸索过程也等于是在做项目总结。首先从使用的模块做总结: 1、毫无疑问的串口通信; 2、与数据采集相对应的TDMS数据存储模块; 3、报表输出(word,excel,html); 4、连续的波形显示以及从TDMS里读取显示; 5、待解决的xcontrol控件; 模块分析:1、对于串口通信:主要是要设置成有数据即读取,而不能等到接收缓冲区满时再读取。2、TDMS数据存储,关键点是数据量大的时候如何压缩存储,以及利用TDMS本身的属性设置(可以参见TDMS属性设置帮助),减小存储文件的大小。否则如果数据发送速率快的话,文件大小是很可观的,压缩数据的方式有很多种,我采用的是读取采样间隔长度的数据,提取最大最小值的方式。具体如下: 1) 中间数组存储采样间隔长度的数据;2) 提取中间数组的最大最小值;3)删除中间数组的采样间隔长度;4)将删除后剩余的数组重新赋值给中间数组,给下一次使用。3、报表输出比较简单,la bview已经将要用到的程序封装成一个个VI,只需要调用这些VI,

拼凑成你需要的报表模板形式即可。这一块参考的是方慧敏写的报表输出demo程序。4、 最近开始了上下位机的联调,涉及到了数据采集与数据处理,数据保存,数据导出四者并行执行最需关注的问题,数据同步的问题。全部数据传递都用全局变量需要在数据采集不到数据的时候让全局变量 输出空数据,这种方法显得有点麻烦,而且是多处对全局变量写。有可能会发生竞争。于是翻看labview相关书籍,关于同步技术方面的,其中队列和通知都是很好的方法,采用通知技术可以很好的解决这类问题。

LabView教程2——实验教程[中文版]

实验一虚拟仪器及LabVIEW入门 实验一要求: 运行National Instruments LabVIEW 6.1,完成下列实验讲义中的所给出的练习题1-1和1-2。并完成实验报告。 1.1虚拟仪器概述 虚拟仪器(virtual instrumention)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。下面的框图反映了常见的虚拟仪器方案。 虚拟仪器的主要特点有: ?尽可能采用了通用的硬件,各种仪器的差异主要是软件。 ?可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪 器。 ?用户可以根据自己的需要定义和制造各种仪器。 虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。 虚拟仪器的起源可以追朔到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。PC机出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。对虚拟仪器和LabVIEW长期、系统、有效的研究开发使得该公司成为业界公认的权威。 普通的PC有一些不可避免的弱点。用它构建的虚拟仪器或计算机测试系统性能不可能太高。目前作为计算机化仪器的一个重要发展方向是制定了VXI标准,这是一种插卡式的仪器。每一种仪器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。这些卡插入标准的VXI 机箱,再与计算机相连,就组成了一个测试系统。VXI仪器价格昂贵,目前又推出了一种较为便宜的PXI标准仪器。 虚拟仪器研究的另一个问题是各种标准仪器的互连及与计算机的连接。目前使用较多的是IEEE 488或GPIB协议。未来的仪器也应当是网络化的。

LABVIEW重点总结

显示对象(Indicator)、控制对象(Control)和数值常数对象:显示对象和控制对象都是前面板上的控件,前者有输入端子而无输出端子,后者正好相反,它们分别相当于普通编程语言中的输出参数和输入参数。数值常数对象可以看成是控制对象的一个特例。 在前面板中创建新的控制对象或显示对象时,LabVIEW 都会在流程图中创建对应的端子。端子的符号反映该对象的数据类型。例如,DBL 符号表示对象数据类型是双精度数;TF 符号表示布尔数;I16 符号表示16位整型数;ABC符号表示对象数据类型是字符串。 一个对象应当是显示对象还是控制对象必须弄清楚,否则无法正确连线。有时他们的图标是相似或相同的,可以根据需要明确规定它是显示对象还是控制对象。方法是将鼠标移到图标上,然后点右键,可出现快速菜单。如果菜单中有Chang to Control,说明这是一个显示对象,可以根据需要,将其变为控制对象。如果菜单中有Chang to Indicator ,说明这是一个控制对象,也可以根据需要,将其变为显示对象。 在默认情况下,对于每个连接到For循环的数组都会执行自动索引功能。 在默认情况下,对于每个连接到While循环的数组都不会执行自动索引功能。 可以禁止/启用这个功能的执行,方法是用鼠标右键单击通道(数组进/出循环的位置),在快捷菜单中选择Disable/Enable Indexing。 ?While循环: ?计数从0开始(i=0)。 ?先执行循环体,而后i+1,如果循环只执行一次,那么循环输出值i=0。 循环至少要运行一次。 移位寄存器在流程图上用在循环边框上相应的一对端子来表示。右边的端子中存储了一个周期完成后的数据,这些数据在这个周期完成之后将被转移到左边的端子,赋给下一个周期。移位寄存器可以转移各种类型的数据--数值、布尔数、数组、字符串等等。它会自动适应与它连接的第一个对象的数据类型。 For循环用于将某段程序执行指定次数。 For循环具有下面这两个端子: N: 计数端子(输入端子)—用于指定循环执行的次数。 i: 周期端子(输出端子)—含有循环已经执行的次数。i≠N Case结构含有两个或者更多的程序分支,执行哪一个取决于与选择端子或者选择对象的外部

LabVIEW虚拟仪器实验报告

1.实验目的: 熟悉LabVIEW软件的基本编程环境。 2.实验内容: 创建一个VI程序,并将此程序保存为子VI。此VI要实现的功能是:当输入发动转速时,经过一定运算过程,输出发动机温度和汽车速度值。 3.实验步骤 (1)启动LabVIEW,创建一个VI。 (2)在前面板中放置一个温度计控件,并修改控件标签名为发动机温度和设置最大值为100。该控件从“控件—经典—经典数值”子选项板中获得。 (3)按同样的方法在前面板中放置一个仪表控件,并修改仪表控件的标签名为汽车速度,标尺刻度范围为0~150。 (4)按同样的方法在前面板中放置一个数值输入控件,并修改控件标签名为发动机转速。 (5)从“窗口”下拉菜单中选择“显示程序窗口”切换到程序框图窗口。 (6)在程序窗口中创建乘法函数,该函数中函数选项板中的“函数—编程—数值”子选项板中选择,并和发动机转速输入控件连线,为乘法函数创建一个常量,修改为图中所示值。 (7)按同样的方法创建加法函数、平方根函数和除法函数,并按图中所示修改常量值和连好线。 (8)切换至前面板,在发动机转速控件中输入数值,点击运行按钮,运行VI程序。 (9)修改图标为T/V以表示该子VI输出量为发动机温度和汽车速度,并保存为vi.vi。 前面板: 程序框图:

1.实验目的: 熟悉子VI的调用。 2.实验内容: 创建一个VI程序,并在编写程序过程中调用实验一中创建的子VI。此VI要实现的功能是:通过旋钮控件来控件输入的发动机转速值,中间调用实验一中创建的子VI作为计算过程,从子VI输出的值分别输出至不同的数值显示发动机的温度以及当前汽车速度,同时判断当汽车速度超过100时,系统将产生蜂鸣声,报警提示。 3.实验步骤: (1)启动LabVIEW,创建一个VI。 (2)在前面板中创建一个旋钮控件,修改标签名为发动机转速,设置数值范围为0~5000,从旋钮控件中调出一个数字显示控件来同步显示旋钮控件当前值。 (3)在前面板创建两个数值显示控件,并修改标签名为汽车速度和发动机温度。 (4)切换至程序框图窗口。 (5)在程序框图中创建一个大于或等于函数。 (6)在程序框图中调用实验一的子函数,从函数选板中的“函数—选择VI”选在实验一创建的子vi.vi。 (7)在程序框图中创建一个蜂鸣器函数,并按图示连线情况连线。 (8)切换至前面板,在发动机转速中输入数值,点击运行按钮运行。 前面板: 程序框图:

虚拟仪器实验报告

实验一: 1.实验目的: 熟悉LabVIEW软件的基本编程环境。 2.实验内容: 创建一个VI程序,并将此程序保存为子VI。此VI要实现的功能是:当输入发动转速时,经过一定运算过程,输出发动机温度和汽车速度值。 3.实验步骤 (1)启动LabVIEW,创建一个VI。 (2)在前面板中放置一个温度计控件,并修改控件标签名为发动机温度和设置最大值为100。该控件从“控件—经典—经典数值”子选项板中获得。 (3)按同样的方法在前面板中放置一个仪表控件,并修改仪表控件的标签名为汽车速度,标尺刻度范围为0~150。 (4)按同样的方法在前面板中放置一个数值输入控件,并修改控件标签名为发动机转速。 (5)从“窗口”下拉菜单中选择“显示程序窗口”切换到程序框图窗口。 (6)在程序窗口中创建乘法函数,该函数中函数选项板中的“函数—编程—数值”子选项板中选择,并和发动机转速输入控件连线,为乘法函数创建一个常量,修改为图中所示值。 (7)按同样的方法创建加法函数、平方根函数和除法函数,并按图中所示修改常量值和连好线。 (8)切换至前面板,在发动机转速控件中输入数值,点击运行按钮,运行VI程序。(9)修改图标为T/V以表示该子VI输出量为发动机温度和汽车速度,并保存为vi.vi。 前面板: 程序框图:

实验二: 1.实验目的: 熟悉子VI的调用。 2.实验内容: 创建一个VI程序,并在编写程序过程中调用实验一中创建的子VI。此VI要实现的功能是:通过旋钮控件来控件输入的发动机转速值,中间调用实验一中创建的子VI作为计算过程,从子VI输出的值分别输出至不同的数值显示发动机的温度以及当前汽车速度,同时判断当汽车速度超过100时,系统将产生蜂鸣声,报警提示。 3.实验步骤: (1)启动LabVIEW,创建一个VI。 (2)在前面板中创建一个旋钮控件,修改标签名为发动机转速,设置数值范围为0~5000,从旋钮控件中调出一个数字显示控件来同步显示旋钮控件当前值。 (3)在前面板创建两个数值显示控件,并修改标签名为汽车速度和发动机温度。(4)切换至程序框图窗口。 (5)在程序框图中创建一个大于或等于函数。 (6)在程序框图中调用实验一的子函数,从函数选板中的“函数—选择VI”选在实验一创建的子vi.vi。 (7)在程序框图中创建一个蜂鸣器函数,并按图示连线情况连线。 (8)切换至前面板,在发动机转速中输入数值,点击运行按钮运行。 前面板:

LabVIEW实验感想

LabVIEW实验学习感想 labVIEW的学习除了老师在课堂上和我们讲的内容之外,我们还在实验室里亲自用LabVIEW软件区实现一些老师所安排的编程任务。其中我们需要做虚拟万用表,虚拟示波器,信号分析与处理,动态称重的设计这四个实验,在做这些实验的过程中,我们更加进一步的了解到了LabVIEW的各种特性和功能,让我们对这门课程有了更加深刻的理解。 这门课的实验,总的来说并不是很难,LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言,在实验过程中,我们主要的难点就是在找各个图标的位置。这是建立在你对这门课,这个软件有一定的了解的基础上的,了解了这个软件的基础内容后,我们便可以在前面板和后面板进行一定内容的操作。 总的来说,LabVIEW这个软件的操作性很好,让初学者比较容易入手,不需要记忆太多的算法和语句,只需要了解各个图标的具体作用,并能够在操作中更多的了解一些使用软件时的注意事项,我们就可以操作这个软件了。而在实验中我经常遇到的问题无非就是找不到图标,还有图标的一些属性的设置,不过在看书和多次尝试后,也能够做出正确的选择和答案。通过这一学期的学习,我主要了解到对LabVIEW软件及虚拟仪器的理解以下几方面的内容: 1、一开始老师通过关于此课程的基础概念讲解是我了解了使用labview开发平台编制的程序成为虚拟仪器程序,简称为VI。VI包括三部门:程序前面板、框图程序和图标/连接器。每一个程序前面板都对应这一段框图程序。框图程序用labview图形编程语言编写,可以把它理解成传统程序的源代码。框图程序由端口、节点、图框和连线构成。其中端口被用来同程序前面的控制和显示传递数据,节点被用来实现函数和功能调用,框图被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。 2、通过上机对一些程序的制作和运行,我知道了labview具有多个图形化的操作模版,用于创建和运行程序。这些操作模版可以随意在屏幕上移动,并可以放置在屏幕的任意位置。操纵模版工有三类,分别为工具模版、控制模版和功能模版。工具模版为编程者提供各种用于创建、修改和调试VI程序的工具。该模版是用于前面板中的。如果该模版没有出现,则可以在Windows菜单先选择show tools palette命令一现实该模版。用控制模版可以给前面板添加输入控制和

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虚拟仪器程序设计从入门到精通

人民邮电出版社 1局部变量:1.层叠式顺序结构中,对于不同帧之间传递数据利用数据局部变量;2当一个控件既作为输入控件,又作为输出控件的时候利用局部变量;3在不同循环体之间的数据传递。 2全局变量:在不同的VI之间传递数据,但是对于内存资源的占用很大; 3共享变量:在不同的计算机或者网络之间共享。 4顺序结构强制破坏了LabView从左到右的数据流编程习惯,在平铺式结构中可以做到从右到左。顺序结构破坏了LabView的优点之一:并行运行机制,因此一般不太提倡。 5那么程序中需要利用顺序执行程序的时候我们一般认为控制数据依存关系,此时,是通过数据的到达而不是数据的值来触发新结构对象的执行,数据的接收对象不一定需要该数据的值。 事件结构 事件结构是一个非常强大的功能,为事件驱动,可用于编写等待事件发生的高效代码,代替循环检测事件是否发生的低效代码。对比条件结构和事件结构,在条件结构中,系统采用轮询的方式来检测“单击”按钮是否发生,但是在事件结构的技术过程中,只有单击按钮被按下以后触发,才执行一次循环。 因此,事件结构在执行前面板UI接口事件具有很强大的优越性。 事件结构的建议: ●避免在循环外使用事件结构; ●在“值”改变事件分支中读取触发布尔控件的接线端; ●条件结构用于处理触发布尔操作的撤销操作; ●不要使用不同的事件数据将一个分支配置为处理多个过滤事件; ●避免一个事件分支中同时使用对话框和“鼠标按下?”过滤事件; ●避免在一个循环中放置两个事件结构。 利用公式节点可以有效简化数值中的公式的繁琐结构。 禁用结构一般用于系统调试,避免程序在编辑中不停的删除、复制和修改中产生不必要的错误。

Labview总结

Labview总结之“小试身手” ●什么是LabVIEW?LabVIEW的主要优势是什么?LabVIEW被应用在了哪些领域? 1LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言。LabVIEW程序被称为VI,即虚拟仪器。 LabVIEW的核心概念就是“软件即是仪器”,即虚拟仪器的概念。 LabVIEW还包含了大量的工具与函数用于数据采集、分析、显示与存储等。 2LabVIEW在测试、测量和自动化等领域具有最大的优势,因为LabVIEW提供了大量的工具与函数用于数据采集、分析、显示和存储。用户可以在数分钟内完成一套完整的从仪器连接、数据采集到分析、显示和存储的自动化测试测量系统。 3它被广泛地应用于汽车、通信、航空、半导体、电子设计生产、过程控制和生物医学等各个领域。 ●请说出Chart、Waveform Graph、XY Graph之间的主要区别。 1Chart可以将新测得的数据添加到曲线的尾端,从而反映实时数据的变化趋势,它主要用来显示实时曲线。对于标量数据,Chart图表直接将数据添加在曲线的尾端。对于一维数组数据,它会一次性把一维数组的数据添加在曲线末端,即曲线每次向前推进的点数为数组数据的点数。若要显示多条标量曲线,只需要用簇的Bundle函数将它们绑定在一起作为输入即可。对于二维数组,缺省情况下是每一列的数据当作一条一维数组曲线。 2Graph和Chart的区别在于Graph是一次性将现有数据绘图,在绘图之前先自动清空图表,而不会将新数据添加到曲线的尾端。 3Waveform Graph可以有多种数据输入类型:一维数组,二维数组,簇,簇数组,波形数据。 4当我们需要画的曲线是由(x, y)坐标决定的时候,我们就需要采用XY Graph。其实Waveform Graph在一定意义上也是XY Graph,但是它的X轴必须是等间距的,而且不可控制。 ●文本文件和二进制文件的主要区别是什么? 1文本文件将字符串以ASCII编码格式存储在文件中,譬如txt文件和Excel文件。这种文件类型最常见,可以在各种操作系统下由多种应用程序打开,譬如记事本,Word,Excel 等第三方软件,因此这种文件类型的通用性最强。但是相对于其它类型文件,它消耗的硬盘空间相对较大,读写速度也较慢,也不能随意的在指定位置写入或读出数据。如果需要将数据存储为文本文件必须先将数据转换为字符串才能存储。 2二进制文件这是最有效率的一种文件存储格式,它占用的硬盘空间最少而且读写速度最快。它将二进制数据,譬如32位整数以确定的空间存储4个字节来存储,因此不会损失精度,而且可以随意的在文件指定位置读写数据。二进制文件的数据输入可以是任何数据类型,譬如数组和簇等复杂数据,但是在读出时必须给定参考。 ●LabVIEW在数学分析与信号处理方面具有哪些优势? 1LabVIEW作为自动化测试、测量领域的专业软件,其内部集成了600多个分析函数,用于信号生成、频率分析、概率、统计、数学运算、曲线拟合、插值、数字信号处理等等各种数据分析应用。此外,LabVIEW还提供了附加工具软件专业应用于某些信号处理应用中,如声音与振动、机器视觉、RF/通信测量、瞬态/短时持续信号分析等等。 2LabVIEW作为自动化测试、测量领域的专业软件,其内部集成了600多个分析函数,用于信号生成、频率分析、概率、统计、数学运算、曲线拟合、插值、数字信号处理等等各种数据分析应用。此外,LabVIEW还提供了附加工具软件专业应用于某些信号处理应用中,如声音与振动、机器视觉、RF/通信测量、瞬态/短时持续信号分析等等。

labview虚拟仪器课程设计

虚拟仪器 ----基于labview的简单设计专业:测控技术与仪器 2010年 6 月 引言

LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。由于学习时间尚短,自身能力有限,还未充分掌握虚拟仪器的设计方法,故借鉴于已成设计,仔细研习的同时,进一步熟悉labview的编程技巧。 一、硬件部分设计 本文中所用到的MSP-060101是一款16bit、500ksps的单通道USB数据采集卡。它具有接口简单、量程可选(±1V与±10V)、速度快、精度高、驱动函数接口简单等优点,非常适合用来快速实现虚拟示波器和频谱分析功能。 MSP-060101硬件连接非常简单,将采集卡插入PC的USB接口,按说明安装好驱动程序,就可以进行数据采集了,不需要外接电源和其他繁琐的设备。MSP-060101前端接信号的端口只有两个,分别接到差分输入信号的正端和负端即可,简单明了,一目了然。 二、底层函数 连接好硬件,接下来了解该卡驱动函数的使用。该卡驱动函数只有两个,封装于M SP-16bitDAQCard.dll中,用户可通过调用DLL的方式来执行函数。函数定义如下:int SetSampleRate (int SampleRate, int DeviceNumber) int GetVoltage (float *DataArray, int ArraySize, float mult, float Offset, int DeviceNumber) SetSampleRate 函数用来设置采集卡的采样率。其参数为SampleRate(采样率,1K-500K范围内任意设置)和DeviceNumber(设备序号,同时支持10块采集卡)。 GetVoltage 函数用来采集电压数据。其参数为DataArray(缓存数组)、ArraySi ze(缓存长度)、mult(增益系数)、Offset(偏移量)和DeviceNumber(设备序号)。 这两个函数都有返回值,如果函数执行成功,则返回1,否则返回0。 在LabVIEW中,是通过Call Library Function Node来调用DLL函数的。为了便于使用,我们将调用DLL的代码做成子VI函数,子VI主要有两个,即采集数据.VI 和频率设置.VI。其内部程序框图如下:

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

基本操作 1.创建调用子程序 我们通过例子来说明如何创建一个VI。 练习1-1: 建立一个测量温度和容积的VI,其中须调用一个仿真测量温度和容积的传感器子VI。步骤如下: 1.选择File?New,打开一个新的前面板窗口。 2.从Controls?Numeric中选择Tank放到前面板中。 3.在标签文本框中输入“容积”,然后在前面板中的其他任何位置单击一下。 4.把容器显示对象的显示围设置为0.0到1000.0。 a. 使用文本编辑工具(Text Edit Tool),双击容器坐 标的10.0 标度,使它高亮显示。 b.在坐标中输入 1000,再在前面板中的其他任何地方单 击一下。这时0.0到1000.0之间的增量将被自动显示。 5.在容器旁配数据显示。 将鼠标移到容器上,点右键,在出现的快速菜单中选Visible Iterms?Digital Display即可。 6.从Controls?Numeric中选择一个温度计,将它放到前 面板中。设置其标签为“温度”,显示围为0到100,同时配数字 显示。可得到如下的前面板图。 图1-3练习1-1的前面板图 7.Windows?Show Diagram打开流程图窗口。从功能 模板中选择对象,将它们放到流程图上组成下图(其中的标注是 后加的)。 乘法函数 进程监视器随机数发 生器 数值常数

图1-4练习1-1的流程图 该流程图中新增的对象有两个乘法器、两个数值常数、一个随机数发生器、一个进程监视器,温度和容积对象是由前棉板的设置自动带出来的。 a.乘法器和随机数发生器由Functions?Numeric中拖出,尽管数值常数也可以这 样得到,但是建议使用c 中的方法更好些。 b.进程监视器(Process Monitor)不是一个函数,而是以子VI的方式提供的,它 存放在LabVIEW\Activity目录中,调用它的方法是在Functions?Select a VI 下打开Process Monitor,然后在流程图上点击一下,就可以出现它的图标。 注意:LabVIEW目录一般在Program Files\National Instruments\目录下。 8.用连线工具将各对象按规定连接。a中的遗留问题创建数值常数对象的另一种方法是在连线时一起完成。具体方法是:用连线工具在某个功能函 数或VI的连线端子上单击鼠标右键,再从弹出的菜单中选择Create Constant,就 可以创建一个具有正确的数据格式的数值常数对象。 9.选择File?Save, 把该VI 保存为 LabVIEW\Activity 目录中的 Temp & Vol.vi。 在前面板中,单击Run(运行)按钮,运行该 VI。注意电 压和温度的数值都显示在前面板中。 10.选择File?Close,关闭该 VI 。 练习1-1结束 附注与说明: 1.如果要查看某个功能函数或者 VI 的输入输出,需要从 Help菜单中选择Show Help,再把光标置于这个功能函数或者 VI 上。例如进程监视器 VI 的 Help 窗口显示如下: 2.显示对象(Indicator)、控制对象(Control)和数值常数对象 显示对象和控制对象都是前面板上的控件,前者有输入端子而无输出端子,后者正好相反,它们分别相当于普通编程语言中的输出参数和输入参数。数值常数对象可以看成是控制对象的一个特例。 在前面板中创建新的控制对象或显示对象时, LabVIEW 都会在流程图中创建对应的端子。端子的 符号反映该对象的数据类型。例如,DBL符号表示 对象数据类型是双精度数;TF符号表示布尔数;I16 符号表示16位整型数;ABC符号表示对象数据类型 是字符串。 一个对象应当是显 示对象还是控制对象必 须弄清楚,否则无确连

labview入门教程(初学者必看)

Labview入门教程 亚为电子科技 说明: 1、不同labview版本,内容大同小异,不要过于核对图标 2、必须先安装labview,亚为的资料,版本不低于2014,如果是串口通信,还要安装NIVISA520。 3、直接打开亚为用户资料的“labview例程/****例程”,看到的是前面板,也就是交互界面。界面可以自行修改,注意右键->数据操作->保存默认参数。 4、波形图上右键,可以导出或者另存数据。高速采集模式下,yav 例程不自动保存,需要手动导出。高速模式下,不要采集时间过长,否则系统崩溃,会内存溢出甚至蓝屏死机。 5、如果需要修改算法逻辑,按下Ctrl+E即可打开程序框图界面。里面的数学符号,仔细研究下,就应该能认识。看懂加减乘除即可。 6、这个文档认真看十遍,你就是Labview编程高手啦,亚为科技不负责labview编程指导哦。高手都是自学的。

第一讲:认识Labview 1.1 Labview 简介 在开始菜单里找Labview点击打开,会出现如下界面: 从File>>New VI 或者从右半部分中的New>>Blank VI 都可以打开如下界面: 上图中前图是虚拟仪器的前面板,是用户使用的人机界面,后面的是程序框图界面(即后面板)。 在LabVIEW的用户界面上,应特别注意它提供的操作模板,包括工具(Tools)模板、控制(Controls)模板和函数(Functions)模板。这些模板集中反映了该软件的功能与特征。下面我们来大致浏览一下。 工具模板(Tools Palette)

该模板提供了各种用于创建、修改和调试VI程序的工具。 如果该模板没有出现,则可以在Windows菜单下选择Show Tools Palette命令以显示该模板。当从模板内选择了任一种工具后, 鼠标箭头就会变成该工具相应的形状。当从Windows菜单下选择 了Show Help Window功能后,把工具模板内选定的任一种工具 光标放在流程图程序的子程序(Sub VI)或图标上,就会显示相 应的帮助信息。 图标名称功能 1Operate Value (操作值) 用于操作前面板的控制和显示。使用它向数字 或字符串控制中键入值时,工具会变成标签工 具 2Position/Size /Select (选 择) 用于选择、移动或改变对象的大小。当它用于 改变对象的连框大小时,会变成相应形状。 3Edit Text(编 辑文本) 用于输入标签文本或者创建自由标签。当创建 自由标签时它会变成相应形状。 4Connect Wire (连线) 用于在流程图程序上连接对象。如果联机帮助 的窗口被打开时,把该工具放在任一条连线上, 就会显示相应的数据类型。 5Object Shortcut Menu (对象菜单) 用鼠标左键可以弹出对象的弹出式菜单。 6Scroll Windows(窗口 漫游) 使用该工具就可以不需要使用滚动条而在窗口 中漫游。 7Set/Clear Breakpoint(断 点设置/清除) 使用该工具在VI的流程图对象上设置断点。 8Probe Data(数 据探针) 可在框图程序内的数据流线上设置探针。通过 控针窗口来观察该数据流线上的数据变化状 况。 9Get Color(颜 色提取) 使用该工具来提取颜色用于编辑其他的对象。 10Set Color(颜 色设置) 用来给对象定义颜色。它也显示出对象的前景 色和背景色。 下面的两个模板是多层的,其中每一个子模板下还包括多个对象。

LabVIEW初级入门教程

概述 本次介绍使用LabVIEW来进行仪器控制的各种方法。要求学生学会串行I/O、GPIB I/O 和VISA I/O的使用方法,同时也可以验证LabVIEW本身提供的仪器驱动程序。本次的实验设备要求一块已安装的GPIB卡,一台GPIB仪器以及LabVIEW开发系统。 串行通讯 串行通讯是一种常用的数据传输方法,它用于计算机与外设,例如一台可编程仪器,或者与另外一台计算机之间的通讯。串行通讯中发送方通过一条通讯线,一次一个字节,把数据传送到接收方。 由于 大多数电脑都有一至两个串行通讯接口,因此,串行通讯非常流行。许多GPIB仪器也都有串行接口。然而,串行通讯的缺陷是一个串行接口只能与一个设备进行通讯。一些外设需要用特定字符来结束传送给它们的数据串。常用的结束字符是回车符、换行符或者分号。具体可以查阅设备使用手册以决定是否需要一个结束符。在LabVIEW功能模板的Instrument I/O>Serial程序库中包含进行串行通讯操作的一些功能模块:1. Serial Port Init VI模块用于初始化所选择的串行口。Flow control设置握手方式的参数。Buffer size设置程序分配的输入/输出缓冲区的大小。Port number决定通讯接口地址。Baud rate, data bits,stop bits和parity等设置通讯参数。2.Serial port write VI模块把String to write中的数据写到port number指定的串行接口中。3.Serial port read VI模块从Port number 指定的串行接口中读取requested byte count指定的字符个数。4.Bytes at serial port VI模块计算由Port number指定的串行接口的输入缓冲区中存放的字节个数,并将该数值存放于Byte count中。在下面的实例中,实现从一台串行仪器中读取测量值。首先,用Serial Port Init模块初始化串行接口,然后,用Serial Port Write模块把命令参数发送给仪器,接着用Bytes at Serial Port模块查明在串行输入缓冲区中已经读入的字节个数,最后用Serial Port Read模块读取仪器数据。

LabVIEW虚拟仪器程序设计及应用

《LabVIEW虚拟仪器程序设计及应用》learning with labview 8.5 吴成东人民邮电 16k 第1章 LabVIEW概述 1.1 LabVIEW的起源与发展 LabVIEW的全称为Laboratory Virtual Instrument Engineering Workbench(实验室虚拟仪器集成环境),是由美国国家仪器公司(National Instruments,NI)创立的一种功能强大而又灵活的仪器和分析软件应用开发工具。它是一种基于图形化的、用图标来代替文本行创建应用程序的计算机编程语言。在以PC为基础的测量和工控软件中,LabVIEW的市场普及率仅次于 C++/C语言。LabVIEW已经广泛地被工业界、学术界和研究实验室所接受,被公认为是标准的数据采集和仪器控制软件。 LabVIEW使用的编程语言通常称为G语言。G语言与传统文本编程语言的主要区别在于:传统文本编程语言是根据语句和指令的先后顺序执行,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序。G语言用图标表示函数,用连线表示数据流向。 1.2.1 LabVIEW的优势选择LabVIEW进行开发测试和测量应用程序的一个决定性因素是它的开发速度。LabVIEW的优势主要体现在以下几个方面:(1)提供了丰富的图形控件,采用了图形化的编程方法,把工程师从复杂枯涩的文件编程工作中解放出来;(2)采用数据流模型,实现了自动的多线程,从而能充分利用处理器(尤其是多处理器)的处理能力;(3)内建有编译器,能在用户编写程序的同时自动完成编译,因此如果用户在编写程序的过程中有语法错误,就能立即在显示器上显示出来;(4)通过DLL、CIN节点、ActiveX、.NET或MATLAB脚本节点等技术,能够轻松实现LabVIEW与其他编程语言的混合编程;(5)内建了600多个分析函数用于数据分析和信号处理;(6)通过应用程序生成器可以轻松地发布可执行程序、动态链接库或安装包;(7)提供了大量的驱动和专用工具,几乎能够与任何接口的硬件轻松连接;(8)NI同时提供了丰富的附加模块,用于扩展LabVIEW在不同领域的应用,如实时模块、PDA模块、数据记录与监控(DSC)模块、机器视觉模块与触摸屏模块。 第2章 LabVIEW程序对象的基本操作 第3章 LabVIEW的数据类型LabVIEW作为一种通用的编程语言,与其他文本编程语言一样,它的数据操作是最基本的操作。LabVIEW是用“数据流”的运行方式来控制VI程序。 数据流是LabVIEW的生命,运行程序就是将所有输入端口上的数据通过一系列节点送到目的端口。LabVIEW主要的数据类型包括标量类型(单元素),如数值型、字符型和布尔型;还包括了结构类型(包括一个以上的元素),如数组和群集。LabVIEW数据控件模板将各种类似的数据类型集中在一个子模板上以便于使用。 数据类型主要有数值量、逻辑量、字符串、文件路径等几类。相同的数据类型可能有不同的表现形式,所以一个数据类型子模板有相当多的项目,如一个数值类型可以显示为一个简单的数字、一个条图、一个滑块、一个模拟计量器或者显示在一个图表中。LabVIEW作为一个完整的编程语言,基本可以支持所有的数据类型。还拥有特殊的一些数据类型。 数值型数值型是LabVIEW的一种基本的数据类型,可以分为浮点型、整型数和复数型3种基本形式 布尔型的值为1或者0,即真(True)或者假(False),通常情况下布尔型即为逻辑型。 LabVIEW提供了功能丰富的数组函数供用户在编程时调用。LabVIEW中的数组是数值型、布尔型、字符串型等多种数据类型中的同类数据集合。 3.3 数组型数据 LabVIEW提供了功能丰富的数组函数供用户在编程时调用。LabVIEW中的数组是数值型、布尔型、字符串型等多种数据类型中的同类数据集合。 数组由元素和维度组成。数组中的每一个元素都有其唯一的索引数值,对每个数组成员的访问都是通过索引数值来进行的。索引值从0开始,一直到n?1。n是数组成员的个数。 3.4 簇型数据 与数组类似,簇也是LabVIEW中一种集合型的数据结构,它对应于C语言等文本编程语言中的结构体变量。 3.5 字符串型数据字符串与路径字符串是LabVIEW中一种基本的数据类型。路径也是一种特殊的字符串,专门用于对文件路径的处理。字符串型与路径子选板中共有三种对象供用户选择:字符串输入/显示、组合框和文件路径输入/显示。 第4章 LabVIEW的循环与结构 本章主要介绍了LabVIEW的2循环(For循环、While循环)和3结构(条件结构、顺序结构、事件结构)。For循环和While循环主要用于重复执行位于循环内部的程序。条件结构和顺序结构主要用于控件数据流。事件结构主要用于对来自于用户界面、外部I/O或其他方式事件的异步通知。 本章还介绍了在程序框图中如何设置局部变量和全局变量、属性节点,如何直接使用公式节点、MathScript节点、MATLAB节点。通过这些循环与结构、节点的使用,在很多情况下可以大大简化程序框图。

相关文档