虚拟仪器实验指导书.docx
虚拟仪器及应用实验教材2010年4月、乙、刖三虚拟仪器(virtualinstrumention是基于计算机的仪器。计算机和仪器的密切结合是目前仪器开展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器的主要特点有:尽可能采用了通用的硬件,各种仪器的差异主要是软件。可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。用户可以根据自己的需要定义和制造各种仪器。虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。虚拟仪器的研究中涉及的根底理论主要有计算机数据采集和数字信号处理。目前在这一领域内,使用较为广泛的计算机语言是美国Nl公司的LabVIEWo虚拟仪器的起源可以追朔到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的开展。PC机出现以后,仪器级的计算机化成为可能,甚至在MiCroSoft公司的WindOWS诞生之前,NI公司已经在MaCintOSh计算机上推出了LabVIEW2.0以前的版本。对虚拟仪器和LabVIEW长期、系统、有效的研究开发使得该公司成为业界公认的权威。由于编者水平的有限,本实验指导书难免存在错误和缺乏之处,热切希望广阔师生多提珍贵意见!我们一定会再接再厉,尽我们所能的不断完善实验!希望能得到广阔师生的支持与批评指正!实验一LabVIEW的使用一、实验目的:1、学习虚拟仪器软件LabVieW的根本使用方法2、掌握根本模块的功能和使用方法。二、实验内容:设计一个简单的加减法运算器。三、实验原理:使用LabVIEW开发平台编制的程序称为虚拟仪器程序,简称为VLVl包括三个局部:前面板frontpanel)、流程图(blockdiagram)以及图标/连结器(icon/ConneCtOr)三局部。程序前面板用于设置输入数值和观察输出量,用于模拟真实仪表的前面板。在程序前面板上,输入量被称为控制control,输出量被称为显示display。控制和显示是以各种图标形式出现在前面板上,如旋钮、开关、按钮、图表、图形等,这使这得前面板直观易懂。每一个程序前面板都对应着一段框图程序。框图程序用图形编程语言编写,可以把它理解成传统程序的源代码。框图程序由端口、节点、图框和连线构成。其中端口被用来同程序前面板的控制和显示传递数据,节点被用来实现函数和功能调用,图框被用来实现结构化程序控制命令,而连线代表程序执行过程中的数据流,定义了框图内的数据流动方向。图标连接器是子被其它调用的接口。图标是子在其他程序框图中被调用的节点表现形式;而连接器那么表示节点数据的输入输出口,就象函数的参数。用户必须指定连接器端口与前面板的控制和显示一一对应。下面图示为温度计程序的图标和连接器。连接器一般情况下隙含不显示,除非用户选择翻开观察它。这种创立和调用子程序的方法,使创立的程序结构模块化,更易于调试、理解和维护。四、实验步骤:1.前面板使用输入控制和输出显示来构成前面板。控制是用户输入数据到程序的接口。而显示是输出程序产生的数据接口。控制和显示有许多种类,可以从控制模板的各个子模板中选取。两种最常用的前面板对象是数字控制和数字显示。假设想要在数字控制中输入或修改数值,你只需要用操作工具见工具模板)点击控制部件和增减按钮,或者用操作工具或标签工具双击数值栏进行输入数值修改。2.框图程序前面板AA+BOOIEToo框图程序是由节点、端点、图框和连线四种元素构成的。BA-BI节点类似于文本语言程序的语句、函数或者子程序。有二种节点类型函数节点和子节点。两者的区别在于:函数节点是以编译好了的机器代码供用户使用的,而子节点是以图形语言形式提供应用户的。用户可以访问和修改任一子节点的代码,但无法对函数节点进行修改。上面的框图程序所示的程序有两个功能函数节点,一个函数使两个数值相加,另一个函数使两数相减。框图端点是只有一路输入输出,且方向固定的节点。有三类端点前面板对象端点、全局与局部变量端点和常量端点。对象端点是数据在框图程序局部和前面板之间传输的接口。一般来说,一个的前面板上的对象控制或显示都在框图中有一个对象端点与之一一对应。当在前面板创立或删除面板对象时,可以自动创立或删除相应的对象端点。控制对象对应的端点在框图中是用粗框框住的,如例子中的和端点。它们只能在程序框图中作为数据流源点。显示对象对应的端点在框图中是用细框框住的。如例子中的和端点。它们只能在程序框图中作为数据流终点。常量端点永远只能在程序框图中作为数据流源点。图框是实现程序结构控制命令的图形表示。如循环控制、条件分支控制和顺序控制等,编程人员可以使用它们控制程序的执行方式。代码接口节点是框图程序与用户提供的语言文本程序的接口。连线是端口间的数据通道。它们类似于普通程序中的变量。数据是单向流动的,从源端口向一个或多个目的端口流动。不同的线型代表不同的数据类型。在彩显上,每种数据类型还以不同的颜色予以强调。当需要连接两个端点时,在第一个端点上点击连线工具从工具模板栏调用,然后移动到另一个端点,再点击第二个端点。端点的先后次序不影响数据流动的方向。当把连线工具放在端点上时,该端点区域将会闪烁,表示连线将会接通该端点。当把连线工具从一个端口接到另一个端口时,不需要按住鼠标键。当需要连线转弯时,点击一次鼠标键,即可以正交垂直方向地弯曲连线,按空格键可以改变转角的方向。3.从框图程序窗口创立前面板对象用选择和连线工具,你都可以用鼠标右键点击任一节点和端点,然后从弹出菜单中选择“创立常数二“创立控制'或“创立显示”等命令。会自动地在被创立的端点与所点击对象之间接好连线。4.数据流编程控制程序的运行方式叫做“数据流工对一个节点而言,只有当它的所有输入端口上的数据都成为有效数据时,它才能被执行。当节点程序运行完毕后,它把结果数据送给所有的输出端口,使之成为有效数据。并且数据很快从源送到目的端口。如左图所示,这个程序把两个输入数值相乘,再把乘积减去。这个程序中,框图程序从左往右执行,这个执行次序不是由于对象的摆放位置,而是由于相减运算函数的一个输入量是相乘函数的运算结果,它只有当相乘运算完成并把结果送到减运算的输入口后才能继续下去。请记住,一个节点函数只有当它所有的输入端的数据都成为有效数据后才能被执行,而且只有当它执行完成后,它的所有输出端口上的数据才成为有效。五、实验报告:1、虚拟仪器编程的步骤有哪些?2、虚拟仪器在设计的过程中应注意什么问题?实验二移位存放器的使用一、实验目的:1、学习控制模板、功能模块的使用。2、掌握移位存放器的使用方法。二、实验内容:设计一个移位存放器。创立一个可以在图表中显示运行平均数的VI。三、实验原理:移位存放器可以将数据从一个循环周期传递到另外一个周期。移位存放器在流程图上用在循环边框上相应的一对端子来表示。右边的端子中存储了一个周期完成后的数据,这些数据在这个周期完成之后将被转移到左边的端子,赋给下一个周期。移位存放器可以转移各种类型的数据一数值、布尔数、数组、字符串等等。它会自动适应与它连接的第一个对象的数据类型。要传递多个周期的数据,那么需要创立多个元素。四、实验步骤:1前面板1 .翻开一个新的前面板,按照下列图所示创立对象。2 .把波形图表的坐标范围改为0.0到2.0o3 .在添加竖直坐标之后,用鼠标右键单击它,在快捷菜单中选择MeChaniCaIAction>>LatchWhenPressed,再选择C)Perate>>MakeCurrentValuesDefault,把C)N状态设置为默认状态。图31移位存放器的前面板流程图4 .按下列图创立流程图。0.5图3-2移位存放器的流程图5 .在流程图中添加While循环(FImCtiOns>>Stmctures),创立移位存放器。a.用鼠标右键单击While循环的左边或者右边,在快捷菜单中选择AddShiftRegiSter。b.用鼠标右键单击存放器的左端子,在快捷菜单中选择AddEIement,添加一个存放器。用同样的方法创立第三个元素。6 .RandomNumber(0-1)(Functions>>Numeric)产生0到1之间的某个随机数。7 .CompoundArithmetic函数(Functions>>Numeric)返回两个周期产生的随机数的和。如果要参加其他的输入,只需用右键单击某个输入,从快捷菜单中选择AddlnPUt。8 .除法函数(Functions>>Numeric它用于返回最近四个随机数的平均值。9 .数值常数Functions»Niimeric)在While循环的每个周期,RandOmNUmber(0-1)函数将产生一个随机数。Vl就将把这个数参加到存储在存放器中的最近三个数值中。RandomNUmber(0-1)再将结果除以4,就能得到这些数的平均值当前数加上以前的三个数。然后再将这个平均值显示在波形图中。10 0.WaitUntilNextmsMultiple函数(Functions>>Time&Dialog它将确保循环的每个周期不会比毫秒输入快。毫秒输入的值是500毫秒。如果用鼠标右键单击图标,从快捷菜单中选择Visible>>Label,就可以看至UWaitUntilNextmsMultiple的标签。WaitUntilNextmsMultiple功能函数的输入端子,在快捷菜单中选择CreateConstanto出现一个数值常数,并自动与功能函数连接。12、 将Constant设置为500。这样连接到函数的数值常数设置了500毫秒的等待时间。因此循环每半秒执行一次。注意,VI用一个随机数作为移位存放器的初始值。如果没有设置移位存放器端子的初始值,它就含有一个默认的数值,或者上次运行结束时的数值,因此开始得到的平均数没有任何意义。13、 执行该VL观察过程。五、实验报告:1、移位存放器的作用是什么?2、心得体会实验三随机信号发生器的设计一、实验目的:1、学习控制模板、功能模块的使用。2、掌握数值运算、布尔运算和WhiIe循环的使用方法。二、实验内容:设计一个随机信号发生器。三、实验原理:1、前面板前面板是图形用户界面,也就是Vl的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制control和显示对象indicator。图2-1所示是一个随机信号发生和显示的简单Vl是它的前面板,上面有一个显示对象,以曲线的方式显示了所产生的一系列随机数。还有一个控制对象一一开关,可以启动和停止工作。显然,并非简单地画两个控件就可以运行,在前面板后还有一个与之配套的流程图。曙hi.*FileEditOperateProjectWindowsHelp11i所ApplicationFontLJI?CCZlI诟I图2-1随机信号发生器的前面板2、流程图流程图提供Vl的图形化源程序。在流程图中对Vl编程,以控制和操纵定义在前面板上的输入和输出功能。流程图中包括前面板上的控件的连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。图22是与图21对应的流程图。我们可以看到流程图中包括了前面板上的开关和随机数显示器的连线端子,还