LabView82教材.docx
- 文档编号:22878128
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:93
- 大小:2.02MB
LabView82教材.docx
《LabView82教材.docx》由会员分享,可在线阅读,更多相关《LabView82教材.docx(93页珍藏版)》请在冰豆网上搜索。
LabView82教材
第2章虚拟仪器及LabVIEW入门
1虚拟仪器概述
虚拟仪器(virtualinstrumention)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。
随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。
另一种方式是将仪器装入计算机。
以通用的计算机硬件及操作系统为依托,实现各种仪器功能。
虚拟仪器主要是指这种方式。
下面的框图反映了常见的虚拟仪器方案。
虚拟仪器的主要特点有:
⏹尽可能采用了通用的硬件,各种仪器的差异主要是软件。
⏹可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。
⏹用户可以根据自己的需要定义和制造各种仪器。
虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。
虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。
目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。
虚拟仪器的起源可以追朔到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。
PC机出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。
对虚拟仪器和LabVIEW长期、系统、有效的研究开发使得该公司成为业界公认的权威。
普通的PC有一些不可避免的弱点。
用它构建的虚拟仪器或计算机测试系统性能不可能太高。
目前作为计算机化仪器的一个重要发展方向是制定了VXI标准,这是一种插卡式的仪器。
每一种仪器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。
这些卡插入标准的VXI机箱,再与计算机相连,就组成了一个测试系统。
VXI仪器价格昂贵,目前又推出了一种较为便宜的PXI标准仪器。
虚拟仪器研究的另一个问题是各种标准仪器的互连及与计算机的连接。
目前使用较多的是IEEE488或GPIB协议。
未来的仪器也应当是网络化的。
1.1LabVIEW是什么?
LabVIEW(LaboratoryVirtualinstrumentEngineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。
它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。
这是一个功能强大且灵活的软件。
利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
图形化的程序语言,又称为“G”语言。
使用这种语言编程时,基本上不写程序代码,取而代之的是程序框图。
它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。
它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。
使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位编译器。
像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。
1.2LabVIEW的运行机制
1.2.1LabVIEW应用程序的构成
所有的LabVIEW应用程序,即虚拟仪器(VI),它包括前面板(frontpanel)、程序框图(blockdiagram)以及图标/连结器(icon/connector)三部分。
前面板
前面板是图形用户界面,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制(control)和显示对象(indicator)。
图1-1所示是一个随机信号发生和显示的简单VI是它的前面板,上面有一个显示对象,以曲线的方式显示了所产生的一系列随机数。
还有一个控制对象-----开关,可以启动和停止工作。
显然,并非简单地画两个控件就可以运行,在前面板后还有一个与之配套的程序框图。
程序框图
程序框图提供VI的图形化源程序。
在程序框图中对VI编程,以控制和操纵定义在前面板上的输入和输出功能。
程序框图中包括前面板上的控件的连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。
图1-2是与图1-1对应的程序框图。
我们可以看到程序框图中包括了前面板上的开关和随机数显示器的连线端子,还有一个随机数发生器的函数及程序的循环结构。
随机数发生器通过连线将产生的随机信号送到显示控件,为了使它持续工作下去,设置了一个WhileLoop循环,由开关控制这一循环的结束。
如果将VI与标准仪器相比较,那么前面板上的东西就是仪器面板上的东西,而程序框图上的东西相当于仪器箱内的东西。
在许多情况下,使用VI可以仿真标准仪器,不仅在屏幕上出现一个惟妙惟肖的标准仪器面板,而且其功能也与标准仪器相差无几。
图标/连接器
VI具有层次化和结构化的特征。
一个VI可以作为子程序,这里称为子VI(subVI),
被其他VI调用。
图标与连接器在这里相当于图形化的参数,详细情况稍后介绍。
1.2.2在LabVIEW8.2的环境下创建一个VI
在本节中将引导读者创建自己的第一个LabVIEW程序,即一个VI。
这个VI将产生
一个信号并显示在虚拟仪器面板上。
(1)启动LabVIEW
启动LabVIEW后出现图1-3所示的“启动”窗口。
图1-3“启动”窗口
(2)新建VI
在启动窗口中单击“新建”项,出现图1-4所示的“新建”窗口。
为了方便用户,LabVIEW提供了一些常用VI的模板,这些模板在“新建”窗口中列出。
在“新建”窗口左侧选择某一个模板,右侧的说明栏便出现选中VI模板的程序框图预览和关于这个VI模板的说明。
LabVIEW程序分为前面板和程序框图两部分。
前面板是用户接口,用于向程序中输入各种控制参数,并以数字或图形等各种形式输出测试结果。
大家可以把它想象为传统仪器的面板,面板上自然会有表头、按钮、拨盘等各种元件。
程序框图是程序的源代码,可以把它想象为传统仪器机箱里用来实现仪器功能的零部件。
图1-4“新建”窗口
现在,在“新建”窗口选中“基于模板→使用指南(入门)→生成和显示”,然后单击“确定”按钮,即出现图1-5所示的程序前面板。
图1-5“生成和显示.VI”的前面板
下面为大家介绍一下程序前面板和程序框图的组成。
(1)程序前面板组成
程序前面板最上方是标题栏,显示这个模板VI的名称。
方括号中的内容表示如果保
存这个VI,默认的名称是TutorialGenerateDisplay.vi。
标题栏下面是菜单栏,包含编写程序所需要的各种菜单命令。
菜单栏下面是工具条,光标移动到工具条某一个按钮上时会弹出这个工具的标签。
工具条上的“运行”按钮
用来让程序执行一次,单击这个按钮使程序运行,可以看到前面板的图形显示控件上出现一条正弦曲线;而“运行”按钮此刻变为
形状,同时“中止执行”按钮由暗变亮
。
单击“中止执行”按钮可以在程序运行的任何时刻使程序立即停止,但是这是一种非正常的停止方式,对于比较复杂的程序这种停止方式可能带来一些意想不到的结果;因此应该使用程序中的控制元件来让程序停止。
现在单击一下前面板上“停止”按钮让程序停下来。
(2)程序框图的组成
现在来观察一下“生成和显示.VI”的程序框图。
LabVIEW程序使用图形语言,它的程序源代码就是一些图标和连线,叫做图形代码;编辑和显示图形代码的窗口叫程序框图。
由前面板切换到程序框图的方法是选择“窗口一显示程序框图”命令或用快捷键【Ctrl+E】。
对于比较简单的程序,为了编写程序方便也可以让前面板和程序框图平铺在计算机屏幕上。
方法是选择“窗口→左右两栏显示”命令或“窗口→上下两栏显示”命令。
这两个命令共用快捷键【Ctrl+T】,快捷键指向最近一次使用的菜单命令。
图1-6所示的程序框图虽然简单,但是包含了构成VI程序框图的各类要素。
图1-6“生成和显示.VI”的程序框图
·接线端
接线端是程序框图中传递数据的起点和终点。
控件接线端用来为前面板上的对象与程序框图传递数据。
不难想象,传统仪器面板上的每个元件在机箱内一定有一个它的接线端,用来与机箱内的元件相连接,才能实现它的功能。
控件接线端就起这样的作用。
图1-6中①是图形显示控件的接线端,②是停止按钮的接线端。
每个接线端有一个标签,例如图中的WavefomlGraph、stop。
在这里接线端是以图标的形式显示。
接线端的其他显示方式和其他类型的接线端将在后续章节中介绍。
·节点
节点是实现程序功能的基本单元。
它具有输入和输出端,也可能只有输出端或只有输入端,在程序运行时完成一定的操作。
图1.6中⑥是一个节点,它代表“仿真信号.VI”;⑤也是一个节点,这种节点叫做结构。
结构用来控制一段图形代码的执行方式,图l-10中的边框⑤所代表的是一个循环结构,这个结构内的程序代码反复执行,直到它的条件接线端③输入一个True值,即按下前面板的停止按钮。
其他的结构将在以后介绍。
·连线
在LabVIEW程序中,连线是程序框图中各个对象之间传递数据的通道。
图1-6中④将“仿真信号.VI”输出的数据连接到图形显示控件的接线端,由图形显示控件进行显示:
一条线只能有一个数据来源,但是可以有多个数据流向。
连线表示了数据流动的方向,正是这种数据流控制图形语言程序执行的顺序。
程序框图中的每个对象无论它所处的位置如何,只要它的接线端的数据到达,它就开始执行。
以上介绍了由模板创建VI的方法,如果模板中没有适用的VI,也可以由一个空白的VI着手建立自己的应用程序。
创建空白VI的方法是在图1-3所示启动窗口上的“新建”栏中单击VI。
2前面板设计
前面板是程序与用户交流的窗口,一个设计良好的前面板可以给用户一种友好的感觉,甚至一种美学的享受。
前面板主要由控件构成,本章将以前面板控件为线索介绍前面板设计的一般方法。
2.1控件的类型
前面板控件有些是用户用来向程序中输入数据的,这些控件叫输入控件;另一些是程序向用户输出运行结果用的,这些控件叫显示控件。
输入控件和显示控件的数据流方向刚好相反。
输入控件的接线端边框比显示控件的接线端边框粗,而且输入控件接线端上的空心小三角图标在右侧,而显示控件的在左侧。
有些控件在选板上有输入控件和显示控件两种类型;有些控件比较常用哪种类型就给出哪种类型。
但是输入控件和显示控件放在前面板上以后是可以互相转换的。
转换方法是在这个控件或它的接线端上弹出菜单,选择“转换为输入控件”或“转换为显示控件”。
读者可打开“生成与显示信号”VI,进行输入控件与显示控件类型转换,观察它们接线端图标的变化;并注意转换之后连线会断开,这说明输入控件只能用做输入,而显示控件只能用做输出。
图2-1控件选板
2.2控件选板
设计前面板所用的全部控件都在控件选板中,如图2-1所示。
也用右键弹出一个临时控件选板,并从中选用了一个水平指针滑动杆。
如果用“查看→控件选板”命令弹出控件选板,则相当于在临时控件选板上按下固定销,除非用户关闭它,否则这个选板将一直停留在前面板上。
而且这个控件选板比临时的控件选板增加了“导航”按钮。
标准形式的控件选板有2个“导航”按钮,其作用如表2-1所示。
表2-1导航按钮的功能
图标
功能
弹出一个对话框,以文本形式查找选板上的控件。
进入搜索模式以后,此钮转换为返回钮
弹出一个菜单,可以分别设置控件选板的形式;“类别”形式的选板上显示的类别;文本形式的选板是否按字母排序:
以及LabVIEW环境的选项
标准形式的控件选板将控件按类别划分为若干子选板,每个子选板在顶层选板上显示为一个文本条目,最上面一个“新式"子选板是展开为图标形式的。
单击每个条目左侧的黑色箭头都可以将这个子选板展开为图标形式;展开为图标形式以后,单击子选板左上角的黑色箭头可以将其折叠为一个文本条目。
以下对控件选板中各类别控件做一简要介绍。
·新式子选板
“新式”子选板包含了编程常用的大部分控件,这些控件又按类别划分为若干下级子选板。
光标移动到新式子选板某个图标上,会弹出一个标签说明该图标所代表的下级子选板,单击这个图标就会展开该选板。
展开后再单击“新式”字符处,会返回新式子选板。
新式子选板各图标所代表的子选板含义如表2-2所示。
表2-2新式子选板各图标含义
图标
名称
内容
数值
数值输入控件、各种滑动杆、旋钮、转盘、颜色盒,致值显示控件、各种进度条、各种刻度条、仪表、量表、液罐、温度计;各种滚动条、时间标识控件
布尔
各种按钮、开关和指示灯
字符串与路径
字符串输入控件、字符串显示控件、文件路径输入控件、文件路径显示控件、组合框
数组、矩阵与簇
数组壳、簇壳、实数矩阵、复数矩阵、错误信息输入控件和错误信息显示控件
列表与表格
列表框、多列列表框、表格、树形控件和Express表格
图形
波形图表,波形图、XY图,ExpressXY图、强度图表、强度图、数字波形图、混合
信号图、三维曲面图、三维参数图、三维曲线图、三维图片控件和其饱圈形、图线、图
片控件
下拉列表与枚举
文本下拉列表、菜单下拉列表、枚举、图片下拉列表、文本与图片下拉列表
容器
分隔栏、.NET容器、选项卡控件、子面板控件和ActiveX容器
I/O
波形、数字波形、数字数据、通道名、FP资源名、VISA资源名、IVI逻辑名以及图
象、运动等各种与硬件输入输出有关的控件
引用句柄
LabVlEW对很多对象的操作都需要一个句柄标识被操作的对象.这一个子选板包括
各类引用句柄
变体与类
包括变体与LabVIEW对象
修饰
用于前面板装饰的一些图形
·系统子选板
“系统”子选板的控件大都和其他子选板的控件类似,但是由于专门用于设计对话框,所以外形有些差别。
·经典子选板
“经典”子选板包括“新式”子选板绝大部分控件,但是这里的控件外观类似于旧版本LabVIEW的平面形状。
·Express子选板
Express子选板选取了最常用的一些控件,并且按照输入控件和显示控件进行了分类,以便于编程时快速调用。
·用户控件子选板
把控件放在\NationalInstruments\LabVIEW8.2\user.lib目录中时,将出现在这个子选板中。
·选择控件条目
单击这个图标弹出一个文件对话框,从Windows文件系统中选择需要打开的控件。
·.NET与ActiveX控件
.NET与ActiveX控件子选板的控件用于对常用的.NET与ActiveX控件进行操作。
控件面板中其他几个条目要安装相应的附加工具包以后才有内容。
2.3控件设置
在初步认识了这些前面板控件以后,用其中的一些控件设计如图2-2所示的VI前面板。
这个VI可以监测一个储液罐的实际液位、进口压力、出口压力和温度,能够用曲线图显示被监测量随时间变化的情况,液位超标时用指示灯报警;还可以调节储液罐的液位高度,调节有手动和自动两种方式。
调节步长按钮决定调节的快慢程度。
在设计过程中会发现,LabVIEW对控件的默认设置往往并不能满足人们的需要。
例如,量表从数值子选板刚取出来时是图2-3所示的样子。
现在将其设置成图2-2里面出现的样子。
2.3.1快捷菜单
这个控件放进前面板以后,在控件上右击,弹出图2-4所示的快捷菜单。
快捷菜单是LabVIEW程序设计的重要工具,在前面板和程序框图每个对象上都可以弹出快捷菜单,有些对象在不同的位置单击还可以弹出不同的快捷菜单。
由图2-4可以看到,在快捷菜单上可以对控件的外观、类型和行为做各种设置。
图2-4量表的快捷菜单
2.3.2属性对话框
属性是对象特有的参数,例如,“学生”这个对象可以有“学号”、“姓名”、“班级”等属性。
为LabVIEW控件进行属性设置的方法是在控件弹出快捷菜单上选择最下面的“属性”命令,打开属性设置对话框。
在图2-5所示的对话框中对压力表进行各项属性设置,使它满足设计的需要。
外观设置
量表属性设置对话框中的“外观”选项卡。
在这里选择“标签”选项区域中的“可见”复选框,标签名为“压力表”,而标题为不可见。
标签是一个对象的标识,不仅用户在前面板和程序框图中通过标签识别对象;程序中也是通过标签引用对象。
而标题只是对象的一个描述,它不影响对象的名称,也不出现在程序框图。
还有一种自由标签,它不属于任何对象,只用于一些附加的说明,例如,图2-2所示前面板上的大标题。
“启用状态”设置有3个选项,即“启用”、“禁用”和“禁用并变灰”。
这里取默认设置,即第一项。
将“指针颜色”设置为红色,选中“显示数字显示框”。
可以看到指针颜色已经变化,压力表下方出现了一个数字显示控件。
单击指针项旁边的“添加”按钮,给压力表增加一个指针。
将指针颜色设置为蓝色,同时也选中“显示数字显示框”。
这时压力表有了两个指针。
图2-5量表的外观设置
1.标尺设置
选择“标尺”选项卡,如图2-6所示。
单击“标尺样式”图标弹出对话框,在其中选择一种刻度样式。
然后分别选择主刻度和辅刻度颜色及标记文本颜色。
后面还有刻度反向、对数分布、加颜色梯度图等选项。
下面选了最小刻度0,最大刻度5。
图2-6量表标尺设置
2.格式与精度设置
单击“格式与精度”标签切换到“格式与精度”选项卡,如图2-7所示。
图2-7量表格式与精度设置
在这里分别对标尺和两个数字显示框进行设置。
图2-7中设置刻度值为浮点数,一位小数精度。
3.数据范围设置
输入控件可以进行数据范围设置。
从控件选板调用一个旋钮,选择“数据范围”选项卡设置数据范围,如图2-8所示
这里可以设置默认值、表示法、最小值、最大值和增量。
图2-8旋钮数据范围设置
“表示法”按钮可以打开一个选板,选择数据的格式。
显示控件也可以在数据范围页设置默认值和表示法。
取消选中“使用默认范围”选项,即可进行数据范围设置和输入数据超过范围时的动作设置。
增量是控件数值一次的改变量。
“数据范围”设置的是控件表达的数据可以取值的范围,而标尺的“刻度范围”设置的是控件显示的数据范围,二者不一定一致。
这个控件设置的内容比较多,所以打开属性对话框一次完成所有设置,如果只需要对控件进行一两项设置,也可以直接选择快捷菜单上相应命令进行设置。
因为属性对话框的设置项都可以在快捷菜单上找到。
2.3.3布尔型控件的设置
1.外观设置
图2-2的面板上有一个方形指示灯用来给液位超标报警。
方形指示灯的默认设置是打开状态(布尔值True)为亮的绿色,关闭状态(布尔值False)为暗的绿色,不符合使用要求。
因此通过快捷菜单打开属性设置对话框,在“外观”选项卡中填写指示灯的标,并分别设置指示灯开、关两种状态下的颜色为红色和绿色。
2.机械动作设置
机械动作是布尔型输入控件在用户操作时的行为方式。
调用一个滑动开关,选择属性对话框的“操作”选项卡,如图2-9所示。
该选项卡相当快捷菜单的“机械动作”命令,这里列出了按钮的6种机械动作方式,旁边是选中的动作方式的图解和文字说明。
图2-9布尔型控件机械动作设置
图解第一行(m)表示鼠标的动作。
图解第二行(v)表示控制量的值。
图解第三行是开关符号或程序读取控制量值的时间点(RD)。
共有6种动作方式可以选择。
(1)单击时转换
每次用操作工具单击控件时,即改变控件的值,并保持到下一次按钮被按下时。
此种动作与照明灯开关的动作类似。
它不受程序读取控制量值次数的影响。
指示灯、滑动开关、拨动开关等一般用这种动作方式。
(2)释放时转换
鼠标单击控件后再松开按键时,控件的值发生改变。
这种动作方式不受程序读取控制量值次数的影响。
(3)保持转换直到释放
单击控件时,就转换为新的状态值,并保存此值直到松开鼠标按键。
这种动作方式类似于门铃。
它不受程序读取控制量值次数的影响。
(4)单击时触发
单击控件时它就改变状态值,并保存这个值,直到程序读取这个值一次,它才恢复默认值。
这个动作的发生与是否还按着鼠标无关。
(这种动作方式类似于电路中的断路器)它常用于终止While循环,或在设定控制值后,使程序只执行某项操作一次。
(5)释放时触发
鼠标单击控件后再松开按键时控件的状态值改变,并保持这个值直到程序读取一次后,才恢复原来的值。
这种动作方式可以保证新的状态值被读取一次。
常用这种动作方式终止While湘循环,使下一次运行便利。
(6)保持触发直到释放
单击控件时它就改变控制值,并保存这个值,直到松开了鼠标井且程序读取这个值一次。
后三种动作方式与前三种对应,只是与程序读取有关。
3构建程序框图
程序框图是以图形表示的LabVIEW程序源代码,是实现程序功能的核心部分。
本章
介绍程序框图的构成和编辑图形代码的工具、方法及相关知识。
3.1程序框图里的对象
在第1章里大家己经见过程序框图中几种主要类型的对象,本节将分别介绍这些对象
的概念、功能、特点和一般的使用方法。
此外,程序框图对象可以选择“编辑→查找和替换”命令打开“查找”对话框,进行查找和替换。
3.1.1节点
LabVIEW程序框图里有以下几类节点。
1.函数
函数是完成LabVIEW程序功能的最基本成员,它相当于文本编程语言的操作符或语句,完成的功能相对简单,输入输出接线端相对较少。
2.子VI
用于另一个VI中的VI叫子VI,这实际就是供其他程序调用的子程序
函数和子VI都可以从函数选板调出。
为了了解函数和子VI的区别,可以新建一个空白VI.在LabVIEW启动窗口上单击
“新建”栏下面的“VI”项,生成一个空白VI。
切换到VI的程序框图,在空白右击,弹
出函数选板,单击选板左上角的销钉把它固定在程序框图中。
从“编程→数值”子选板调出随机数函数和加法函数;从“信号处理→信号生成”子选板调出正弦波子VI;从“数学→概率与统计”子选板调出均值子VI。
随机数函数产生0-1的随机数,加法函数求两个数的和。
它们两个的图标都是浅黄色
背景黑色前景,它们没有程序框图和前面板。
正弦波子VI产生128个点的数据构成一个
周期的正弦信号:
平均数子VI求出输入数据的算术平均值.在子VI的图标上双击就可以打开它的前面板,进而可以打开它的程序框图。
子VI节点在程序框图中有两种显示方式,图标和可扩展节点。
默认情况下显示为图
标,如图3-1(a)所示。
如果在子VI节点上弹出快捷菜单,去掉“显示为图标”选项,
则显示为图3-1(b)所示的可扩展节点。
可扩展节点用黄色背景把图标围绕起来。
背景区
左侧的三角是输入数据的接线端;背景区右侧的三角是输出数据的接线端,不同颜色的接
线端表示不同的数据类型。
连线工具经过每个三角附近会出现输入/输出参数名。
用定位工具拖动可扩展节点上下边缘,会显示出一个参数表,每行显示一个参数,用于输入输出参数连接。
在参数表上右击,弹出快捷菜单,在其中可以选择那些参数出现在参数表中。
出现在参数表中的参数在背景区随之消失。
3.ExpressVI
ExpressVI是一类特殊子V
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LabView82 教材