1、第9章 虚拟仪器技术 本章重点本章重点1 1虚拟仪器基本知识虚拟仪器基本知识2 2图形化软件编程平台图形化软件编程平台LabVIEWLabVIEW介绍介绍3 3LabVIEWLabVIEW模板(工具模板、控制模板、功能模板)模板(工具模板、控制模板、功能模板)4 4LabVIEWLabVIEW的数据类型的数据类型5 5LabVIEWLabVIEW的程序结构的程序结构6 6LabVIEWLabVIEW的显示功能的显示功能7 7LabVIEWLabVIEW编程入门编程入门本章难点本章难点LabVIEWLabVIEW的程序结构控制和显示功能。的程序结构控制和显示功能。9.1 9.1 虚拟仪器的基本知
2、识虚拟仪器的基本知识 9.1.1 9.1.1 虚拟仪器的一般概念虚拟仪器的一般概念所谓虚拟仪器所谓虚拟仪器(Virtual Instrument(Virtual Instrument,简称,简称VI)VI),是是在计算机硬件平台上,配以在计算机硬件平台上,配以在计算机硬件平台上,配以在计算机硬件平台上,配以I/OI/OI/OI/O接口设备,由用接口设备,由用接口设备,由用接口设备,由用户自行设计虚拟控制面板和测试功能的一种计算户自行设计虚拟控制面板和测试功能的一种计算户自行设计虚拟控制面板和测试功能的一种计算户自行设计虚拟控制面板和测试功能的一种计算机仪器系统。机仪器系统。机仪器系统。机仪器系
3、统。虚拟仪器是利用计算机显示器的显示功能模拟传虚拟仪器是利用计算机显示器的显示功能模拟传统仪器的控制面板,以多种形式表达输出检测结统仪器的控制面板,以多种形式表达输出检测结果,利用计算机强大的软件功能实现信号数据的果,利用计算机强大的软件功能实现信号数据的运算、分析、处理,由运算、分析、处理,由I/OI/O接口设备完成信号的采接口设备完成信号的采集、测量与调理,从而完成各种测试功能的一种集、测量与调理,从而完成各种测试功能的一种计算机仪器系统。计算机仪器系统。2020多年前,美国国家仪器公司多年前,美国国家仪器公司NINI(NationalNationalInstrumentsInstrume
4、nts)提出了虚拟仪器()提出了虚拟仪器(VIVI)概念,由此)概念,由此引发了传统仪器领域的一场重大变革,使得计算机引发了传统仪器领域的一场重大变革,使得计算机和网络技术得以长驱直入仪器领域,和仪器技术结和网络技术得以长驱直入仪器领域,和仪器技术结合起来,从而开创了合起来,从而开创了“软件即是仪器软件即是仪器”的先河。虚的先河。虚拟仪器通过软件将计算机硬件资源与仪器硬件有机拟仪器通过软件将计算机硬件资源与仪器硬件有机的融合为一体,从而把计算机强大的计算处理能力的融合为一体,从而把计算机强大的计算处理能力和仪器硬件的测量,控制能力结合在一起,大大缩和仪器硬件的测量,控制能力结合在一起,大大缩小
5、了仪器硬件的成本和体积,并通过软件实现对数小了仪器硬件的成本和体积,并通过软件实现对数据的显示、存储以及分析处理。从发展史看,电子据的显示、存储以及分析处理。从发展史看,电子测量仪器经历了由模拟仪器、智能仪器到虚拟仪器,测量仪器经历了由模拟仪器、智能仪器到虚拟仪器,虚拟仪器具有传统独立仪器无法比拟的优势,但它并不否定传统仪器的作用,它们相互交叉又相互补充,相得益彰。在高速度、高带宽和专业测试领域,独立仪器具有无可替代的优势。在中低档测试领域,虚拟仪器可取代一部分独立仪器的工作,但完成复杂环境下的自动化测试是虚拟仪器的拿手好戏,是传统的独立仪器难以胜任的。9.1.2 9.1.2 虚拟仪器的组成虚
6、拟仪器的组成虚拟仪器由硬件和软件组成虚拟仪器由硬件和软件组成构成虚拟仪器的硬件平台包括两部分:构成虚拟仪器的硬件平台包括两部分:构成虚拟仪器的硬件平台包括两部分:构成虚拟仪器的硬件平台包括两部分:1 1计算机:计算机:一般为一台一般为一台PCPC机或者工作站,它是硬机或者工作站,它是硬件平台的核心。件平台的核心。2 2I/OI/O接口设备:接口设备:主要完成被测输入信号的采集、主要完成被测输入信号的采集、放大、模放大、模/数转换。可根据实际情况采用不同的数转换。可根据实际情况采用不同的I/OI/O接口硬件设备,如数据采集卡接口硬件设备,如数据采集卡/板板(DAQ)(DAQ)、GPIBGPIB总
7、线仪器、总线仪器、VXIVXI总线仪器模块、串口仪器等。总线仪器模块、串口仪器等。虚拟仪器的构成方式主要有五种类型,如图虚拟仪器的构成方式主要有五种类型,如图9.19.1所所示。示。图9.1 虚拟仪器组成 虚虚拟拟仪仪器器是是利利用用计计算算机机显显示示器器的的显显示示功功能能模模拟拟传传统统仪仪器器的的控控制制面面板板,以以多多种种形形式式表表达达输输出出检检测测结结果果,利利用用计计算算机机强强大大的的软软件件功功能能实实现现信信号号数数据据的的运运算算、分分析析、处处理理,由由I/OI/O接接口口设设备备完完成成信信号号的的采采集集、测测量量与与调调理理,从从而而完完成各种测试功能的一种
8、计算机仪器系统。成各种测试功能的一种计算机仪器系统。虚拟仪器硬件由可由以下部分构成:虚拟仪器硬件由可由以下部分构成:虚拟仪器硬件由可由以下部分构成:虚拟仪器硬件由可由以下部分构成:(1 1)PCDAQPCDAQ系统:是以数据采集板、信号调理电路系统:是以数据采集板、信号调理电路和计算机为仪器硬件平台组成的插卡式虚拟仪器系统。和计算机为仪器硬件平台组成的插卡式虚拟仪器系统。采用采用PCIPCI或或ISAISA计算机本身的总线,故将数采卡计算机本身的总线,故将数采卡/板板 (DAQ)(DAQ)插入计算机的空槽中即可。插入计算机的空槽中即可。(2 2)GPIBGPIB系统:以系统:以GPIBGPIB
9、标准总线仪器与计算机为仪器标准总线仪器与计算机为仪器硬件平台组成的虚拟仪器测试系统。硬件平台组成的虚拟仪器测试系统。(3 3)VXIVXI系统:以系统:以VXIVXI标准总线仪器模块与计算机为仪标准总线仪器模块与计算机为仪器硬件平台组成的虚拟仪器测试系统。器硬件平台组成的虚拟仪器测试系统。(4 4)PXIPXI系统:以系统:以PXIPXI标准总线仪器模块与计算机为仪标准总线仪器模块与计算机为仪器硬件平台组成的虚拟仪器测试系统。器硬件平台组成的虚拟仪器测试系统。(5 5)串口系统:以)串口系统:以SerialSerial标准总线仪器与计算机为仪标准总线仪器与计算机为仪器硬件平台组成的虚拟仪器测试
10、系统。器硬件平台组成的虚拟仪器测试系统。虚拟仪器软件由两大部分构成。虚拟仪器软件由两大部分构成。虚拟仪器软件由两大部分构成。虚拟仪器软件由两大部分构成。1 1应用程序应用程序:它包含两个方面的程序:它包含两个方面的程序:(1 1)实现虚拟面板功能的前面板软件程序。)实现虚拟面板功能的前面板软件程序。(2 2)定义测试功能的流程图软件程序。)定义测试功能的流程图软件程序。2 2I/OI/O接口仪器驱动程序接口仪器驱动程序:这类程序用来完成特定这类程序用来完成特定外部硬件设备的扩展、驱动与通信。外部硬件设备的扩展、驱动与通信。开发虚拟仪器,必须有合适的软件工具。目前已有开发虚拟仪器,必须有合适的软
11、件工具。目前已有多种虚拟仪器的软件开发工具。多种虚拟仪器的软件开发工具。(1 1)文本式编程语言:如)文本式编程语言:如C C、Visual CVisual C、Visual BasicVisual Basic、LabwindowsLabwindows/CVI/CVI等。等。(2 2)图形化编程语言:如)图形化编程语言:如LabVIEWLabVIEW、HPVEEHPVEE等。等。这些软件开发工具为用户设计虚拟仪器应用软件提这些软件开发工具为用户设计虚拟仪器应用软件提供了最大限度的方便条件与良好的开发环境。本书供了最大限度的方便条件与良好的开发环境。本书要介绍的是要介绍的是LabVIEWLabV
12、IEW图形化编程语言。图形化编程语言。波形测量的三种方式:模拟、数字、虚拟波形测量的三种方式:模拟、数字、虚拟波形测量的三种方式:模拟、数字、虚拟波形测量的三种方式:模拟、数字、虚拟模拟方式模拟方式模拟方式模拟方式扫描电路+模拟信号 同步阴极射线示波管(CRT)实时信号处理;上限频率较高;实时信号处理;上限频率较高;测量精度低;操作复杂测量精度低;操作复杂数字方式数字方式数字方式数字方式扫描电路=数字时间点D/A模拟阶梯波 阴极射线示波管(CRT)或液晶显示屏非实时处理;信号可存储;测量精度高;非实时处理;信号可存储;测量精度高;数字显示;操作简单数字显示;操作简单模拟信号 A/D数字信号 D
13、/A模拟梯形波虚拟仪器方式虚拟仪器方式虚拟仪器方式虚拟仪器方式扫描电路=数字时间点计算机屏幕,LabVIEW程序,虚拟控制面板非实时处理;信号可存储;测量精度高;可进行复非实时处理;信号可存储;测量精度高;可进行复杂运算和处理;虚拟控制面板数字显示;操作简单杂运算和处理;虚拟控制面板数字显示;操作简单模拟信号A/D数字信号LabVIEW、采集接口9.1.3 9.1.3 虚拟仪器的特点虚拟仪器的特点虚拟仪器与传统仪器有着很大差别,传统仪器主虚拟仪器与传统仪器有着很大差别,传统仪器主要由硬件组成,需要操作者操作面板上的开关旋要由硬件组成,需要操作者操作面板上的开关旋钮完成测量工作。其测试功能是由具
14、体的电子电钮完成测量工作。其测试功能是由具体的电子电路来实现的。而在虚拟仪器中,其测试功能主要路来实现的。而在虚拟仪器中,其测试功能主要有软件完成,其操作面板变成了与实物控件对应有软件完成,其操作面板变成了与实物控件对应的图标。所以,虚拟仪器具有以下特点:的图标。所以,虚拟仪器具有以下特点:1 1虚拟仪器的面板是虚拟的虚拟仪器的面板是虚拟的虚拟仪器面板上的各种虚拟仪器面板上的各种“控件控件”与传统仪器面板与传统仪器面板上的各种上的各种“器件器件”所完成的功能是相同的,它的所完成的功能是相同的,它的外形是与实物相像的外形是与实物相像的“图标图标”。对虚拟仪器的操。对虚拟仪器的操作只需用鼠标点击相
15、应图标即可,设计虚拟面板作只需用鼠标点击相应图标即可,设计虚拟面板的过程就是在前面板窗口中选取、摆放所需的图的过程就是在前面板窗口中选取、摆放所需的图形控件的过程。所以,虚拟仪器具有良好的人机形控件的过程。所以,虚拟仪器具有良好的人机交互界面,使用交互界面,使用LabVIEWLabVIEW图形化编程语言,可在短图形化编程语言,可在短时间内轻松完成一个美观而又实用的时间内轻松完成一个美观而又实用的“虚拟仪器虚拟仪器前面板前面板”的设计,使整个设计过程变得轻松而有的设计,使整个设计过程变得轻松而有趣趣。2 2虚拟仪器测量功能是由软件编程实现的虚拟仪器测量功能是由软件编程实现的 在以在以PCPC计算
16、机为核心组成的硬件平台支持下,计算机为核心组成的硬件平台支持下,通过软件编程设计来实现仪器的测试功能,而且通过软件编程设计来实现仪器的测试功能,而且可以通过不同测试功能的软件模块的组合来实现可以通过不同测试功能的软件模块的组合来实现多种测试功能,因此,虚拟仪器具有很强的扩展多种测试功能,因此,虚拟仪器具有很强的扩展功能和数据处理能力。功能和数据处理能力。3 3开发研制周期短,技术更新速度快。开发研制周期短,技术更新速度快。传统仪器传统仪器的技术更新周期大约是的技术更新周期大约是5 5至至1010年,而虚拟仪器的更年,而虚拟仪器的更新周期是新周期是1 1至至2 2年。年。4 4软件、硬件具有开放
17、性、模块化、可重复使用软件、硬件具有开放性、模块化、可重复使用的特点。的特点。5 5通过使用标准接口总线和网卡,极易实现测量通过使用标准接口总线和网卡,极易实现测量自动化、智能化和网络化自动化、智能化和网络化 9.1.4 9.1.4 虚拟仪器的应用领域虚拟仪器的应用领域1.1.应用于电子工程、机算机工程、机械工程、应用于电子工程、机算机工程、机械工程、生物工程、物理系、化学工程等工程领域中的生物工程、物理系、化学工程等工程领域中的测试测量和自动化应用。测试测量和自动化应用。2.2.应用于实验室科学研究应用于实验室科学研究3.3.可以非常灵活地为教学中的原理设计实验并可以非常灵活地为教学中的原理
18、设计实验并进行直观的演示。进行直观的演示。期刊网检索情况统计 “虚拟仪器”1979-1988 1989-1993 1994-1998 1999-2003 2004-2007 0 0 篇篇 312312篇篇 25292529篇篇 43684368篇篇 0 0 篇篇 理工类理工类农业类农业类经济管理类经济管理类文史类文史类教育与社会类教育与社会类医学类医学类政治军事法律政治军事法律电子技术与信息科学电子技术与信息科学 4815 2654 194 165 10968 10 3 学科学科 篇数篇数 2001-20072001-2007;关键词:;关键词:LabVIEWLabVIEW 或或 虚拟仪器虚拟
19、仪器 9.2.1 9.2.1 LabVIEWLabVIEW简介简介 LabVIEWLabVIEWLabVIEWLabVIEW(Laboratory Virtual Instrument (Laboratory Virtual Instrument (Laboratory Virtual Instrument (Laboratory Virtual Instrument Engineering WorkbenchEngineering WorkbenchEngineering WorkbenchEngineering Workbench,实验室虚拟仪器工程平台,实验室虚拟仪器工程平台,实验室虚拟
20、仪器工程平台,实验室虚拟仪器工程平台)是美国国家仪器公司是美国国家仪器公司是美国国家仪器公司是美国国家仪器公司(National Instrument Company(National Instrument Company(National Instrument Company(National Instrument Company,NINININI公司公司公司公司)开发的一种基于开发的一种基于开发的一种基于开发的一种基于G G G G语言语言语言语言(Graphics Language(Graphics Language(Graphics Language(Graphics Language
21、图形化编程语言,图形化编程语言,图形化编程语言,图形化编程语言)的虚拟仪器软件开发工具。的虚拟仪器软件开发工具。的虚拟仪器软件开发工具。的虚拟仪器软件开发工具。LabVIEWLabVIEW是一种用图标代码来代替编程语言创建应用程是一种用图标代码来代替编程语言创建应用程序的开发工具。它以数据流编程的方法描述程序的执序的开发工具。它以数据流编程的方法描述程序的执行。行。LabVIEWLabVIEW用图形语言(图标和连线)代替文本的形用图形语言(图标和连线)代替文本的形式编写程序,它所具有的扩展函数库包括数据采集、式编写程序,它所具有的扩展函数库包括数据采集、GPIBGPIB和串口仪器控制、数据显
22、示、分析与存储等内容。和串口仪器控制、数据显示、分析与存储等内容。为了便于程序的开发调试,为了便于程序的开发调试,LabVIEWLabVIEW还带有传统的开发还带有传统的开发调试工具,可设置断点、单步执行,也可以激活程序调试工具,可设置断点、单步执行,也可以激活程序的执行过程,以动画的形式查看数据流的运行情况。的执行过程,以动画的形式查看数据流的运行情况。9.2 9.2 图形化软件编程平台图形化软件编程平台LabVIEWLabVIEWLabVIEWLabVIEW具有如下特点:具有如下特点:(1 1)图形化的编程方式,设计者无需写任何文本)图形化的编程方式,设计者无需写任何文本格式的代码,是真正
23、的工程师的语言。格式的代码,是真正的工程师的语言。(2 2)提供了丰富的数据采集、分析及存储的库函)提供了丰富的数据采集、分析及存储的库函数。数。(3 3)既提供了传统的程序调试手段,如设置断点、)既提供了传统的程序调试手段,如设置断点、单步运行,同时提供有独到的高亮执行工具,使单步运行,同时提供有独到的高亮执行工具,使程序动画式运行,利于设计者观察程序运行的细程序动画式运行,利于设计者观察程序运行的细节,使程序的调试和开发更为便捷。节,使程序的调试和开发更为便捷。(4 4)提供大量与外部代码或软件进行连接的机制,)提供大量与外部代码或软件进行连接的机制,诸如诸如DLLs(DLLs(动态连接库
24、动态连接库)、DDE(DDE(共享库共享库)、ActiveXActiveX等。等。(5 5)强大的)强大的InternetInternet功能,支持常用网络协议,功能,支持常用网络协议,方便网络、远程测控仪器的开发。方便网络、远程测控仪器的开发。9.2.2 9.2.2 LabVIEWLabVIEW编程环境编程环境以以LabVIEWLabVIEW 7 Express 7 Express为例,介绍为例,介绍LabVIEWLabVIEW系统安系统安装、基本组成、编程环境。装、基本组成、编程环境。1 1LabVIEWLabVIEW系统安装系统安装将将LabVIEWLabVIEW 7 Express 7
25、 Express光盘插入光盘插入CDCD驱动器后,只需驱动器后,只需运行安装光盘中的运行安装光盘中的SetupSetup程序,按照屏幕提示,选程序,按照屏幕提示,选择必要的安装选项即可完成。为了控制择必要的安装选项即可完成。为了控制DAQDAQ、VXIVXI、GPIBGPIB等硬件设备,在等硬件设备,在LabVIEWLabVIEW系统安装完成后,还系统安装完成后,还必须安装必须安装NINI公司提供的仪器驱动程序。公司提供的仪器驱动程序。2 2LabVIEWLabVIEW启动启动双击双击LabVIEWLabVIEW快捷方式图标即可启动快捷方式图标即可启动LabVIEWLabVIEW。启。启动后的
26、界面如图动后的界面如图9.29.2所示。界面右侧有所示。界面右侧有4 4个按钮,个按钮,每个按钮都包含按钮主体和下拉菜单。单击按钮每个按钮都包含按钮主体和下拉菜单。单击按钮主体则主体则弹出相应的对话框,单击右侧下拉按钮则弹出下弹出相应的对话框,单击右侧下拉按钮则弹出下拉菜单。拉菜单。当用户单击当用户单击New VI New VI 按钮右侧下拉按钮,并在下拉按钮右侧下拉按钮,并在下拉菜单中选择菜单中选择Blank VIBlank VI,LabVIEWLabVIEW会生成一个空会生成一个空VIVI,空空VIVI包括两个窗口,一个是前面板窗口,用于设包括两个窗口,一个是前面板窗口,用于设计和编辑前面
27、板对象,另一个是框图程序窗口,计和编辑前面板对象,另一个是框图程序窗口,用于设计和编辑框图程序。用于设计和编辑框图程序。图9.2 LabVIEW 7 Express启动界面 3 3窗口工具条窗口工具条在前面板和框图程序窗口,设有编辑对象用的工在前面板和框图程序窗口,设有编辑对象用的工具条,工具条各图标的功能如表具条,工具条各图标的功能如表9.2.19.2.1所示。所示。虚拟仪器启动运行按钮。虚拟仪器连续运行按钮。中断按钮当执行按钮变为此形状时,表明VI有错误,不能编译运行,单击该按钮,可弹出Error List对话框,提示VI中的错误。停止按钮,终止程序运行。停止按钮,终止程序运行。暂停按钮,
28、暂停程序运行。暂停按钮,暂停程序运行。指指示示灯灯按按钮钮,点点击击该该按按钮钮后后,在在流流程程图图编编辑窗口中可以看到数据流的流动动画。辑窗口中可以看到数据流的流动动画。单单步步(入入)按按钮钮,按按节节点点顺顺序序单单步步执执行行程程序序,每单击一次,程序执行一步。每单击一次,程序执行一步。单步(跳)按钮,单击此按钮,按节点顺序单步执行程序(不进入循环、SubVI内部)。单步(出)按钮,单击此按钮,退出单步执行,进入暂停状态。对齐列表框单击此按钮,可选择图标的对齐方式。分布列表框,单击此按钮,可选择图标的分布方。重新排序列表框,为选定对象重新设定在窗口中的前后顺序。文字编辑框,用于虚拟仪
29、器文字编辑框,用于虚拟仪器设计过程中涉及到的文字的编辑,如选择文字的设计过程中涉及到的文字的编辑,如选择文字的大小、颜色、字体等。大小、颜色、字体等。4窗口主菜单 主菜单栏共有七个子菜单如图9.3所示。图9.3 窗口主菜单 9.2.3 9.2.3 基本基本VIVI简介简介 图图9.49.4、9.59.5是一个正弦信号产生器是一个正弦信号产生器VIVI的前面板和的前面板和框图程序,前面板有一个波形显示控件,在框图框图程序,前面板有一个波形显示控件,在框图程序中,有与之对应的图标端口和模拟信号产生程序中,有与之对应的图标端口和模拟信号产生VIVI。图9.4 正弦信号产生器前面板 图9.5 正弦信号
30、产生器框图程序VIVI程序由:程序由:前面板(前面板(front panelfront panel)、框图程序)、框图程序(block diagramblock diagram)、图标)、图标/连接端口连接端口(icon/connectoricon/connector)3 3部分组成。部分组成。1.1.前面板前面板前面板是用于设置输入数值和观察输出结果的图形前面板是用于设置输入数值和观察输出结果的图形化用户界面,前面板中的输入量被称为控制化用户界面,前面板中的输入量被称为控制(controlscontrols),用来设置和修改用来设置和修改VIVI的输入量。的输入量。输出量被称为指示(输出量被
31、称为指示(indicatorsindicators),用来指示),用来指示VIVI程程序输出的数据。控制和指示包括各种旋钮、按钮、序输出的数据。控制和指示包括各种旋钮、按钮、开关、表头、图标和图形等。为使前面板便于操作开关、表头、图标和图形等。为使前面板便于操作和美观,还有一类控件称为和美观,还有一类控件称为装饰(装饰(decorationdecoration),其作用是对前面板图标进行),其作用是对前面板图标进行编辑和修饰。编辑和修饰。2 2框图程序框图程序框图程序由节点(框图程序由节点(nodenode)、端口()、端口(terminalterminal)和数据)和数据连线(连线(wire
32、wire)组成。)组成。(1 1)节点是程序的执行元素,相当于文本语言中的)节点是程序的执行元素,相当于文本语言中的语句、函数或子程序。语句、函数或子程序。LabVIEWLabVIEW有有4 4种节点类型:种节点类型:功能函数(功能函数(functionsfunctions)结构控制(结构控制(strcturesstrctures)、)、代码端口(代码端口(CINCIN)子子VIVI节点。节点。功能函数是执行各种数学运算、文件输入输出等功能函数是执行各种数学运算、文件输入输出等基本操作的节点,是基本操作的节点,是LabVIEWLabVIEW编译好的机器代码,编译好的机器代码,以图标的形式出现,
33、供用户使用。节点代码不能以图标的形式出现,供用户使用。节点代码不能修改。修改。结构控制节点被用来实现结构化程序控制命令,结构控制节点被用来实现结构化程序控制命令,如循环控制、条件分支控制和顺序控制等。如循环控制、条件分支控制和顺序控制等。代码端口节点是框图程序与用户提供的代码端口节点是框图程序与用户提供的C C语言文本语言文本程序的接口。程序的接口。子子VIVI节点是为编程方便而专门设计的一段子程序,节点是为编程方便而专门设计的一段子程序,将其封装成功能函数节点的形式供用户调用。与将其封装成功能函数节点的形式供用户调用。与功能函是节点的区别是用户可以修改其节点代码。功能函是节点的区别是用户可以
34、修改其节点代码。(2 2)端口是数据在框图程序和前面板之间、节点)端口是数据在框图程序和前面板之间、节点和节点之间传输而经过的端口。和节点之间传输而经过的端口。端口有端口有2 2种类型:种类型:控制和指示端口:用于前面板对象和框图程序交控制和指示端口:用于前面板对象和框图程序交换数据。换数据。节点端口:每个节点都有一个或数个数据端口,节点端口:每个节点都有一个或数个数据端口,用以输入和输出数据。用以输入和输出数据。(3)数据连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。在LabVIEW中用不同的线形和颜色区分不同的数据类型,表9.2.2列出不同数据类型的线形和颜色。表表9.2.2
35、9.2.2 9.3 9.3 LabVIEWLabVIEW模板模板 9.3.1工具模板(Tools Palette)工具模板提供了用于创建、编辑和修改前面板和流程图上对象的各种工具。如果想选用某操作工具,只需用鼠标点击该工具图标即可。工具模板的调用方法:执行“WindowsShow Tools Palette”操作。工具模板如图9.6所示。各图标对应的功能如表9.2.3所示。序序号号图标图标名称名称功功 能能1 1 操作工具操作工具(Operate(Operate Value)Value)它是一个操作数值的工具。它是一个操作数值的工具。将操将操作工具移动到某处,鼠标点击后,作工具移动到某处,鼠标
36、点击后,就可在操作工具所在位置处键入数就可在操作工具所在位置处键入数字。字。2 2选择工具选择工具(Position/Si(Position/Size/Select)ze/Select)用于选择、移动对象或改变对象的用于选择、移动对象或改变对象的大小。大小。3 3文字工具文字工具(Edit Text)(Edit Text)用于输入标签文本或者创建自由标用于输入标签文本或者创建自由标签。签。4 4连线工具连线工具(Connect(Connect Wire)Wire)用于在流程图中连接对象。使用方用于在流程图中连接对象。使用方法是:点击需连线的两端。这两端法是:点击需连线的两端。这两端必须是前节点
37、的输出端和后节点的必须是前节点的输出端和后节点的输入端。输入端。序序号号图标图标名称名称功能功能5 5模板或菜单弹出模板或菜单弹出工具工具(Object(Object Shortcut Menu)Shortcut Menu)用鼠标左键点击,可在前面板设计窗口出用鼠标左键点击,可在前面板设计窗口出现控制模板或者在流程图编辑窗口出现功现控制模板或者在流程图编辑窗口出现功能模板。也可弹出对象的下拉菜单。能模板。也可弹出对象的下拉菜单。6 6窗口平移工具窗口平移工具(Scroll Window)(Scroll Window)用于在窗口中移动对象,可代替滚动条。用于在窗口中移动对象,可代替滚动条。7 7
38、断点工具断点工具(Set/Clear(Set/Clear Breakpoint)Breakpoint)用鼠标左击该工具,将它放置在流程图中用鼠标左击该工具,将它放置在流程图中相应位置,即可设置程序运行断点。相应位置,即可设置程序运行断点。8 8探针工具探针工具(Probe Data)(Probe Data)可以在流程图的数据流线上设置探针。通可以在流程图的数据流线上设置探针。通过探针窗口来观察该数据流线上的数据变过探针窗口来观察该数据流线上的数据变化状况。化状况。9 9提取颜色工具提取颜色工具(Get Color)(Get Color)用来获取窗口中已染色对象的颜色。用来获取窗口中已染色对象的
39、颜色。1010设置颜色工具设置颜色工具(Set Color)(Set Color)用来给窗口中的对象设置颜色。用来给窗口中的对象设置颜色。9.3.29.3.29.3.29.3.2控制模板控制模板(Controls PaletteControls Palette)控制模板是控制模板是LabVIEWLabVIEW为用户设计虚拟面板而提供的,为用户设计虚拟面板而提供的,因此它只会在前面板编辑窗口中出现。因此它只会在前面板编辑窗口中出现。控制模板的调用方法:控制模板的调用方法:(1)(1)执行执行“WindowsShow Controls Palette”WindowsShow Controls Pa
40、lette”操作。操作。(2)(2)使用使用Object Shortcut MenuObject Shortcut Menu工具,左击前面板设工具,左击前面板设计窗口中的空白位置。计窗口中的空白位置。(3)(3)用鼠标右键点击窗口的任一空白区域,。用鼠标右键点击窗口的任一空白区域,。控制模板如图控制模板如图9.79.7所示。所示。各图标对应的功能如表各图标对应的功能如表9.2.49.2.4所示。所示。图9.7 控制模板9.3.39.3.3功能模板功能模板(Functions Palette)(Functions Palette)LabVIEWLabVIEW将传统仪器上的各种测试功能做成可供直将
41、传统仪器上的各种测试功能做成可供直接调用的库函数。并将各个库函数做成图标的形接调用的库函数。并将各个库函数做成图标的形式存放在相应功能的子模板上。由于功能模板是式存放在相应功能的子模板上。由于功能模板是LabVIEWLabVIEW为用户设计流程图而提供的,因此它只会为用户设计流程图而提供的,因此它只会在流程图编辑窗口中出现。在流程图编辑窗口中出现。功能模板的调用方法:功能模板的调用方法:(1 1)执行)执行“WindowsShow Functions”WindowsShow Functions”操作。操作。(2 2)用工具模板上的)用工具模板上的Object PopupObject Popup
42、工具,左击流工具,左击流程图编辑窗口的空白位置。程图编辑窗口的空白位置。(3 3)用鼠标右键点击窗口空白区域。)用鼠标右键点击窗口空白区域。控制模板如图控制模板如图9.89.8所示。所示。各图标对应的功能如表各图标对应的功能如表9.2.59.2.5所示。所示。图9.8 功能模板 表表9.2.5 9.2.5 LabVIEWLabVIEW功能模板的图标及功能功能模板的图标及功能提供程序控制结构命令,例如循环控制(For结构、While结构),以及全局变量和局部变量。1 结 构(Structures)子模板数 据 运 算(Numeric)子模板 布尔(Boolean)子模板 字符串运算(String
43、)子模板 数组(Array)子模板 提供各种常用的数值运算符和数值运算式,数制转换以及各种数值常数。2 34 5 提供各种逻辑运算符以及布尔常数。提供各种字符串操作函数、数值与字符串之间的转换函数以及字符(串)常数等。提供数组运算函数、数组转换函数以及常数数组等。提供簇的处理函数以及簇常数等。6 簇(Cluster)子模板 比较(Comparison)子模板 时间和对话框(Time&Dialog)子模板.文件输入/输出(File I/O)子模板。测量(NI Measure-ments)子模板。提供各种比较运算函数。7 89 10 提供对话框窗口、定时、时间和出错处理函数等。提供处理文件输入/输
44、出的程序和函数,主要用于创建和打开数据文件,并进行数据的读写。提供各种与数据采集相关的VI,需要单独安装。第第9 9章章 虚拟仪器技术虚拟仪器技术第第9 9章章 虚拟仪器技术虚拟仪器技术11波形(Waveform)子模板提供包括波形数据创建、通道信息设置、波形提取、波形存储的各种波形数据VI。12分析(Analyze)子模板提供各种信号分析和数学计算VI。13仪器I/O(Intrument I/O)子模板提供各种I/O接口设备用的控制模块和仪器驱动VI。14应用程序控制(Application Control)提供外部程序或VI调用和打印选单、帮助管理等辅助功能。15图形与声音(Graphic
45、s&Sound)子模板提供图形与声音处理功能函数。第第9 9章章 虚拟仪器技术虚拟仪器技术16通信(Communication)子模板提供支持TCP、UDP、DDE、OLE、ActiveX协议和启动外部程序的模块。17文档生成(Report Generation)子模板提供生成各种报表和文档的功能函数。18高级(Advanced)子模板提供库函数调用、代码接口节点、数据管理、内存管理和程序标志管理等高级功能。19选择VI子程序(Select a VI)子模板用于调用子VI或全局变量。20装饰(Decorations)子模板提供文字注释、箭头、线条等工具。21用户自定义的子VI模板用来存放用户自
46、行设计的VI。9.4 9.4 9.4 9.4 LabVIEWLabVIEWLabVIEWLabVIEW数据类型数据类型数据类型数据类型 LabVIEWLabVIEW的数据类型按其特征可分为数字量类型和的数据类型按其特征可分为数字量类型和非数字量类型,并用不同的图标来代表不同的数非数字量类型,并用不同的图标来代表不同的数据类型。据类型。1 1。数字量数据类型。数字量数据类型数字量数据类型可分为浮点数、整数和复数(实数字量数据类型可分为浮点数、整数和复数(实部和虚部都是浮点数)部和虚部都是浮点数)3 3种基本形式。所有数字量种基本形式。所有数字量数据类型如表数据类型如表3.2.63.2.6所示。所
47、示。表3.2.6 数字量数据类型:最小正数1.40e-45,最大正数3.40e+38,(绝对值)最小负数-1.40e-45,(绝对值)最大负数-3.40e+38。32单精度浮点型0-429496729532无符号整数-2147483648-214748364732有符号整数0-6553516无符号整数-32768-3276716有符号整数0-2558无符号整数-128-1278有符号整数数 值 范 围存储位数端口图标数 据 类 型实部和虚部分别与扩展精度浮点数相同256复数扩展精度浮点型最小正数6.48e-4966,最大正数1.19e+4932,(绝对值)最小负数-6.48e-4966,(绝对
48、值)最大负数-1.19e+4932。128扩展精度浮点型实部和虚部分别与双精度浮点数相同128复数双精度浮点型最小正数4.94e-324,最大正数1.79e+308,(绝对值)最小负数-4.94e-324,(绝对值)最大负数-1.79e+308。64双精度浮点型实部和虚部分别与单精度浮点数相同64复数单精度浮点型2 2非数字量数据类型非数字量数据类型部分非数字量数据类型如表3.2.7所示。表3.2.7 非数字量数据类型:数字波形数据波形数据数组数据簇数据类型IO通道数据路径数据字符串类型布尔量数据图 标数据类型9.5 9.5 9.5 9.5 LabVIEWLabVIEWLabVIEWLabVI
49、EW 程序结构控制程序结构控制程序结构控制程序结构控制 数据流编程:任何一个函数、子VI或其它程序节点,必须获得所有输入数据后才能运行,这些函数、子VI或其它程序节点必须完全运行完毕后,才能在输出端子上输出数据。LabVIEWLabVIEW采用结构化数据流图编程,能处理循环、采用结构化数据流图编程,能处理循环、顺序、选择、事件等程序控制的结构框架。结构顺序、选择、事件等程序控制的结构框架。结构子模板如图子模板如图9.99.9所示,下面主要介绍所示,下面主要介绍For LoopFor Loop、While LoopWhile Loop、CaseCase三种程序结构。三种程序结构。图9.9 结构子
50、模板 9.5.1 For9.5.1 For循环循环1 1创建创建ForFor循环框架循环框架功能模板:功能模板:FunctionsStructuresFunctionsStructures For Loop For Loop,基本,基本ForFor循环由循环框架、重复端口、计数端口循环由循环框架、重复端口、计数端口组成,如图组成,如图9.109.10所示。所示。图9.10 基本For循环组成2 2ForFor循环的工作流程循环的工作流程在开始在开始ForFor循环之前,从计数端口读入循环次数,重循环之前,从计数端口读入循环次数,重复端口输出复端口输出0 0值,接下来执行值,接下来执行For F