LabVIEW
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章LabVIEW简介
LabVIEW是美国国家仪器公司(National Instruments Co)开发的一种图形化的编程环境。其名称含义为实验室虚拟仪器工作平台(Lab oratory V irtual I nstrument E ngineering W orkbench)。作为一种方便的数据采集和仪器控制开发软件,它可工作于Macintoshe 、Sun SPARC工作站、HP9000/700系列工作站以及PC机等各种机型,可运行于Windows 3.1、Windows9x/2000、Windows NT、UNIX等多系统下,是一种灵活有效的仪器控制和数据分析软件系统。
LabVIEW程序使用虚拟仪器(V irtual I nstrument,缩写为VI)的概念。它是指一台计算机和连接外部的端口(计算机的COM口,LPT口或内插板)在软件控制下可完全模拟替代传统的仪器。因VI功能完全是由软件定义,故在硬件系统不变的情况下,用户可通过软件开发自行改变或扩充仪器的功能,实现自己的特殊要求,或用一套硬件系统实现多种仪器的功能,从而使虚拟仪器VI不但比传统仪器更灵活有效,而且也更经济。VI的核心就是LabVIEW程序,所以在LabVIEW中,所有程序均称之为VI程序,不管它是否通过端口和外界进行通讯。每个VI程序均可作为一个功能模块被重复使用,因而使用LabVIEW来开发和扩展程序极为方便。
LabVIEW编程语言同常规的程序语言不同,它采用更易使用和理解的图形化程序语言-G语言(Graphical programming language)。G语言使用图标代替常规的一条或一组语句来实现一个功能,通过各功能图标间的逻辑连接实现程序功能。
其编程过程不是书写一行行语句,而是连接一个个代表一定功能的图标,其程序编制过程简单,不涉及复杂功能实现的算法,易于掌握。同时,因为其编程过程基于可重复使用的功能模块,故可方便地使用由专业人员编制提供的专业级别的功能模块,开发出专业水平的程序。所以,LabVIEW在世界范围内的众多领域如航空、航天、通信、汽车、半导体、化学和生物医学等得到了广泛的应用,从简单的仪器控制、数据采集到复杂的测试和数据处理,从工厂、科研院所到大学里的实验室,到处都可以发现LabVIEW的应用。在西方国家(如美国)的许多大学已将LabVIEW作为本科的教学内容,成为工程师素质培养的一个方面。由于LabVIEW虚拟仪器的强大功能,使得使用一套硬件系统就可进行多种不同要求的研究,故而可以用更小的消耗进行更多的研究,尤其适合在我国资金较少的科研单位用于研究工作。
LabVIEW6.-中,包含许多专家编写的VI供用户使用。在数据采集方面有许多采集卡(DAQ)的支持模块,使采集程序的编制不必涉及低层控制;有各种数字、模拟信号I/O模块;有对GPIB(General Purpose Interface Bus,IEEE488标准)、VXI(VME bus eXtensions for Instrumentation ,扩展IEEE1014标准)和Serial端口的支持和控制等VI。在数据处理控制方面有各种数字信号处理和产生、频谱分析、滤波、平滑窗口、概率统计等VI。
本LabVIEW简介部分主要介绍LabVIEW语言的基础知识,包括界面、菜单、工具、模板、器件、函数等,通过这一部分的学习,读者即可使用LabVIEW编程并在实际工作中进行应用。LabVIEW进阶部分将深入探讨LabVIEW的编程环境、编程技巧以及优化策略等和更多的功能,考虑到篇幅限制,本书不与介绍,感兴趣的同学可参看下列参考书继续学习,
不断提高自己的应用水平。
参考书:
(1)Robert H.Bishop 著,乔瑞平等译。LabVIEW 6i 实用教程。电子工业出版社,2003。(2)戴敬等编著。LabVIEW 基础教程。国防工业出版社,2002。
(3)杨乐平等编著。LabVIEW程序设计与应用。电子工业出版社,2001。
第一节基础知识及入门
在这一章中,我们主要学习LabVIEW 的运行和编程的基本环境以及三个重要组成部分。LabVIEW 的基本环境包括下拉式菜单、弹出式菜单、浮动模板及其子模板、工具条和在线帮助。LabVIEW 的三个重要组成部分为前面板(front panel)、流程图(block diagram)和程序图标。一个虚拟仪器(VI)就是由这三部分工作建立起来的。
1.1基本窗口
LabVIEW有两个基本的窗口:前面板(front panel)窗口和流程图(block diagram) 窗口。前面板窗口将用户和程序联系起来,是程序运行时显示和输入的交互窗口,而流程图窗口实际上是程序员用图形语言(G语言)编写LabVIEW程序(称为VI程序)源代码的窗口,每个VI程序都对应一个前面板图和一个流程图。下面我们分别进行介绍。
1.1.1前面板
在运行VI时,首先会打开前面板,在这里给执行程序输入数据,同时,显示程序执行当中和结束后的结果。图1-1所示为一个检测系统的前面板。
图1-1 VI的前面板
前面板上可放置控制对象和显示对象,如图1-2。控制对象主要用于数值输入或对程序进行控制,如有旋钮、开关、数字数组、字符串等,相当于常规仪器中的控制按钮和调节旋钮。显示对象显示程序运行的结果,相当于常规仪器中的显示屏幕或指针。G语言中控制对象和显示对象分别相当于普通文字编程语言(如C、BASIC等)中输入和输出参数,它们在使用的时候一般是不可以相互代替的,输入只能使用控制对象,而输出只能到显示对象中。在LabVIEW中它们的外形是不一样的,如图1-2所示,使用时应注意区分。
如果想把一个控制或显示对象放到前面板上,使用鼠标在Controls模板的相应子模板上选定,然后将其拖放到前面板上或在前面板上单击鼠标左键就可以了。在前面板上的任何一个对象的大小、位置、颜色以及其它属性都可以方便地进行调整。
图1-2 前面板和流程图
1.1.2流程图
LabVIEW中流程图窗口用于编写和显示VI程序的图形源代码,它是使用图形语言——G 语言(Graph language)编写的。VI程序流程图就是其执行代码,它相当于普通编程语言中一行行的语句,它由各种能够完成一定功能的模块使用连线连在一起而构成。下面我们来学习构成流程图的主要组件:端子、节点和连线,最后介绍一下G语言中数据流的概念。
一、端子(terminals)
在前面板上放置一个控制或显示对象,LabVIEW将自动在流程图窗口生成相应的端子。一般不能随意地将对应于某个控制对象或显示对象的端子删除,只有在前面板上将控制对象或显示对象删除,相应的端子才会随之消失(可通过修改系统设置改变这种情况,见进阶部分环境的设置章节)。端子实际上就是流程图的输入或输出端口。图1-2所示为一个简单的两数相乘VI程序的前面板图和流程图。从前面板上看只有两个数值类型的控制对象和一个数值类型的显示对象。在前面板控制对象中输入的数值经其对应的端子进入流程图,再通过连线进入到乘法功能模块中,乘法模块经计算产生的数值经连线到达显示对象对应的端子,从而重新回到前面板,将计算结果显示给用户。从图1-2中我们还可以看到控制对象对应的