1、虚拟仪器软件开发平台LabVIEW 教程智能仪器课程组2002 年 3 月LabVIEW 教程2/70目录第一课 LABVIEW 概述 .4第一节 虚拟仪器(VI)的概念 .4第二节 LABVIEW 的操作模板 .6工具模板( Tools Palette) .6控制模板 (Controls Palette) .7功能模板 (Functions Palette) .8第三节 创建一个 VI 程序 .101. 前面板 .10框图程序 .11从框图程序窗口创建前面板对象 .124. 数据流编程 .12第四节 程序调试技术 .131. 找出语法错误 .132. 设置执行程序高亮 .133. 断点与单步
2、执行 .134. 探针 .14第五节 练习 1-1.14第六节 把一个 VI 程序作为子 VI 程序调用 .17第七节 练习 1-2.18第八节 练习 1-3.21第九节 练习 1-4.22第十节 练习 1-5.24第二课 数据采集 .27第一节 概述 .27第二节 数据采集 VI 程序的调用方法 .29第三节 模拟输入与输出 .30练习 2-1.31第四节 波形的采集与产生 .34练习 2-2.35第五节 扫描多个模拟输入通道 .36练习 2-3.36第六节 连续数据采集 .37练习 2-4.38第三课 仪器控制 .40第一节 概述 .40第二节 串行通讯 .40第三节 IEEE 488(G
3、PIB)概述 .41练习 3-1.43第四节 VISA 编程 .44LabVIEW 教程3/70练习 3-2.46第五节 用 LABVIEW 编写仪器驱动程序 .47第六节 验证仪器驱动软件 .48练习 3-3.49第四课 分析软件 .52第一节 概述 .52第二节、高级分析功能程序 .52第三节 信号产生 .53练习 4-1.53第四节 信号处理 .55练习 4-2.55第五节 数字滤波器 .56练习 4-3.57第六节 曲线拟合 .58练习 4-4.59练习 4-5.60第五课 实用工具软件包 .62第一节 概述 .62第二节 常用软件工具箱 .62第三节 分析工具软件 .64LabVIE
4、W 教程4/70第一课 LabVIEW 概述第一节 虚拟仪器(VI)的概念使用 LabVIEW 开发平台编制的程序称为虚拟仪器程序,简称为 VI。VI 包括三个部分:程序前面板、框图程序和图标/连接器。程序前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。在程序前面板上,输入量被称 为控制(Controls), 输 出量被称为显示(Indicators)。控制和显示是以各种图标形式出现在前面板上,如旋钮、开关、按钮、图 表、 图 形等, 这使这得前面板直观易懂。下面是一个温度计程序(Thermometer VI)的前面板。每一个程序前面板都对应着一段框图程序。框图程序用 LabVI
5、EW图形编程语言编写,可以把它理解成 传统程序的源代码。框 图 程序由端口、 节点、图框和连线构成。其中端口被用来同程序前面板的控制和显示传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框 图内的数据流动方向。上述温度计程序(Thermometer VI)的框图程序如下:LabVIEW 教程5/70图标/连接器是子 VI 被其它 VI调用的接口。图标是子 VI 在其他程序框图中被调用的节点表现形式;而连接器则表示节点数据的输入/输出口,就象函数的参数。用户必须指定连接器端口与前面板的控制和显示一一对应。下面图示为温度计程序(Th
6、ermometer VI)的图标和连接器。连 接器一般情况下隐含不显示,除非用户选择打开观察它。LabVIEW 的强大功能归因于它的层次化结构,用户可以把创建的 VI 程序当作子程序调用,以创建更复 杂的程序,而 这种调用的 层次是没有限制的。举一个例子,我们把前面创建的温度计程序(Thermometer VI)作为一个子程序用在当前新建程序里,当前程序的前面板如下图所示,先前的温度计子程序用于采集数据,而当前的程序用于显示温度曲线,并在前面板上设定测量次数和LabVIEW 教程6/70每次测量间隔的延时。当前程序的框图如下图所示,它把温度计子程序放置在一个 FOR 循环里,每次循环过程采集一
7、次测量结果,当循环执行了设定的次数后,程序把采集的数据送到前面板的图表上显示。LabVIEW这种创建和调用子程序的方法,使创建的程序结构模块化,更易于调试、理解和维护。第二节 LabVIEW 的操作模板LabVIEW 具有多个图形化的操作模板,用于创建和运行程序。这些操作模板可以随意在屏幕上移动,并可以放置在屏幕的任意位置。操纵模板共有三类, 为工具(Tools)模板、控制(Controls)模板和功能(Functions)模板。工具模板(Tools Palette)工具模板为编程者提供了各种用于创建、修改和调试 VI 程序的工具。如果该模板没有出现,则可以在 Windows 菜单下选择 Sh
8、ow Tools Palette 命令以显示该模板。当从模板内 选择 了任一种工具后,鼠标箭头就会 变成该工具相应的形状。当从Windows 菜单下选择了 Show Help Window 功能后,把工具模板内选定的任一种工具光标放在框图程序的子程序(Sub VI)或图标上,就会显示相 应的帮助信息。工具 图标 有如下几种:操作工具:使用该工具来操作前面板的控制和显示。使用它向数字或字符串控制中键入值时,工具会变LabVIEW 教程7/70成标签工具的形状。选择工具:用于选择、移动或改变对象的大小。当它用于改变对象的连框大小时,会变成相应形状。标签工具:用于输入标签文本或者创建自由标签。当创建
9、自由标签时它会变成相应形状。连线工具:用于在框图程序上连接对象。如果联机帮助的窗口被打开时,把该工具放在任一条连线上,就会显示相应的数据类型。对象弹出菜单工具:用左鼠标键可以弹出对象的弹出式菜单。漫游工具:使用该工具就可以不需要使用滚动条而在窗口中漫游。断点工具:使用该工具在 VI 的框图对象上设置断点。探针工具:可以在框图程序内的数据流线上设置探针。程序调试员可以通过控针窗口来观察该数据流线上的数据变化状况。颜色提取工具:使用该工具来提取颜色用于编辑其他的对象。颜色工具:用来给对象定义颜色。它也显示出对象的前景色和背景色。与上述工具模板不同,控制和功能模板只显示顶层子模板的图标。在这些顶层子
10、模板中包含许多不同的控制或功能子模板。通过这些控制或功能子模板可以找到创建程序所需的面板对象和框图对象。用鼠标点击顶层子模板图标就可以展开对应的控制或功能子模板,只需按下控制或功能子模板左上角的大头针就可以把对这个子模板变成浮动板留在屏幕上。控制模板(Controls Palette)用控制模板可以给前面板添加输入控制和输出显示。每个图标代表一个子模板。如果控制模板不显示,可以用 Windows 菜单的 Show Controls Palette 功能打开它,也可以在前面板的空白处,点 击鼠标右键,以弹出控制模板。注:只有当打开前面板窗口时才能调用控制模板。控制模板如左图所示,它包括如图所示的
11、几个子模板。数值子模板:包含数值的控制和显示。LabVIEW 教程8/70布尔值子模块:逻辑数值的控制和显示。字符串子模板:字符串和表格的控制和显示。列表和环(Ring)子模板:菜单环和列表栏的控制和显示。数组和群子模板:复合型数据类型的控制和显示。图形子模板:显示数据结果的趋势图和曲线图。路径和参考名(Refnum)子模板:文件路径和各种标识的控制和显示。控件容器库子模板:用于操作 OLE、ActiveX 等功能。对话框子模板:用于输入对话框的显示控制。修饰子模板:用于给前面板进行装饰的各种图形对象。用户自定义的控制和显示。调用存储在文件中的控制和显示的接口。功能模板(Functions P
12、alette)功能模板是创建框图程序的工具。该模板上的每一个顶层图标都表示一个子模板。若功能模板不出现 ,则可以用 Windows 菜单 下的 Show Functions Palette 功能打开它,也可以在框图程序窗口的空白处点击鼠标右键以弹出功能模板。注:只有打开了框图程序窗口,才能出现功能模板。LabVIEW 教程9/70功能模板如下图所示。结构子模板:包括程序控制结构命令,例如循环控制等,以及全局变量和局部变量。数值运算子模板:包括各种常用的数值运算符,如+、-等;以及各种常见的数值运算式,如 +1运算;还包括数制转换、三角函数、对数、复数等运算,以及各种数值常数。布尔逻辑子模板:包
13、括各种逻辑运算符以及布尔常数。字符串运算子模板:包含各种字符串操作函数、数值与字符串之间的转换函数,以及字符(串)常数等。数组子模板:包括数组运算函数、数组转换函数,以及常数数组等。群子模板。包括群的处理函数,以及群常数等。这里的群相当于 C语言中的结构。比较子模板:包括各种比较运算函数,如大于、小于、等于。时间和对话框子模板:包括对话框窗口、时间和出错处理函数等。文件输入/输出子模板:包括处理文件输入/输出的程序和函数。仪器控制子模板:包括 GPIB(488、488.2)、串行、VXI 仪器控制的程序和函数,以及 VISA 的操作功能函数。仪器驱动程序库:用于装入各种仪器驱动程序。数据采集子
14、模板:包括数据采集硬件的驱动程序,以及信号调理所需的各种功能模块。信号处理子模板:包括信号发生、时域及频域分析功能模块。LabVIEW 教程10/70数学模型子模块:包括统计、曲线拟合、公式框 节点等功能模块,以及数 值微分、积分等数值计算工具模块。图形与声音子模块:包括 3D、OpenGL、声音播放等功能模块。通讯子模板:包括 TCP、DDE、ActiveX 和 OLE 等功能的处理模块。应用程序控制子模块:包括动态调用 VI、标准可执行程序的功能函数。底层接口子模块:包括调用动态连接库和 CIN节点等功能的处理模块。文档生成子模板。示教课程子模板:包括 LabVIEW 示教程序。用户自定义
15、的子 VI 模板。“选择VI 子程序 ”子模板:包括一个 对话框,可以选择一个 VI 程序作为子程序(SUB VI)插入当前程序中。其它几个子模板是 LabVIEW 的附加 Toolkit 安装上去的。在 LabVIEW 完全版中不包括这些子模板。第三节 创建一个 VI 程序请记住,VI 程序具有三个要素:前面板、框 图程序和图标/连接器。我 们将在练习 1-1 中讨论图标/连接器。1. 前面板使用输入控制和输出显示来构成前面板。控制是用户输入数据到程序的接口。而显 示是输出程序产生的数据接口。控制和显示有 许多种类,可以从控制模板的各个子模板中选取。两种最常用的前面板对象是数字控制和数字显示。若想要在数字控制中输