labview试验教程!!

更新时间:2023-11-25 19:59:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目录

第一课 LABVIEW概述 ...................................................................................................................... 3 第一节 虚拟仪器(VI)的概念 ...................................................................................................... 3 第二节 LABVIEW的操作模板 ............................................................................................................ 5

工具模板(Tools Palette) ............................................................................................................. 5 控制模板(Controls Palette) ............................................................................................................. 6 功能模板(Functions Palette) ........................................................................................................... 7

第三节 创建一个VI程序 ................................................................................................................ 9 1.

前面板 ............................................................................................................................. 9

框图程序 ........................................................................................................................................ 10 从框图程序窗口创建前面板对象 ................................................................................................ 11 4. 数据流编程 ................................................................................................................... 11

第四节 程序调试技术 .................................................................................................................... 12 1. 2. 3. 4.

找出语法错误 ............................................................................................................... 12

设置执行程序高亮 ....................................................................................................... 12 断点与单步执行 ........................................................................................................... 12 探针 ............................................................................................................................... 13

第五节 练习1-1 ............................................................................................................................. 13 第六节 把一个VI程序作为子VI程序调用 ................................................................................ 16 第七节 练习1-2 ............................................................................................................................. 17 第八节 练习1-3 ............................................................................................................................. 19 第九节 练习1-4 ............................................................................................................................. 21 第十节 练习1-5 ............................................................................................................................. 23 第二课 数据采集 ................................................................................................................................ 26 第一节 概述 .................................................................................................................................... 26 第二节 数据采集VI程序的调用方法 .......................................................................................... 28 第三节 模拟输入与输出 ................................................................................................................ 29

练习2-1 ......................................................................................................................................... 30

第四节 波形的采集与产生 ............................................................................................................ 33

练习2-2 ......................................................................................................................................... 34

第五节 扫描多个模拟输入通道 ..................................................................................................... 35

练习2-3 ......................................................................................................................................... 35

第六节 连续数据采集 .................................................................................................................... 36

练习2-4 ......................................................................................................................................... 37

第三课 仪器控制 ................................................................................................................................ 39 第一节 概述 .................................................................................................................................... 39 第二节 串行通讯 ............................................................................................................................ 39 第三节 IEEE 488(GPIB)概述 ..................................................................................................... 40

练习3-1 ......................................................................................................................................... 42

第四节 VISA编程 ........................................................................................................................... 43

练习3-2 ......................................................................................................................................... 45

第五节 用LABVIEW编写仪器驱动程序 ...................................................................................... 46 第六节 验证仪器驱动软件 ............................................................................................................. 47

练习3-3 ......................................................................................................................................... 48

第四课

分析软件 ........................................................................................................................... 51

第一节 概述 .................................................................................................................................... 51 第二节、高级分析功能程序 ............................................................................................................ 51 第三节 信号产生 ............................................................................................................................ 52

练习4-1 ......................................................................................................................................... 52

第四节 信号处理 ............................................................................................................................ 54

练习4-2 ......................................................................................................................................... 54

第五节 数字滤波器 ........................................................................................................................ 55

练习4-3 ......................................................................................................................................... 56

第六节 曲线拟合 ............................................................................................................................ 57

练习4-4 ......................................................................................................................................... 58 练习4-5 ......................................................................................................................................... 59

第五课 实用工具软件包 .................................................................................................................... 61 第一节 概述 .................................................................................................................................... 61 第二节 常用软件工具箱 ................................................................................................................ 61 第三节 分析工具软件 .................................................................................................................... 63

北京中科泛华测控技术有限公司 2/66

第一课 LabVIEW概述

第一节 虚拟仪器(VI)的概念

使用LabVIEW开发平台编制的程序称为虚拟仪器程序,简称为VI。VI包括三个部分:程序前面板、框图程序和图标/连接器。

程序前面板用于设臵输入数值和观察输出量,用于模拟真实仪表的前面板。在程序前面板上,输入量被称为控制(Controls),输出量被称为显示(Indicators)。控制和显示是以各种图标形式出现在前面板上,如旋钮、开关、按钮、图表、图形等,这使这得前面板直观易懂。下面是一个温度计程序

(Thermometer VI)的前面板。

每一个程序前面板都对应着一段框图程序。框图程序用LabVIEW图形编程语言编写,可以把它理解成传统程序的源代码。框图程序由端口、节点、图框和连线构成。其中端口被用来同程序前面板的控制和显示传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。上述温度计程序(Thermometer VI)的框图程序如下:

北京中科泛华测控技术有限公司

3/66

图标/连接器是子VI被其它VI调用的接口。图标是子VI在其他程序框图中被调用的节点表现形式;而连接器则表示节点数据的输入/输出口,就象函数的参数。用户必须指定连接器端口与前面板的控制和显示一一对应。下面图示为温度计程序(Thermometer VI)的图标和连接器。连接器一般情况下隐含不显示,除非用户选择打开观察它。

LabVIEW的强大功能归因于它的层次化结构,用户可以把创建的VI程序当作子程序调用,以创建更复杂的程序,而这种调用的层次是没有限制的。

举一个例子,我们把前面创建的温度计程序(Thermometer VI)作为一个子程序用在当前新建程序里,当前程序的前面板如下图所示,先前的温度计子程序用于采集数据,而当前的程序用于显示温度曲线,并在前面板上设定测量次数和每

北京中科泛华测控技术有限公司 4/66

次测量间隔的延时。

当前程序的框图如下图所示,它把温度计子程序放臵在一个FOR循环里,每次循环过程采集一次测量结果,当循环执行了设定的次数后,程序把采集的数据送到前面板的图表上显示。

LabVIEW这种创建和调用子程序的方法,使创建的程序结构模块化,更易于调试、理解和维护。

第二节 LabVIEW的操作模板

LabVIEW具有多个图形化的操作模板,用于创建和运行程序。这些操作模板可以随意在屏幕上移动,并可以放臵在屏幕的任意位臵。操纵模板共有三类,为工具(Tools)模板、控制(Controls)模板和功能(Functions)模板。

工具模板(Tools Palette)

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

操作工具:使用该工具来操作前面板的控制和显示。使用它向数字或字符串控制中键入值时,工具会变成

北京中科泛华测控技术有限公司

5/66

标签工具的形状。

选择工具:用于选择、移动或改变对象的大小。当它用于改变对象的连框大小时,会变成相应形状。

标签工具:用于输入标签文本或者创建自由标签。当创建自由标签时它会变成相应形状。

连线工具:用于在框图程序上连接对象。如果联机帮助的窗口被打开时,把该工具放在任一条连线上,就会显示相应的数据类型。 对象弹出菜单工具:用左鼠标键可以弹出对象的弹出式菜单。

漫游工具:使用该工具就可以不需要使用滚动条而在窗口中漫游。

断点工具:使用该工具在VI的框图对象上设臵断点。

探针工具:可以在框图程序内的数据流线上设臵探针。程序调试员可以通过控针窗口来观察该数据流线上的数据变化状况。

颜色提取工具:使用该工具来提取颜色用于编辑其他的对象。

颜色工具:用来给对象定义颜色。它也显示出对象的前景色和背景色。

与上述工具模板不同,控制和功能模板只显示顶层子模板的图标。在这些顶层子模板中包含许多不同的控制或功能子模板。通过这些控制或功能子模板可以找到创建程序所需的面板对象和框图对象。用鼠标点击顶层子模板图标就可以展开对应的控制或功能子模板,只需按下控制或功能子模板左上角的大头针就可以把对这个子模板变成浮动板留在屏幕上。

控制模板(Controls Palette)

用控制模板可以给前面板添加输入控制和输出显示。每个图标代表一个子模板。如果控制模板不显示,可以用Windows菜单的Show Controls Palette功能打开它,也可以在前面板的空白处,点击鼠标右键,以弹出控制模板。

注:只有当打开前面板窗口时才能调用控制模板。

控制模板如左图所示,它包括如图所示的几个子模板。

数值子模板:包含数值的控制和显示。

北京中科泛华测控技术有限公司

6/66

布尔值子模块:逻辑数值的控制和显示。

字符串子模板:字符串和表格的控制和显示。

列表和环(Ring)子模板:菜单环和列表栏的控制和显示。

数组和群子模板:复合型数据类型的控制和显示。

图形子模板:显示数据结果的趋势图和曲线图。

路径和参考名(Refnum)子模板:文件路径和各种标识的控制和显示。

控件容器库子模板:用于操作OLE、ActiveX等功能。

对话框子模板:用于输入对话框的显示控制。

修饰子模板:用于给前面板进行装饰的各种图形对象。

用户自定义的控制和显示。

调用存储在文件中的控制和显示的接口。

功能模板(Functions Palette)

功能模板是创建框图程序的工具。该模板上的每一个顶层图标都表示一个子模板。若功能模板不出现,则可以用Windows菜单下的Show Functions Palette功能打开它,也可以在框图程序窗口的空白处点击鼠标右键以弹出功能模板。

注:只有打开了框图程序窗口,才能出现功能模板。

功能模板如下图所示。

北京中科泛华测控技术有限公司

7/66

结构子模板:包括程序控制结构命令,例如循环控制等,以及全局变量和局部变量。

数值运算子模板:包括各种常用的数值运算符,如+、-等;以及各种常见的数值运算式,如+1运算;还包括数制转换、三角函数、对数、复数等运算,以及各种数值常数。

布尔逻辑子模板:包括各种逻辑运算符以及布尔常数。

字符串运算子模板:包含各种字符串操作函数、数值与字符串之间的转换函数,以及字符

(串)常数等。

数组子模板:包括数组运算函数、数组转换函数,以及常数数组等。

群子模板。包括群的处理函数,以及群常数等。这里的群相当于C语言中的结构。

比较子模板:包括各种比较运算函数,如大于、小于、等于。

时间和对话框子模板:包括对话框窗口、时间和出错处理函数等。

文件输入/输出子模板:包括处理文件输入/输出的程序和函数。

仪器控制子模板:包括GPIB(488、488.2)、串行、VXI仪器控制的程序和函数,以及VISA的操作功能函数。

仪器驱动程序库:用于装入各种仪器驱动程序。

数据采集子模板:包括数据采集硬件的驱动程序,以及信号调理所需的各种功能模块。

信号处理子模板:包括信号发生、时域及频域分析功能模块。

数学模型子模块:包括统计、曲线拟合、公式框节点等功能模块,以及数值微分、积分等数值计算工具模块。

北京中科泛华测控技术有限公司

8/66

图形与声音子模块:包括3D、OpenGL、声音播放等功能模块。

通讯子模板:包括TCP、DDE、ActiveX和OLE等功能的处理模块。

应用程序控制子模块:包括动态调用VI、标准可执行程序的功能函数。

底层接口子模块:包括调用动态连接库和CIN节点等功能的处理模块。

文档生成子模板。

示教课程子模板:包括LabVIEW示教程序。

用户自定义的子VI模板。

“选择…VI子程序”子模板:包括一个对话框,可以选择一个VI程序作为子程序(SUB VI)插入当前程序中。

其它几个子模板是LabVIEW的附加Toolkit安装上去的。在LabVIEW完全版中不包括这些子模板。

第三节 创建一个VI程序

请记住,VI程序具有三个要素:前面板、框图程序和图标/连接器。我们将在练习1-1中讨论图标/连接器。

1. 前面板

使用输入控制和输出显示来构成前面板。控制是用户输入数据到程序的接口。而显示是输出程序产生的数据接口。控制和显示有许多种类,可以从控制模板的各个子模板中选取。

两种最常用的前面板对象是数字控制和数字显示。若想要在数字控制中输入或修改数值,你只需要用操作工具(见工具模板)点击控制部件和增减按钮,或者用操作工具或标签工具双击数值栏进行输入数值修改。

北京中科泛华测控技术有限公司 9/66

2. 框图程序

框图程序是由节点、端点、图框和连线四种元素构成的。

节点类似于文本语言程序的语句、函数或者子程序。LabVIEW有二种节点类型----函数节点和子VI节点。两者的区别在于:函数节点是LabVIEW以编译好了的机器代码供用户使用的,而子VI节点是以图形语言形式提供给用户的。用户可以访问和修改任一子VI节点的代码,但无法对函数节点进行修改。上面的框图程序所示的VI程序有两个功能函数节点,一个函数使两个数值相加,另一个函数使两数相减。

端点是只有一路输入/输出,且方向固定的节点。LabVIEW有三类端点----前面板对象端点、全局与局部变量端点和常量端点。对象端点是数据在框图程序部分和前面板之间传输的接口。一般来说,一个VI的前面板上的对象(控制或显示)都在框图中有一个对象端点与之一一对应。当在前面板创建或删除面板对象时,可以自动创建或删除相应的对象端点。控制对象对应的端点在框图中是用粗框框住的,如例子中的A和B端点。它们只能在VI程序框图中作为数据流源点。显示对象对应的端点在框图中是用细框框住的。如例子中的A+B和A-B端点。它们只能在VI程序框图中作为数据流终点。常量端点永远只能在VI程序框图中作为数据流源点。

图框是LabVIEW实现程序结构控制命令的图形表示。如循环控制、条件分支控制和顺序控制等,编程人员可以使用它们控制VI程序的执行方式。代码接口节点(CIN)是框图程序与用户提供的C语言文本程序的接口。

连线是端口间的数据通道。它们类似于普通程序中的变量。数据是单向流动的,从源端口向一个或多个目的端口流动。不同的线型代表不同的数据类型。在彩显上,每种数据类型还以不同的颜色予以强调。

下面是一些常用数据类型所对应的线型和颜色:

北京中科泛华测控技术有限公司

10/66

整 形 数兰色

浮点数 橙色

逻辑量 绿色

字符串 粉色

文件路径 青色

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

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

快速提示: 接线头是为了帮助正确连接端口的连线。当把连线工具放到端口上,接线头就会弹出。接线头还有一个黄色小标识框,显示该端口的名字。 3. 从框图程序窗口创建前面板对象

用选择和连线工具,你都可以用鼠标右键点击任一节点和端点,然后从弹出菜单中选择“创建常数”,“创建控制”,或“创建显示”等命令。LabVIEW会自动地在被创建的端点与所点击对象之间接好连线。

4. 数据流编程

控制VI程序的运行方式叫做“数据流”。对一个节点而言,只有当它的所有

输入端口上的数据都成为有效数据时,它才能被执行。当节点程序运行完毕后,它把结果数据送给所有的输出端口,使之成为有效数据。并且数据很快从源送到目的端口。

如左图所示,这个VI程序把两个输入数值相乘,再把乘积减去50.0。这个程序中,框图程序从左往右执行,这个执行次序不是由于对象的摆放位

北京中科泛华测控技术有限公司

11/66

臵,而是由于相减运算函数的一个输入量是相乘函数的运算结果,它只有当相乘运算完成并把结果送到减运算的输入口后才能继续下去。请记住,一个节点(函数)只有当它所有的输入端的数据都成为有效数据后才能被执行,而且只有当它执行完成后,它的所有输出端口上的数据才成为有效。

再看另一个程序(见右图),你认为哪一个节点函数将先执行 – 是乘法还是除法?在这个例子中,我们无法知道哪一个节点函数首先执行,因为所有输入量几乎同时到达。对于这样一种相互独立的数据流程,如果又必须明确指定节点执行的先后次序,就必须使用顺序(Sequence)结构来明确执行次序。

第四节 程序调试技术

1. 找出语法错误

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

2. 设置执行程序高亮

在LabVIEW的工具条上有一个画着灯泡的按钮,这个按钮叫做“高亮执行”按钮上。点击这个按钮使该按钮图标变成高亮形式,再点击运行按钮,VI程序就以较慢的速度运行,没有被执行的代码灰色显示,执行后的代码高亮显示,并显示数据流线上的数据值。这样,你就可以在根据数据的流动状态跟踪程序的执行。

3. 断点与单步执行

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

北京中科泛华测控技术有限公司

12/66

暂停按钮,这样程序将连续执行直到下一个断点。

4. 探针

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

第五节 练习1-1

目的:创建一个VI程序,以便以后作为子VI程序使用。

创建一个VI程序模拟温度测量。假设传感器输出电压与温度成正比。例如,当温度为70°F时,传感器输出电压为0.7V。本程序也可以用摄氏温度来代替华氏温度显示。

本程序用软件代替了DAQ数据采集卡。使用Demo Read Voltage子程序来仿真电压测量,然后把所测得的电压值转换成摄氏或华氏温度读数。

前面板:

1. 用File菜单的New选项打开一个新的前面板窗口。

2. 把温度计指示部件放入前面板窗口。

a. 在前面板窗口的空白处点击鼠标键,然后从弹出的Numeric子模板

中选择Thermometer。

b. 在高亮的文本框中输入“温度计”,再点击鼠标键按钮。

3. 重新设定温度计的标尺范围为0.0到100.0。使用标签工具A,双击温

北京中科泛华测控技术有限公司

13/66

度计标尺的10.0,输入100.0,再点击鼠标键或者工具栏中的V按钮。

4. 在前面板窗口中放入竖直开关控制。 a. 在面板窗口的空白处点击鼠标键,然后弹出的Boolean子模板中选

择Vertical Switch,在文本框中输入“温度值单位”,再点击鼠标键或者工具栏中的V按钮。

b. 使用标签工具A,在开关的“条件真”(true)位臵旁边输入自由

标签“摄氏”,再在“条件假”(false)位臵旁边输入自由标签“华氏”。

框图程序:

1. 从Windows菜单下选择Show Diagram功能打开框图程序窗口。

2. 点击框图程序窗口的空白处,弹出功能模板,从弹出的菜单中选择所需的对象。本程序用到下面的对象:

Demo Read Voltage VI程序(Tutorial子模板)。在本例中,该程序模拟从DAQ卡的0通道读取电压值。

Multiply(乘法)功能(Numeric子模板)。在本例中,将读取电压值乘以100.00,以获得华氏温度。

Subtract(减法)功能(Numeric子模板)。在本例中,从华氏温度中减去32.0,以转换成摄氏温度。

Divide(除法)功能(Numeric子模板)。在本例中,把相减的结果除以1.8以转换成摄氏温度。

Select(选择)功能(Comparison子模板)。取决于温标选择开关的值。该功能输出华氏温度(当选择开关为false)或者摄氏温度(选择开关

北京中科泛华测控技术有限公司

14/66

为True)数值。

数值常数。用连线工具,点击你希望连接一个数值常数的对象,并选择Create Constant功能。若要修改常数值,用标签工具双点数值,再写入新的数值。

字符串常量。用连线工具,点击你希望连接字符串常量的对象,再选择Create Constant功能。要输入字符串,用标签工具双击字符串,再输入新的字符串。

3. 使用移位工具(Positioning tool),把图标移至图示的位臵,再用连

线工具连接起来。

请记住,如果要显示图标接线端口,则点击图标,再

从弹出菜单中选择Show Terminals功能。也可以从

Help菜单中选择Show Help功能以打开帮助信息窗

口。

Demo Read Voltage VI子程序模拟从数据采集卡的0通道读取电压,我们的程序再将读数乘以100.0转换成华氏温度读 数,或者再把华氏温度转换成摄氏温度。

4. 选择前面板窗口,使之变成当前窗口,并运行VI程序。点击连续运行

按钮,便程序运行于连续运行模式。

5. 再点击连续运行按钮,关闭连续运行模式。

6. 创建图标Temp:

此图标可以将现程序作为子程序在其他程序中调用。创建方法如下:

a. 在面板窗口的右上角的图标框中点击鼠标,从弹出菜单中选择Edit

Icon功能。

b. 双点选择工具,并按下Delete键,消除缺省的图标图案。 c. 用画图工具画出温度计的图标。

注意,在用鼠标画线时按下键,

则可以画出水平或垂直方向的连线。

使用文本工具写入文字,双击文本工具把字体换成Small Font。

当图标创建完成后,点击OK以关闭图标编辑。生成的图标在面板窗口的右上角。

北京中科泛华测控技术有限公司

15/66

本文来源:https://www.bwwdw.com/article/pmkt.html

Top