版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
虚拟仪器技术实验指导深圳大学测控技术与仪器目录TOC\o"1-1"\h\z实验一LabVIEW编程环境与基本操作实验 1实验二LabVIEW编程的结构实验1 7实验三LabVIEW编程的图形图表、数组与簇 16实验四LabVIEW编程的数据采集实验 20实验五NIELVIS环境 28实验六RC瞬态电路和数字温度计设计 35实验一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.1随机信号发生器的前面板所有的LabVIEW应用程序,即虚拟仪器(VI),它涉及前面板(frontpanel)、流程图(blockdiagram)以及图标/连结器(icon/connector)三部分。前面板前面板是图形用户界面,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制(control)和显示对象(indicator)。框图ctrl+E框图提供VI的图形化源程序。在框图中对VI编程,以控制和操纵定义在前面板上的输入和输出功能。框图中涉及前面板上的控件的连线端子,尚有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。框图中,对象的移动:shift+鼠标选择移动;对象的复制:ctrl+鼠标选择移动;对象的删除:鼠标选择,按<退格>;前面板与框图并排:ctrl+T图1.2与图1.1相应的框图。函数:随机数发生器函数:随机数发生器结构:循环与前面板控件相应的连线端子与前面板控件相应的连线端子图1.2随机信号发生器的流程图图标/连接器 图标连接器图标/连接器是子VI被其它VI 图标连接器(2)操作模板在LabVIEW的用户界面操作模板涉及:工具(Tools)模板:在前面板或框图中按住<Shift>键并单击鼠标右键。控件(Controls)模板:在前面板激活状态,在前面板空白区单击右键。函数(Functions)模板:在框图激活状态,在框图空白区单击右键。(3)连线,连线工具流程图上的每一个对象都带有自己的连线端子,连线将构成对象之间的数据通道。由于这不是几何意义上的连线,因此并非任意两个端子间都可连线,连线类似于普通程序中的变量。数据单向流动,从源端口向一个或多个目的端口流动。不同的线型代表不同的数据类型。消除所有断线:ctrl+B(4)程序调试技术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)的概念。创建自己的第一个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中选择一个温度计,将它放到前面板中。设立其标签为“温度”,显示范围为0到100,同时配数字显示。可得到如下的前面板图。图1.3练习2的前面板图随机数发生器乘法函数数值常数连接点7)随机数发生器乘法函数数值常数连接点图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。完毕后,应用“高亮执行”观测数据流的运营流程,运用断点,单步调试等工具进行调试。练习使用探针工具来查看当流程图程序流经某一根连接线时的数据值。图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度),注意联接器窗口的变化,如左图所示。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.心得体会及其它。实验二LabVIEW编程的结构实验一、实验目的1.学习并掌握For循环和While循环以及它们的不同点。学习使用移位寄存器(shiftregister)。3.掌握选择结构(CaseStructure),顺序结构(SequenceStructure)编程;4.了解时间估计和控制函数。5.了解公式节点(FormulaNode)的使用。二、实验原理While循环和For循环在函数(Function)的结构(Structures)的选项板中可以找到。创建循环的具体方法是,选择该循环后,先在欲放入循环内执行的对象左上方单击,然后按下鼠标,拖曳出一个矩形框包围执行对象。释放鼠标时就创建了一个指定大小和位置的循环。2.While循环可以反复执行循环体的程序,直至到达某个边界条件。它类似于普通编程语言中的Do循环和Repeat-Until循环。While循环的框图是一个大小可变的方框,用于执行框中的程序,直到条件端子接受到的布尔值为FALSE。图2.1While循环3.For循环用于将某段程序执行指定次数。和While循环同样,它不会立刻出现在流程中,而是出现一个小的图标,而后您可以修改它的大小和位置。For循环将把它的框图中的程序执行指定的次数,For循环具有下面这两个端子:N:计数端子(输入端子)——用于指定循环执行的次数。I:周期端子(输出端子)——具有循环已经执行的次数。图2.2For循环与移位寄存器4.移位寄存器可以将数据从一个循环周期传递到此外一个周期。创建一个移位寄存器的方法是,用鼠标右键单击循环的左边或者右边,在快捷菜单中选择AddShiftRegister。移位寄存器在流程图上用在循环边框上相应的一对端子来表达。右边的端子中存储了一个周期完毕后的数据,这些数据在这个周期完毕之后将被转移到左边的端子,赋给下一个周期。移位寄存器可以转移各种类型的数据--数值、布尔数、数组、字符串等等。它会自动适应与它连接的第一个对象的数据类型。Case结构具有两个或者更多的子程序(Case),执行那一个取决于与选择端子或者选择对象的外部接口相连接的某个整数、布尔数、字符串或者标记的值。必须选择一个默认的Case以解决超过范围的数值,或者直接列出所有也许的输入数值。Case结构见下图3.1。子程序标记子程序标记按钮条件端子图3.1Case结构5.顺序结构(SequenceStructure)顺序地执行子框图,它看上去像是电影胶片。它可以按一定顺序执行多个子程序。一方面执行0帧中的程序,然后执行1帧中的程序,逐个执行下去。与Case结构类似,这多帧程序在流程图中占有同一个位置。时间估计和控制函数“等待Wait”:控制VI定期执行,每次执行单元(比如循环)内部,在执行代码运营结束后,开始计时。保持此状态直到毫秒计数器的值等于预先设定的值。用于每次执行单元至少执行时间设定。“等待下一个整数倍的毫秒WaituntilNextmsMultiple”:每次执行单元(比如循环)内部,在执行代码开始运营时,就开始计时。保持此状态直到毫秒计数器的值等于预先设定数的整数倍。用于同步各单元操作。“TickCount(ms)函数”:用与ExpressVI完毕定期任务。6.公式节点是一个大小可变的方框,可以运用它直接在流程图中输入公式。从函数Functions的结构Structures中选择公式节点就可以把它放到流程图中。当某个等式有很多变量或者非常复杂时,这个功能就非常有用。图3.2公式节点三、实验设备安装有LabVIEW的计算机。四、实验内容1.A.创建一个关于While循环的VI,实现在While循环内放置随机数对象,并在前面板上显示随机数及While循环的实时次数。并在前面板设立开关控制按钮,实现While循环的停止控制。前面板如图2.3,最后将该VI保存为WhileLoop.vi文献。图2.3WhileLoop目的:用While循环和图表获得数据,并实时显示。B、创建一个可以产生并在图表中显示随机数的VI。前面板有一个控制旋钮可在0到10秒之间调节循环时间,尚有一个开关可以中止VI的运营。学习如何改变开关的动作属性,以便不用每次运营VI时都要打开开关。操作环节如下:前面板图2-2练习2-1的流程图2.A、创建一个关于For循环的VI,实现在For循环内放置随机数对象,并在前面板上显示随机数及For循环的实时次数。For循环的指定执行次数设为100次。前面板如图2.4,最后将该VI保存为ForLoop.vi文献。图2.4ForLoop目的:用For循环和移位寄存器计算一组随机数的最大值。3.练习使用移位寄存器:设计一个包含移位寄存器的While循环,该前面板有4个数字指示器,X(i)指示器用于显示当前循环的实时次数i值,X(i-1)指示器用于显示前一次迭代的已循环次数i的值,X(i-2)指示器用于显示两个迭代前的已循环次数i的值,X(i-3)指示器用于显示三个迭代前的已循环次数i的值。移位寄存器的初始化值设为0。并在前面板设立开关控制按钮,实现While循环的停止控制。前面板如图2.5,最后将该VI保存ViewingShiftRegisters.vi文献。图2.5ViewingShiftRegisters4.设计一个VI,实现使用循环和移位寄存器计算随机数序列的移动平均值。规定该VI产生一个随机序列,序列长度由前面板滑动条控件输入,该随机数序列的移动平均值由下列公式可计算:这里i=0,1,…,N-1,表达在第i次计算的平均值,是来自随机数函数的当前随机数。前面板规定显示当前用于计算移动平均值的随机数个数i+1,当前的移动平均值,前面板设计如图2.6所示,最后将该VI保存为RandomNumberAverage.vi文献。在HighlightExecution加亮执行的状态下观测数据流。图2.6RandomNumberAverageB、目的:创建一个可以在图表中显示运营平均数的VI。5.使用Case结构,创建一个VI以检查一个数值是否为正数。假如它是正的,VI就计算它的平方根,反之则显示犯错。提醒:可以使用以下函数OneButtonDialog函数(Functions»Time&Dialog)——它可以用于显示一个对话框,内容可由字符串常量输入提供。例如:前面板如图3.3,最后将该VI保存为CaseStructure.vi文献。图3.3CaseStructure6.练习用公式节点实现y=x-esinx的计算,x为输入数据,y为输出显示数据,存为FormulaCode.vi7.分别用Case结构和公式节点语句两种方法,实现下列条件分支语句:考虑计算两数比率x/y的下列代码段:if(y0)thenz=x/yelsez=+endif两VI保存为CaseDivision.vi和FormulaDivision.vi。五、实验报告与总结1.调试编辑以上VI,画出以上VI的程序框图。2.。说明For循环与While循环的区别。3.理解移位寄存器的作用以及它的初始化3.使用公式节点时,假如输入变量的名称同输出变量的名称相同时,会如何。4.得体会及其它。实验三LabVIEW编程的图形图表、数组与簇一、实验目的1.学习如何使用数组与簇,掌握它们的区别和相应操作;2.学习并掌握Chart和Graph的使用,理解它们的区别。二、实验原理1.数组是同类型元素的集合。一个数组可以是一维或者多维,假如必要,每维最多可有231-1个元素。可以通过数组索引访问其中的每个元素。创建一个数组有两件事要做,一方面要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(数或字符串等)。数组元素不能是数组、图表或者图形。LabVIEW提供了很多用于操作数组的功能函数,位于函数Functions»数组Array中。其中涉及创建数组(BuildArray),初始化数组(InitializeArray),数组大小(ArraySize),数组子集(ArraySubset),索引数组(IndexArray)等等。创建数组(BuildArray)——,用于根据标量值或者其他的数组创建一个数组。初始化数组(InitializeArray)——用于创建所有元素值都相等的数组。下图中,该功能函数创建了一个一维数组。数组大小(ArraySize)——返回输入数组中的元素个数。数组子集(ArraySubset)——选取数组或者矩阵的某个部分。索引数组(IndexArray)——用于访问数组中的某个元素。2.簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。它类似于C语言中的stucture。使用簇可以把分布在流程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤限度。减少子VI的连接端子的数量。捆绑(Bundle)数据Bundle功能将分散的元件集合为一个新的簇,或允许你重置一个已有的簇中的元素。可以用位置工具拖曳其图标的右下角以增长输入端子的个数。最终簇的序是取决于被捆绑的输入的顺序。右图中Bundle图标中部的Claster端子用于用新元素重置原簇中的元素。分解(Unbundle)簇Unbundle功能是Bundle的逆过程,它将一个簇分解为若干分离的元件。假如你要对一个簇分解,就必须知道它的元素的个数。LabVIEW还提供一种可以根据元素的名字来捆绑或分解簇的方法,稍后介绍。3.图形显示对于虚拟仪器面板设计是一个重要的内容。在LabVIEW的图形显示功能中Graph和Chart是两个基本的概念。Chart是将数据源(例如采集得到的数据)在某一坐标系中,实时、逐点地显示出来,它可以反映被测物理量的变化趋势。而Graph则是对已采集数据进行事后解决的结果。它先将被采集数据存放在一个数组之中,然后根据需要组织成所需的图形显示出来。它的缺陷是没有实时显示,但是它的表现形式要丰富得多。三、实验设备安装有LabVIEW的计算机。四、实验内容1.练习数组的基本创建方法,编辑一个运用循环的自动索引(auto-indexing)功能创建一个装有10个随机数的数组。提醒:运用随机数产生函数,循环10次产生一数组。2.编辑下列VI,理解二维数组的产生,存为TwoDimensionalArrayDemo.vi。前面板:程序框图:五、实验注意事项图4.1TwoDimensionalArray3.创建一个VI,实现将输入控件值与输入数组合并连接起来生成新的数组。该VI使用数组大小(ArraySize)和初始化数组(InitializeArray)两函数来创建维数合适的新数组,并将新数组的所有元素初始化为1。最后,VI计算两新数组间的差,并将结果显示在前面板中。前面板和基本程序框图组成如图4.2,最后将该VI保存为PracticewithArrays.vi文献。图4.2(1)PracticewithArrays前面板图4.2(2)PracticewithArrays程序框图组成4.创建由一个控件簇和一个显示簇所组成的VI,规定控件进行操作时,显示簇同时进行相应的显示。前面板组成如图4.3,最后将该VI保存为Cluster.vi文献。提醒:应用捆绑(Bundle)与分解(Unbundle)函数图4.3Cluster前面板5.创建一个VI,用Chart和Graph分别显示40个随机数产生的曲线,比较程序的差别:前面板及流程图如下图4.4Chart和Graph的比较五、实验报告与总结1.调试编辑以上VI,画出以上VI的程序框图。2.学会应用基本数组函数的编程。3.总结Chart和Graph的使用区别。4.心得体会及其它。实验四LabVIEW编程的数据采集实验一、实验目的1.学习采用ExpressVI进行数据采集。2.掌握波形的产生与采集,采集并显示一个模拟信号波形。3.了解Measurement&Automation,练习使用NI-DAQmx使用MAX检查、配置和测试一个设备。二、实验原理1.LabVIEW中一个重要的新元素称为ExpressVI。这些ExpressVI可用于快速构建完毕公共测量任务(例如数据采集)所需的VI。由于ExpressVI是采用对话框配置实现的,因此它们是所需连线最少的节点。ExpressVI的思想是通过对话框进行交互式操作来快速配置VI。在函数面板上,ExpressVI位于Express类别。ExpressVI采用动态数据类型在ExpressVI间传递数据。用于采集任务的ExpressVI涉及:DAQ助手、仪器I/O助手、仿真信号和读取测量文献。双击ExpressVI就会出现一个对话框,在此对话框中可以通过配置VI来满足需求。DAQ系统DAQ数据采集系统,重要实现的任务就是测量或生成物理信号。一个DAQ系统通常具有一套获取、解决原始数据,分析传感器和转换器,信号调理以及显示、存储数据的软件。DAQ系统工作重要在基于计算机的系统测量到物理信号之前,通过传感器(或转换器)将物理信号转换为电信号,并将该信号进行调理。插入的DAQ卡,将所测量的信号转换为数字信号,并采入计算机中。DAQ系统由软件控制,获取数据行,分析数据并得出结论。3.Measurement&AutomationMeasurement&Automationo数据采集界面具有一个类似向导的交互式界面,DAQ助手,可用来选择采样速率、触发、计时、时钟选择、缩放、信号类型和其他稳定性配置,同时也提供了最佳单点采集和多线程性能。MeasurementStudio和I/O硬件驱动之间的紧密结合为工程师提供了最有效的方式来完毕进行测量所需的采集和仪器应用,并且极大地减少了开发时间。NIMeasurement&Automationo是为VisualStudio.NET和VisualStudio6.0环境提供的一个集成式套件,涉及各种常用的测量和自动化控件、工具和类库。NIMeasurement&Automationo带有的ActiveX和.NET控件、面向对象的测量硬件接口、高级的分析库、科学的用户界面控件、测量数据网络化、向导、交互式代码设计器和高扩展性类库等功能,极大的减少了您应用程序的开发时间。Measurement&Automationo使用交互式测量工具来简化数据采集和仪器连接的操作。DAQ助手和仪器I/O助手都是常用的.NET设计器,涉及对测量任务配置、测试和编程的逐步引导,它们自动生成自定义的底层代码。运用DAQ助手,您可以快速的配置数据采集任务,涉及自定义计时、标度和触发等而无需编程。运用仪器I/O助手,您可以直接与GPIB、以太网、USB、串行总线和VXI仪器通信。您可以使用这个交互式向导来对仪器控制系统设计原型、快速进行测量、自动解释数据、生成代码,甚至开发简朴的仪器驱动。三、实验设备安装有LabVIEW,Measurement&Automation的计算机。支持NI-DAQmx的数据采集设备(DAQ).四、实验内容1.使用ExpressVI创建一个VI,实现以前面板设定的振幅产生锯齿波信号,并在前面板上以图形方式显示出来,将该VI保存为SimulateSignal.vi文献。该信号频率设为100HZ,每秒采样设为3000,自动方式拟定采样数。使用的函数:SimulateSignalExpressVI.注意该函数的选择配置(双击)。前面板及程序框图如图5.1图5.1SimulateSignalExpress改变SimulateSignalExpressVI.的参数配置,实现其他波形的产生。2.在程序框图中添加ExpressVIs和结构,来创建一个新的VI程序,将该VI保存为ReduceSamples.vi文献。新的VI程序实现产生信号、减少信号的采样点,并在前面板的表格中显示最终数据。前面板如图5.2所示。提醒:添加一个模拟信号的ExpressVI,配置SimulateSignalExpressVI,以产生一个频率为10.7、振幅为2的正弦波。然后产生信号进行调整,选择SampleCompressionExpressVI,配置SampleCompressionExpressVI,指定平均因子为25,来减少信号的样本点数。运用连线工具,将SimulateSignalExpressVI的Sine输出端连接到SampleCompressionExpressVI的Signals输入端。图5.1ReduceSamples将SampleCompressionExpressVI的Mean作为输出,连同SimulateSignalExpressVI的输出信号共同显示在GraphIndicator上。注意,应用合并信号函数(MergeSignalFunction)实现双信号的显示。Mean端同时创建一个数字显示件显示Mean值。SampleCompressionExpressVIEnable输入端来创建Enable开关控制。循环实现两信号显示,并用停止控件控制循环退出。使用MAX检查、配置和测试一个设备。按照下列环节使用MAX检查计算机中的DAQ设备配置,并使用MAX中的测试程序确认设备操作。如没有DAQ设备,可以根据A.创建一个模拟设备中的指令模拟一个设备。1)双击桌面上的图标或在LabVIEW中选择工具汾Measurement&AutomationExplorer都可以启动MAX。MAX搜索计算机上已安装的NI硬件,并显示相关信息。A.创建一个模拟设备2)创建一个NI-DAQmx模拟设备可以保证在没有硬件的条件下完毕这一章中的练习。假如安装了DAQ设备,可以跳过这一步,直接进行B部分的练习。*展开DevicesandInterfaces。*右键单击NI-DAQmxDevices,并选择CreateNewNI-DAQmxDevice>>NI-DAQmxSimulatedDevice。*在ChooseDevice对话框中选择MSeriesDAQ>>NIPCI6225。*单击OK。B.检查DAQ设备设立3)展开DevicesandInterfaces。4)展开NI-DAQmxDevices,查看已安装的使用NI-DAQmx驱动程序的NI设备。5)选择NI-DAQmxDevices中列出的设备。图5.2显示了PCI-MlO-16E-4设备。图5.2.DevicesandInterfaces部分展开的MAX图5.3设备途径MAX显示了计算机中的NI硬件和软件。设备号出现在设备名之后,用引号分隔。DataAcquiSitionVI根据这个设备号来决定哪一个设备执行DAQ操作。MAX还显示了设备的其它属性,如设备所占用的系统资源。安装的设备也许不同,显示的一些选项也也许不同。单击MAX右上角的ShowHeIp/HideHelp按钮,隐藏在线帮助,并显示DAQ设备信息。但是,ShowHelp/HideHelp按钮只出现在特定几种情况中。6)如图5.3所示,选择DeviceRoutes页,查看可以被发送到设备上其它地方的内部信号的具体信息。这是一种强大的资源,可以直观地表达那些通过设备组件和其它外部设备提供定期和同步功能的信号。7)如图5.4,选择Calibration页,查看上一次在设备内部和外部校准的信息。图5.4校准8)右键单击配置树中的NI-DAQmx设备,选择Self-Calibrate以便用精密电压参考源校准DAQ设备,并更新内置的校准常数。设备校准完毕后,Calibration选项卡中的SelfCalibration信息也随之更新。假如使用的是模拟设备,请跳过这步。C.测试DAQ设备组件9)单击SeIf-Test按钮测试设备。该环节测试分派给设备的系统资源。由于设备已经配置好,所以应当能通过测试。10)单击TestPanels按钮测试DAQ设备的各个功能,如模拟输入和输出。这时,会出现TestPanels对话框。*AnalogInput页用于测试DAQ设备上不同的模拟输入通道。单击Start按钮从模拟输入通道0采集数据。*如使用了DAQ信号附件,通道Dev1/ai0应连到温度传感器上。将手指放到传感器上,并查看电压的上升情况。将DAQ信号附件上Noise开关移到On的状态,可以观测到该页下的信号变化。完毕后,单击Stop按钮。*假如使用的是模拟设备,所有的输入通道上都会显示一个正弦波。熟悉该页的各项设立。完毕后,单击Stop按钮。*单击AnalogOutput页,在DAQ设备的一个模拟输出通道上创建一个的电压或正弦波。单击Close按钮关闭TestPanel,返回MAX界面。4.使用DAQ设备和数字触发器采集一个模拟信号。创建一个VI,该VI在DAQ设备的Al1通道上测量电压信号。按下数字触发器,并打开前面板的Power开关,该VI就开始执行测量操作。关闭前面板的Power开关,该VI就停止执行测量操作。用户界面的输入和输出类型名称属性波形图表模拟输入数据x标尺范围:1/100秒垂直摇杆开关电源外部输入和输出·输入:数据采集设备的Al1通道。用连线连接正弦波发生器和DAQ信号附件上的模拟输入通道1。DAQ模拟设备也可用来采集数据。实行:请按以下环节创建如图5.5所示的前面板。图5.5TriggeredAnalogInput前面板1)打开一个新VI。2)创建一个模拟输入数据波形图表。*在前面板窗口上添加一个波形图表。将波形图表控件名改为模拟输入数据。改变波形图表的大小,以增长x轴的长度。3)创建一个电源垂直摇杆开关。*在前面板窗口上添加一个垂直摇杆开关。将开关名改为电源。*使用标签工具创建两个自由标签,关和开。按图5.5中所示添加自由标签。4)将该VI保存为TriggeredAnalogInput.vi.请按以下环节创建如图5.6所示的程序框图。图5.6TriggeredAnalogInput程序框图5)设立DAQ助手在按下数字触发器时以50KHz在A11通道上采集数据。假如使用的是模拟设备,采集数据时不需要触发器。切换到程序框图。在程序框图中添加一个DAQAssistantExpressVl。选择模拟输入>>电压作为测量参数。选择Devl>>ail作为物理通道。单击Finish按钮。设立Settings页上的SignalInputRange为1V到-1V的范围。设立TaskTiming页上的AcquisitionMode为Continuous。设立TaskTiming页上的ClockSettings部分中的SamplestoRead为5000。采样数定义了一次从缓冲区中删除的数据量。设立TaskTiming页上的ClockSettings部分中的Rate(Hz)为20k。假如使用的是DAQ信号附件,切换到TaskTriggering页。假如使用的是NI-DAQmx模拟设备,单击OK按钮,跳到环节6。设立TaskTriggering页上的StartTrigger部分中的TriggerType为DigitalEdge。设立TriggerSource为PFl0。设立Edge为Rising。点击OK按钮,关闭AnalogInputVoltageTaskConfiguration对话框。6)根据提醒使LabVIEW自动生成一个While循环。注意,它会创建一个While循环和一个Stop按钮。7)删除Stop按钮,该VI使用的是电源开关。8)在While循环中添加电源接线端。9)将电源接线端连接到DAQ助手的Stop输入。10)将采集到的数据转换为一个数字数组,并将数据按采样数而不是时间绘制在图上。在Whlie循环框中添加一个“从动态数据转换"ExpressVI。在配置对话框中选择结果数据类型列表框中的一维标量数组自动。单击拟定。11)拟定完毕的程序框图连线如图5.6中所示。12)切换至前面板。13)保存Vl。测试:1)假如使用的是DAQ信号附件,请确认是否用连线连接了正弦波发生器和模拟输入chl。2)使用操作工具将电源开关置于开的位置。3)运营VI,按照已安装硬件列或未安装硬件列中的指示开始采集数据。已安装硬件未安装硬件按下DAQ附件上的数字触发按钮。波形图表应当开始显示一个正弦波。波形图表应当开始显示一个正弦波。由于不存在可以切换的物理触发器,所以不需要使用触发器。使用DAQ信号刚件上的频率调整转盘改变正弦波的频率。4)完毕后,将电源开关切换到关的位置。VI会停止运营。5)假如在开关处在关的位置时运营VI会有什么结果?这是在预期之中的吗?6)修改电源开关,使它在按下后回到开的位置,并且开的位置是默认值。*使用操作工具将电源开关置于ON的位置。*右键单击电源开关,从快捷菜单中选择数据操作>>当前值设立为默认值。*右键单击电源开关,从快捷菜单中选择机械动作>>单击时触发。7)运营VI。电源开关是否和预期一致?8)停止并关闭VI。五、实验报告与总结1.调试编辑以上VI,画出以上内容1,2的程序框图。2.理解NI-DAQmx硬件的配置和任务的创建。3.心得体会及其它实验五NIELVIS环境一、实验目的1.了解熟悉NIELVIS环境实验平台。2.使用虚拟仪器进行电子元件参数测量。3.练习基于NIELVIS软件的电路分析。4.联系在LabVIEW工程环境下的NIELVIS使用。二、实验原理NIELVIS简介(NIELVIS——EducationalLaboratoryVirtualInstrumentationSuite)NIELVIS硬件组成①运营LabVIEW的计算机②DAQ卡③68针串行电缆④NIELVIS实验板⑤NIELVISBenchtop工作台图6.1NIELVIS硬件组成DAQ卡——PCI-625116路模拟输入(16位);每通道1.25M/s采样率(总计1MS/s)2路模拟输出(16位,2.8MS/s);24路数字I/O(每8共享一个时钟);32位计数器使用对传感器与高电压测量进行SCC信号调理的Mass终端版使用用于OEM的仅含板卡的套件与LabVIEW、LabWindows/CVI和VisualStudio.NET的MeasurementStudio兼容NI-DAQmx驱动软件和NILabVIEWSignalExpress交互式数据记录软件图6.2工作台前面板2)NIELVISBenchtop图6.2工作台前面板①系统电源指示⑤函数发生器控件②实验板电源开关⑥数字万用表连接器③通信开关(NORMAL/BYPASS)⑦示波器连接器④可变电压源控件(+/-)实验板插槽和保护板Benchtop工作台和DAQ设备仪器构成完整实验系统。工作台上的前面板提供用于函数发生器和可变电源的旋钮,并且为NIELVIS-示波器SFP和NIELVIS-数字万用表SFP提供BNC和香蕉插座。Benchtop工作台带有一个保护板,用于保护DAQ卡。3)NIELVIS实验板①AI,示波器,和可编程函数①AI,示波器,和可编程函数I/O信号行②数字I/O信号行③LED阵列④D-SUB连接器⑤计数器/定期器,用户配置I/O,和直流电源信号行⑥DMM,AO,FGEN,用户配置I/O,VPS,和直流电源信号行⑦电源指示LED⑧BNC连接器⑨香蕉插座连接器图6.3NIELVIS面板NIELVIS软件1)SFP仪器DigitalMultimeter(DMM)—数字万用表Oscilloscope(Scope)—示波器FunctionGenerator(FGEN)—函数发生器VariablePowerSupplies(VPS)—可变电源BodeAnalyzer—波特图分析器DynamicSignalAnalyzer(DSA)—动态信号分析仪ArbitraryWaveformGenerator(ARB)—任意波形发生器DigitalReader—数字总线读取器DigitalWriter—数字总线写入器ImpedanceAnalyzer—阻抗分析仪Two-WireCurrentVoltageAnalyzer—双线伏安特性分析仪Three-WireCurrentVoltageAnalyzer—三线伏安特性分析仪2)LabVIEWAPI用于NIELVIS硬件编程的四个功能部件:DIO、DMM、FGEN和VPS。2.DMM(数字万用表)图6.4SFP仪器Function功能区:可选电压,电流,电阻,电容得测量选项2)Range选择测量的量程测量方式可选择Run和Single连续和独立一次的方式图6.6可变电源图6.5DMM(数字万用表)3.可变电源该可变电源可以由虚拟仪器板面VPSAPIs控制,由NIELVIS提供两路可变电压源,分别为0到-12V和0到+12V的电压源,每一通路最大限流为500mA。三、实验设备安装有LabVIEW的计算机,NIELVIS测试平台虚拟仪器DMM数字万用表,VPS可变电源电阻:1.0k,2.2k,1.0M,10k.各一个电容:1μF一个热敏电阻:10k.一个四、实验内容1.练习使用DMM(数字万用表)测量电阻和电容A、用两香蕉测笔连接所测元件两端(元件置于面包板上),启动NIELVIS,初始化后选择DigitalMultimeter(DMM)—数字万用表虚拟仪器项,测量电阻时选择[Ω],测量电容时选择挡。R1_______.(1.0k.nominal)R2_______.(2.2k.nominal)R3_______.(1.0M.nominal)C_______(μf)(1μFnominal)图1-3数字万用表欧姆计设立可以使用DMMSFP实现各类操作,如电压、电流、电阻、电容等的测量。通过DMM[X]符号X来表达X操作。本次测量的对的连接方法显示在DMM前面板上。B、点击[Ω]按钮来使用数字欧姆表功能。点击绿色箭头[Run]来开始测量采集。测量3个电阻R1,R2,及R3。将数据填写到下表:R1(1.0K标称值)R2(2.2K标称值)R3(1.0M标称值)假如要停止采集,可点击红色方形[Stop]按钮。注:通过点击模式[Mode]按钮,可将{自动量程}改为{指定量程},并通过点击量程按钮选择最适当的量程。C、在NIELVISII原型板上创建分压电路1、使用R1和R2两个电阻在NIELVISII原型板上搭建以下电路图1-4分压电路2、将输入电压Vo连接至[+5V]引脚接口。3、将共地端连接至[GROUND]引脚接口。4、将外部线一端连接至DMM电压[]及左侧的[COM].5、检查电路后将上推电源开关至上端[—]使原型板上电。3个电源LED指示灯此时均呈绿色并点亮,如下图所示。图1-5NIELVIS开发板上的电源LED指示灯注:假如这些LED中的任何一个呈黄色,而其它为绿色,电源的可重置保险丝都将跳断。此时需要关闭开发板电源以重置保险丝。检查电路也许存在的短路情况。重新给开发板上电。此时LED将均呈绿色。6、将DMM[V]测试端连至Vo,并通过DMM[V]功能测量输入电压。按下点击[Run]来采集电压数据。V0(测量值)_______________根据电路原理,R2上的输出电压V2应由以下公式得到:7、使用上面的测量值R1,R2及Vo来计算V2。接下来,使用DMM[V]来测量电压V2的真实值。V2(计算值)________________V2(测量值)________________8、测量值与计算值是否匹配?D、使用DMM测量电流根据欧姆定律,以上电路的电流(I)等于V2/R2。1、使用V2及R2的测量值计算电流。2、将连接至[V]的外部连线连至电流输入端(A),进行电流的直接测量。将另一端连至电路,如下所示。图1-6测量电流的修改电路3、选择功能DMM[A],并测量电流。I(计算值)________________I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生常见精神障碍的防治
- 耳鼻喉科耳鼻咽喉感染治疗方案
- 胰腺炎合并感染的治疗与护理流程
- 表演课程表情管理
- 初一数学书写规范格式
- 幼儿园精神文明创建工作总结
- 急性腹泻护理管理指南
- 2026年老旧房屋维修改造合同二篇
- 2025-2026学年对韵歌教学设计识字
- 2025-2026学年成长的烦恼作文教案
- 新生儿低血糖的健康宣教
- 物流体系课件
- 介绍嘻哈饶舌说唱
- GB 46750-2025民用无人驾驶航空器系统运行识别规范
- 电梯井内壁渗水堵漏施工方案
- 汽车驾驶员高级工考试题库及答案
- DB3701∕T 59-2024 数字街区 划分与编码
- 医疗计量知识培训课件
- 农行笔试真题全套及答案
- 神经康复现状和发展方向
- 2025年水产高级工程师考试题库
评论
0/150
提交评论