您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > Labview > 第三讲_LabView程序设计的一般过程
1LabVIEW程序设计的一般过程叶云霞2内容LabView程序设计的一般过程LabView的程序调试方法子VI的建立和调用3LabView程序设计的一般过程一个完整的VI程序由2部分组成:前面板、框图程序(图标/连接口/连线)一个完整的VI程序设计过程:控制器可以输入数据到程序指示器用来显示程序产生的结果前面板的设计框图程序的设计程序调试用户可以利用控制模板和工具模板中加入输入控制器和输出指示器框图程序相当于程序源代码,创建框图程序后,程序才能真正运行添加后,框图程序会出现对应图标框图程序的设计主要是对节点、数据端口和连线的设计调试程序,排除程序执行过程中可能遇到的错误4前面板和框图程序设计的基本概念节点:程序的执行元素。节点类型:数据、函数、VI子程序等。端口:框图程序节点之间传输的接口,或者框图程序和前面板之间传输接口。端口有两种类型:控制器/指示器端口和节点端口(即函数图标的端口)连线:数据通道。5范例设计仪器实现:A*B-50注意:必要时控制量和显示量之间的灵活变换。一个节点(函数)只有当它输入端所有数据都到达后才能执行,而且只有当执行完成后,才会把结果送到输出端口。6显示对象和控制对象的说明显示对象和控制对象都是前面板上的控件,前者有输入端子而无输出端子,后者正好相反,它们分别相当于普通编程语言中的输出参数和输入参数。数值常数对象可以看成是控制对象的一个特例。判别显示对象和控制对象的方法:将鼠标移到图标上,然后点右键,可出现快速菜单(例见右图)。如果菜单中的第一项是ChangtoControl,说明这是一个显示对象,你可以根据需要,将其变为控制对象。如果菜单中的第一项是ChangtoIndicator,说明这是一个控制对象,你也可以根据需要,将其变为显示对象。7连线流程图上的每一个对象都带有自己的连线端子,连线将构成对象之间的数据通道。不是几何意义上的连线,因此并非任意两个端子间都可连线,连线类似于普通程序中的赋值。数据单向流动,从源端口向一个或多个目的端口流动。不同的线型代表不同的数据类型。下面是一些常用数据类型所对应的线型和颜色:8910运行和调试VI运行VI1.运行VI2.连续运行VI3.停止运行VI4.暂停VI运行编好程序后,一般要对程序进行调试,调试的目的:保证没有语法错误,并且能够按用户的目的正确运行,得到错误的结果。11LabVIEW的程序调试技术1.找出语法错误如果一个VI程序存在语法错误,则在面板工具条上的运行按钮会变成一个折断的箭头,表示程序不能被执行。这时该按钮被称作错误列表。点击它,则LabVIEW弹出错误清单窗口,点击其中任何一个所列出的错误,选用Find功能,则出错的对象或端口就会变成高亮。2.设置执行程序高亮在LabVIEW的工具条上有一个画着灯泡的按钮,这个按钮叫做“高亮执行”按钮上。点击这个按钮使它变成高亮形式,再点击运行按钮,VI程序就以较慢的速度运行,没有被执行的代码灰色显示,执行后的代码高亮显示,并显示数据流线上的数据值。这样,你就可以根据数据的流动状态跟踪程序的执行。12LabVIEW程序调试技术3.断点与单步执行为了查找程序中的逻辑错误,有时希望流程图程序一个节点一个节点地执行。使用断点工具可以在程序的某一地点中止程序执行,用探针或者单步方式查看数据。使用断点工具时,点击你希望设置或者清除断点的地方。断点的显示对于节点或者图框表示为红框,对于连线表示为红点。当VI程序运行到断点被设置处,程序被暂停在将要执行的节点,以闪烁表示。按下单步执行按钮,闪烁的节点被执行,下一个将要执行的节点变为闪烁,指示它将被执行。你也可以点击暂停按钮,这样程序将连续执行直到下一个断点。4.探针可用探针工具来查看当流程图程序流经某一根连接线时的数据值。从Tools工具模板选择探针工具,再用鼠标左键点击你希望放置探针的连接线。这时显示器上会出现一个探针显示窗口。该窗口总是被显示在前面板窗口或流程图窗口的上面。在流程图中使用选择工具或连线工具,在连线上点击鼠标右键,在连线的弹出式菜单中选择“探针”命令,加上一个探针同样可以为该连线。13当Run断开时,常见错误要求输出输入的函数端子没有连接。数据类型不匹配等造成断线。存在错误子VI。将两个控制量连在一起。找不到某个子VI。。。14(1)单步(入)执行(2)单步(跳)执行(3)单步(出)单步执行VI(多数与高亮显示联合使用)15stepinto就是单步执行,遇到子函数就进入并且继续单步执行;stepover是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。stepout就是单步执行时,用stepout就可以执行完程序余下部分,并返回。16高亮显示数据流单击工具条中运行VI,再框图程序上实时显示程序执行过程。通常和单步结合使用。172.设置断点将工具模板总鼠标切换到断点工具状态,单击框图程序中需设置断点的地方即可。183.设置探针将工具模板总鼠标切换到探针工具状态,单击框图程序中需查看的数据连线,会弹出一个对话框,若有数据流过,即显示该数据值。19调试练习20练习编程并调试通过下面的要求,练习LabVIEW的操作。画出如右下所示的流程图,配以适当的前面板。注意连线时快捷菜单和Create功能的使用,和在前面板上替换不同的Indicator的方法。3.14cos(x)sin(x)请大家课后反复练习。21LabVIEW子VI子VI(SubVI)相当于普通编程语言中的子程序,也就是被其他的VI调用的VI。可以将任何一个定义了图标和联接器的VI作为另一个VI的子程序。一个框图主程序可以多次调用同一个子VI。任何VI都可以作为其它VI的子VI,只要设置好图标和联结器。注意:一个VI不能调用它自身。如果确有必要,可以间接调用,后续。22LabVIEW子VI在流程图中打开Functions»SelectaVI….,就可以选择要调用的子VI。构造一个子VI主要的工作就是编制程序,并且为这个程序定义它的图标和联接器。每个VI在前面板和流程图窗口的右上角都显示了一个默认的图标。启动图标编辑器的方法是,用鼠标右键单击面板窗口的右上角的默认图标,在弹出菜单中选择EditIcon。23LabVIEW子VI的建立下图显示了图标编辑器的窗口。可以用窗口左边的各种工具设计像素编辑区中的图标形状。编辑区右侧的一个方框中显示了一个实际大小的图标。图标编辑器窗口24LabVIEW子VI联接器是VI数据的输入输出接口。如果用面板控制对象或者显示对象,从子VI中输出或者输入数据,那么这些对象都需要在联接器面板中有一个连线端子。您可以通过选择VI的端子数,并为每个端子指定对应的前面板对象以定义联接器。定义联接器的方法是,用鼠标右键单击面板窗口中的图标窗口,在快捷菜单中选择ShowConnector。25LabVIEW子VI建立为子VI创建图标和联接器1.打开目录中已经编制好的VI程序。2.在前面板中,用鼠标右键单击窗口右上角的图标,在快捷菜单中选择EditIcon….,也可以双击图标激活图标编辑器。注意只能在前面板中编辑图标和联接器。3.删除默认图标。使用SelectTool(矩形框),单击并拖动想要删除的部分,按下Delete。也可以通过双击工具框中的阴影矩形删除图标。26LabVIEW的初步操作4.用PencilTool(铅笔工具)绘制一个温度计。5.用TextTool(文本工具)创建文本。得到图标将如下图所示。图1-6编辑后的图标编辑器窗口27LabVIEW的初步操作6.单击OK,关闭编辑器。新创建的图标就显示在屏幕右上角的图标窗口中。7.用鼠标右键单击前面板中的图标窗口,在快捷菜单中选择ShowConnector,设置联接器端子连接模式。在默认情况下,LabVIEW会根据前面板中的控制对象和显示对象的数目确定联接器的端子连接模式。因为前面板中有两个对象,所以联接器有两个端子,如下图所示。用鼠标右键单击联接器窗口,在快捷菜单中选择Rotate90Degrees(旋转90度),注意联接器窗口的变化,如下图所示。28LabVIEW的初步操作9.将端子连接到相应图标上:a.点击联接器上部端子。光标自动变成连线工具,同时端子变成黑色。b.单击温度显示对象。一个移动的虚线框把它包围起来,选中的端子的颜色变为与控制/显示对象的数据类型一致的颜色。(如果单击前面板中的任何空白区域以后,虚线消失,选中的端子变暗,这表示您已经成功地把显示对象和上部端子连接起来。如果端子是白色,则表示没有连接成功。)c.重复步骤a和b,把底部的端子和容积计连接起来。d.用鼠标右键单击联接器,在快捷菜单中选择ShowIcon….29LabVIEW的初步操作10.选择File»Save,保存该VI。这样这个VI就完成了,并也可以作为子VI被其他的VI调用。子VI的图标在主VI的流程图中代表它。VI的联接器(含有两个端子)输出相应的量。30完整范例用虚拟仪器模拟温度测量,设温度传感器输出温度与电压成正比,例如,当传感器输出电压为0.6V时,温度为60°F。程序用随机数产生器代替DAQ数据采集卡,程序是把所测得的电压值转换成摄氏或华氏温度读数。31设计前面板32后面板设计133程序运行演示存盘,名称为:温度计.vi。34子VI的建立35编辑图标36端口设置37子VI程序调用举例使用一个条件循环结构和一个被测波形图表实时地采集数据。将创建一个VI程序,进行温度测量,并把结果在波形图表上显示。该VI程序使用我们前面创建的温度计程序(ThermometerVI)作为子程序。38练习1.创建一个VI。发生一个值为0.0~1.0的随机数a,放大10倍后与某一常数b比较,若ab,则指示灯亮。要求:①编程实现;②单步调试程序;③应用探针观察各数据流。④子程序调用2.创建和调用子VI。①创建一个子VI,子VI功能:输入3个参数后,求其平方和,再开方。②编一个VI调用上述子VI。39选定内容创建子VI当程序设计过程中,需要将一部分内容模块化——创建子VI选定需要模块化的内容;从编辑菜单中选择创建子程序。40作业1创建一个子VI,然后用一个输入数除另一输入数,并显示结果。如果除数为0,则报警。创建一主程序产生产生一个0~100的随机数,用输入数除该随机数,显示结果。如果输入数为0,则报错。41作业2设计一个VI程序,根据所给的x1,y1,x2,y2的值求出直线的斜率。把此程序作为子程序,自己设计一个简单的VI程序调用此子程序。42作业343
本文标题:第三讲_LabView程序设计的一般过程
链接地址:https://www.777doc.com/doc-7028548 .html