虚拟仪器技术实验指导深圳大学测控技术与仪器目录实验一LabVIEW编程环境与基本操作实验............1实验二LabVIEW编程的结构实验1..................7实验三LabVIEW编程的图形图表、数组与簇........156实验四LabVIEW编程的数据采集实验.............190实验五NIELVIS环境..........................278实验六RC瞬态电路和数字温度计设计............275虚拟仪器实验指导-1-实验一LabVIEW编程环境与基本操作实验一、实验目的1.了解LabVIEW的编程环境。2.掌握LabVIEW的基本操作方法,并编制简单的程序。3.学习建立子程序的过程和调用子程序的方法二、实验原理1.虚拟仪器虚拟仪器(VirtualInstrument,简称VI)是基于计算机的软硬件测试平台。虚拟仪器技术的优势在于可由用户定义自己的专用仪器系统,且功能灵活,很容易构建,所以应用面极为广泛。20世纪80年代,随着计算机技术的发展,个人电脑可以带有多个扩展槽,就出现了插在计算机里的数据采集卡。它可以进行一些简单的数据采集,数据的后处理由计算机软件完成,这就是虚拟仪器技术的雏形。1986年,美国NationalInstruments公司(简称NI公司)提出了“软件即仪器”的口号,推出了NI-LabVIEW开发和运行程序平台,以直观的流程图编程风格为特点,开启了虚拟仪器的先河。2.LabVIEWLabVIEW(LaboratoryVirtualinstrumentEngineering)是一种图形化的编程语言,一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。图形化的程序语言,又称为“G”语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或流程图。(1)LabVIEW应用程序的构成所有的LabVIEW应用程序,即虚拟仪器(VI),它包括前面板(frontpanel)、流程图(blockdiagram)以及图标/连结器(icon/connector)三部分。前面板前面板是图形用户界面,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制(control)和显示对象(indicator)。控制对象(输入)显示对象(输出)图1.1随机信号发生器的前面板虚拟仪器实验指导-2-框图ctrl+E框图提供VI的图形化源程序。在框图中对VI编程,以控制和操纵定义在前面板上的输入和输出功能。框图中包括前面板上的控件的连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。框图中,对象的移动:shift+鼠标选择移动;对象的复制:ctrl+鼠标选择移动;对象的删除:鼠标选择,按退格;前面板与框图并排:ctrl+T图1.2与图1.1对应的框图。图标/连接器图标/连接器是子VI被其它VI调用的接口。图标是子VI在其他程序框图中被调用的节点表现形式;而连接器则表示节点数据的输入/输出口,就象函数的参数。用户必须指定连接器端口与前面板的控制和显示一一对应。连接器一般情况下隐含不显示,除非用户选择打开观察它。(2)操作模板在LabVIEW的用户界面操作模板包括:工具(Tools)模板:在前面板或框图中按住Shift键并单击鼠标右键。控件(Controls)模板:在前面板激活状态,在前面板空白区单击右键。函数(Functions)模板:在框图激活状态,在框图空白区单击右键。(3)连线,连线工具流程图上的每一个对象都带有自己的连线端子,连线将构成对象之间的数据通道。因为这不是几何意义上的连线,因此并非任意两个端子间都可连线,连线类似于普通程序中的变量。数据单向流动,从源端口向一个或多个目的端口流动。不同的线型代表不同的数据类型。消除所有断线:ctrl+B(4)程序调试技术函数:随机数发生器结构:循环与前面板控件对应的连线端子与前面板控件对应的连线端子图1.2随机信号发生器的流程图图标连接器虚拟仪器实验指导-3-a)找出语法错误如果一个VI程序存在语法错误,则在面板工具条上的运行按钮会变成一个折断的箭头,表示程序不能被执行。点击它,LabVIEW弹出错误清单窗口,点击其中任何一个所列出的错误,选用Find功能,则出错的对象或端口就会变成高亮。b)设置执行程序高亮在LabVIEW的工具条上有一个画着灯泡的按钮,这个按钮叫做“高亮执行”按钮上。点击这个按钮使它变成高亮形式,再点击运行按钮,VI程序就以较慢的速度运行,没有被执行的代码灰色显示,执行后的代码高亮显示,并显示数据流线上的数据值。这样,你就可以根据数据的流动状态跟踪程序的执行。c)断点与单步执行为了查找程序中的逻辑错误,有时希望流程图程序一个节点一个节点地执行。使用断点工具可以在程序的某一地点中止程序执行,用探针或者单步方式查看数据。使用断点工具时,点击你希望设置或者清除断点的地方。断点的显示对于节点或者图框表示为红框,对于连线表示为红点。当VI程序运行到断点被设置处,程序被暂停在将要执行的节点,以闪烁表示。按下单步执行按钮,闪烁的节点被执行,下一个将要执行的节点变为闪烁,指示它将被执行。你也可以点击暂停按钮,这样程序将连续执行直到下一个断点。b)探针可用探针工具来查看当流程图程序流经某一根连接线时的数据值。从Tools工具模板选择探针工具,再用鼠标左建点击你希望放置探针的连接线。这时显示器上会出现一个探针显示窗口。该窗口总是被显示在前面板窗口或流程图窗口的上面。3.子VI子VI(SubVI)相当于普通编程语言中的子程序,也就是被其他的VI调用的VI。可以将任何一个定义了图标和联接器的VI作为另一个VI的子程序。4.LabVIEW编程常用的两个公共帮助选项:Context(上下文本)和LabVIEWHelp(LabVIEW帮助),对于LabVIEW编程很有用,基本函数的操作都有介绍。快捷键:ctrl+H。三、实验设备安装有LabVIEW的计算机。四、实验内容1.熟悉LabVIEW的编程环境,理解基于数据流编程(dataflowprogramming)的概念。2.创建自己的第一个VI。建立一个测量温度和容积的VI。步骤如下:1)选择File»New,打开一个新的前面板窗口。2)从Controls»Numeric中选择Tank放到前面板中。3)在标签文本框中输入“容积”,然后在前面板中的其他任何位置单击一下。4)把容器显示对象的显示范围设置为0.0到1000.a.使用文本编辑工具(TextEditTool),双击容器坐标10.0标度,使它高亮显示。b.在坐标中输入1000,再在前面板中的其他任何地方单击一下。这时0.0到1000.0之间的增量将被自动显示。5)在容器旁配数据显示。将鼠标移到容器上,点右键,在出现的快速菜单中选VisibleIterms»DigitalDisplay即可。6)从Controls»Numeric中选择一个温度计,将它放到前面板中。设置其标签为“温度”,虚拟仪器实验指导-4-显示范围为0到100,同时配数字显示。可得到如下的前面板图。图1.3练习2的前面板图7)Windows»ShowDiagram打开流程图窗口。从功能模板中选择对象,将它们放到流程图上组成下图(其中的标注是后加的)。图1.4练习2的流程图该流程图中新增的对象有两个乘法器、两个数值常数、一个随机数发生器,温度和容积对象是由前面板的设置自动带出来的。乘法器和随机数发生器由Functions»Numeric中拖出,尽管数值常数也可以这样得到,但是建议使用在连接端子处点击右键创建(Create)常量(Constant)的方法更好些。8)用连线工具将各对象按规定连接。9)选择File»Save,把该VI命名为Temp&Vol.vi,保存为D:\Yourname\的文件夹中。在前面板中,单击Run(运行)按钮,运行该VI。注意电压和温度的数值都显示在前面板中。10)选择File»Close,关闭该VI。3.自己创建一个VI,完成以下功能:将两个输入的数字相加并显示结果;将同样两个输入数字相乘并显示结果;比较两个输入数字,如果数字相等,则LED指示灯亮。最后,保存为SimpleMath.vi文件。前面板如图1.5:数字A和B用两个数字控件输入,两个数字指示器分别显示输出结果A+B和A×B,当输入数字A和B相同时,将点亮LED。完成后,应用“高亮执行”观察数据流的运行流程,利用断点,单步调试等工具进行调试。练习使用探针工具来查看当流程图程序流经某一根连接线时的数据值。随机数发生器乘法函数数值常数连接点虚拟仪器实验指导-5-图1.5练习3的前面板4.子VI的创建1)打开练习2中Temp&Vol.vi。2)在前面板中,用鼠标右键单击窗口右上角的图标,在快捷菜单中选择EditIcon….,也可以双击图标激活图标编辑器。注意只能在前面板中编辑图标和联接器。3)删除默认图标。使用SelectTool(矩形框),单击并拖动想要删除的部分,按下Delete。也可以通过双击工具框中的阴影矩形删除图标。4)用PencilTool(铅笔工具)绘制一个温度计。5)用TextTool(文本工具)创建文本。得到图标将如下图所示。图1.6编辑后的图标编辑器窗口6)单击OK,关闭编辑器。新创建的图标就显示在屏幕右上角的图标窗口中。7)用鼠标右键单击前面板中的图标窗口,在快捷菜单中选择ShowConnector,设置联接器端子连接模式。在默认情况下,LabVIEW会根据前面板中的控制对象和显示对象的数目确定联接器的端子连接模式。因为前面板中有两个对象,所以联接器有两个端子,如左图所示。用鼠标右键单击联接器窗口,在快捷菜单中选择Rotate90Degrees(旋转90度),注意联接器窗口的变化,如左图所示。虚拟仪器实验指导-6-9)将端子连接到温度计和容积计:a.点击联接器上部端子。光标自动变成连线工具,同时端子变成黑色。b.单击温度显示对象。一个移动的虚线框把它包围起来,选中的端子的颜色变为与控制/显示对象的数据类型一致的颜色。如果单击前面板中的任何空白区域以后,虚线消失,选中的端子变暗,这表示您已经成功地把显示对象和上部端子连接起来。如果端子是白色,则表示没有连接成功。c.重复步骤a和b,把底部的端子和容积计连接起来。d.用鼠标右键单击联接器,在快捷菜单中选择ShowIcon….10)选择File»Save,保存该VI。这样这个VI就完成了,并也可以作为子VI被其他的VI调用。子VI的图标在主VI的流程图中代表它。VI的联接器(含有两个端子)输出温度和容积。5、调用子VI用调用子VI完成下面功能。七、实验报告与总结1.调试编辑以上VI,画出以上VI的程序框图。2.理解基于数据流编程的基本编程思路。3.总结VI基本编程的快捷操作。4.简述VI程序有什么构成,其各部分的功能是什么。5.思考:在前面板和框图程序中,如何区分控制器和指示器。6.心得体会及其它。虚拟仪器实验指导-7-实验二LabVIEW编程的结构实验一、实验目的1.学习并掌握For循环和While循环以及它们的不同点。2.学习使用移位寄存器(shiftregister)。3.掌握选择结构(CaseStructure),顺序结构(SequenceStructure)编程;4.了解时间估计和控制函数。5.了解公式节点(FormulaNode)的使用。二、实验原理1.While循环和For循环在函数(Function)的结构(Structures)的选项板中可以找到。创建循环的具体方法是,选择该循环后,先在欲放入循环内执行的对象左上方单击,然后按下鼠标,拖曳