计算机虚拟仪器图形编程
LabVIEW实验教材
北京中科泛华测控技术有限公司
目录
第一课 LabVIEW概述.................................................................................................................................... 4
第一节 虚拟仪器(VI)的概念................................................................................................................ 4
第二节 LabVIEW的操作模板....................................................................................................................... 6
工具模板(Tools Palette).......................................................................................................................... 6
控制模板(Controls Palette)......................................................................................................................... 7
功能模板(Functions Palette)....................................................................................................................... 8
第三节 创建一个VI程序.......................................................................................................................... 10
1. 前面板.......................................................................................................................................... 10
框图程序........................................................................................................................................................ 11
从框图程序窗口创建前面板对象............................................................................................................. 12
4. 数据流编程................................................................................................................................. 12
第四节 程序调试技术................................................................................................................................. 13
1. 找出语法错误............................................................................................................................. 13
2. 设置执行程序高亮.................................................................................................................... 13
3. 断点与单步执行........................................................................................................................ 13
4. 探针.............................................................................................................................................. 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(GPIB)概述.............................................................................................................. 41
练习3-1.......................................................................................................................................................... 43
第四节 VISA编程......................................................................................................................................... 44
练习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
第三节 分析工具软件................................................................................................................................. 64
第一课 LabVIEW概述
第一节 虚拟仪器(VI)的概念
使用LabVIEW开发平台编制的程序称为虚拟仪器程序,简称为VI。VI包括三个部分:程序前面板、框图程序和图标/连接器。
程序前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。在程序前面板上,输入量被称为控制(Controls),输出量被称为显示(Indicators)。控制和显示是以各种图标形式出现在前面板上,如旋钮、开关、按钮、图表、图形等,这使这得前面板直观易懂。下面是一个温度计程序(Thermometer VI)的前面板。
每一个程序前面板都对应着一段框图程序。框图程序用LabVIEW图形编程语言编写,可以把它理解成传统程序的源代码。框图程序由端口、节点、图框和连线构成。其中端口被用来同程序前面板的控制和显示传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。上述温度计程序(Thermometer VI)的框图程序如下:
图标/连接器是子VI被其它VI调用的接口。图标是子VI在其他程序框图中被调用的节点表现形式;而连接器则表示节点数据的输入/输出口,就象函数的参数。用户必须指定连接器端口与前面板的控制和显示一一对应。下面图示为温度计程序(Thermometer VI)的图标和连接器。连接器一般情况下隐含不显示,除非用户选择打开观察它。
LabVIEW的强大功能归因于它的层次化结构,用户可以把创建的VI程序当作子程序调用,以创建更复杂的程序,而这种调用的层次是没有限制的。
举一个例子,我们把前面创建的温度计程序(Thermometer VI)作为一个子程序用在当前新建程序里,当前程序的前面板如下图所示,先前的温度计子程序用于采集数据,而当前的程序用于显示温度曲线,并在前面板上设定测量次数和每次测量间隔的延时。
当前程序的框图如下图所示,它把温度计子程序放置在一个FOR循环里,每次循环过程采集一次测量结果,当循环执行了设定的次数后,程序把采集的数据送到前面板的图表上显示。
LabVIEW这种创建和调用子程序的方法,使创建的程序结构模块化,更易于调试、理解和维护。
第二节 LabVIEW的操作模板
LabVIEW具有多个图形化的操作模板,用于创建和运行程序。这些操作模板可以随意在屏幕上移动,并可以放置在屏幕的任意位置。操纵模板共有三类,为工具(Tools)模板、控制(Controls)模板和功能(Functions)模板。
工具模板(Tools Palette)
工具模板为编程者提供了各种用于创建、修改和调试VI程序的工具。如果该模板没有出现,则可以在Windows菜单下选择Show Tools Palette命令以显示该模板。当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。当从Windows菜单下选择了Show Help Window功能后,把工具模板内选定的任一种工具光标放在框图程序的子程序(Sub VI)或图标上,就会显示相应的帮助信息。工具图标有如下几种:
操作工具:使用该工具来操作前面板的控制和显示。使用它向数字或字符串控制中键入值时,工具会变成标签工具的形状。
选择工具:用于选择、移动或改变对象的大小。当它用于改变对象的连框大小时,会变成相应形状。
标签工具:用于输入标签文本或者创建自由标签。当创建自由标签时它会变成相应形状。
连线工具:用于在框图程序上连接对象。如果联机帮助的窗口被打开时,把该工具放在任一条连线上,就会显示相应的数据类型。
对象弹出菜单工具:用左鼠标键可以弹出对象的弹出式菜单。
漫游工具:使用该工具就可以不需要使用滚动条而在窗口中漫游。
断点工具:使用该工具在VI的框图对象上设置断点。
探针工具:可以在框图程序内的数据流线上设置探针。程序调试员可以通过控针窗口来观察该数据流线上的数据变化状况。
颜色提取工具:使用该工具来提取颜色用于编辑其他的对象。
颜色工具:用来给对象定义颜色。它也显示出对象的前景色和背景色。
与上述工具模板不同,控制和功能模板只显示顶层子模板的图标。在这些顶层子模板中包含许多不同的控制或功能子模板。通过这些控制或功能子模板可以找到创建程序所需的面板对象和框图对象。用鼠标点击顶层子模板图标就可以展开对应的控制或功能子模板,只需按下控制或功能子模板左上角的大头针就可以把对这个子模板变成浮动板留在屏幕上。
控制模板(Controls Palette)
用控制模板可以给前面板添加输入控制和输出显示。每个图标代表一个子模板。如果控制模板不显示,可以用Windows菜单的Show Controls Palette功能打开它,也可以在前面板的空白处,点击鼠标右键,以弹出控制模板。
注:只有当打开前面板窗口时才能调用控制模板。
控制模板如左图所示,它包括如图所示的几个子模板。
数值子模板:包含数值的控制和显示。
布尔值子模块:逻辑数值的控制和显示。
字符串子模板:字符串和表格的控制和显示。
列表和环(Ring)子模板:菜单环和列表栏的控制和显示。
数组和群子模板:复合型数据类型的控制和显示。
图形子模板:显示数据结果的趋势图和曲线图。
路径和参考名(Refnum)子模板:文件路径和各种标识的控制和显示。
控件容器库子模板:用于操作OLE、ActiveX等功能。
对话框子模板:用于输入对话框的显示控制。
修饰子模板:用于给前面板进行装饰的各种图形对象。
用户自定义的控制和显示。
调用存储在文件中的控制和显示的接口。
功能模板(Functions Palette)
功能模板是创建框图程序的工具。该模板上的每一个顶层图标都表示一个子模板。若功能模板不出现,则可以用Windows菜单下的Show Functions Palette功能打开它,也可以在框图程序窗口的空白处点击鼠标右键以弹出功能模板。
注:只有打开了框图程序窗口,才能出现功能模板。
功能模板如下图所示。
结构子模板:包括程序控制结构命令,例如循环控制等,以及全局变量和局部变量。
数值运算子模板:包括各种常用的数值运算符,如+、-等;以及各种常见的数值运算式,如+1运算;还包括数制转换、三角函数、对数、复数等运算,以及各种数值常数。
布尔逻辑子模板:包括各种逻辑运算符以及布尔常数。
字符串运算子模板:包含各种字符串操作函数、数值与字符串之间的转换函数,以及字符(串)常数等。
数组子模板:包括数组运算函数、数组转换函数,以及常数数组等。
群子模板。包括群的处理函数,以及群常数等。这里的群相当于C语言中的结构。
比较子模板:包括各种比较运算函数,如大于、小于、等于。
时间和对话框子模板:包括对话框窗口、时间和出错处理函数等。
文件输入/输出子模板:包括处理文件输入/输出的程序和函数。
仪器控制子模板:包括GPIB(488、488.2)、串行、VXI仪器控制的程序和函数,以及VISA的操作功能函数。
仪器驱动程序库:用于装入各种仪器驱动程序。
数据采集子模板:包括数据采集硬件的驱动程序,以及信号调理所需的各种功能模块。
信号处理子模板:包括信号发生、时域及频域分析功能模块。