LabVIEW实验指导书
3)函数模板(Functions Palette,又称功能模板) 功能模板是创建框图程序的工具,其每一个顶层图标都表示一个子模板。若功能模板不出现,则可用Show Functions Palette打开。如图1-5所示。
注:只有激活了框图程序窗口,才能出现功能模板。 3.虚拟仪器程序的创建
VI程序具有三个要素:前面板、框图程序和图标/连接器。 1)前面板
使用输入控制和输出显示来构建前面板。控制是用户输入数据到程序的接口,显示是输出程序产生的数据接口。
两种最常用的前面板对象是数字控制和数字显示。若想在数字控制中输入或修改数值,可使用操作工具点击控制部件和增减按钮,或用操作工具或标签工具双击数值栏进行数值修改。
2)框图程序
框图程序是由节点、端点、图框和连线四种元素构成的。 节点类似于文本语言的语句、函数或子程序。LabVIEW有两种节点:函数和子VI节点。区别:函数节点是LabVIEW以编译好的机器代码供用户使用的,而子VI节点是以图形语言形式提供给用户的。用户可访问和修改任一子VI节点的代码,但无法对函数节点进行修改。
端点是只有一路输入/输出,且方向固定的节点。LabVIEW有三类端点:前面板对象端点、全局与局部变量端点和常量端点。对象端点是数据在框图程序部分和前面板之间传输的接口。一般来说,一个VI前面板上的对象都在框图中有一个对象端点与之一一对应。控制对象对应的端点在框图中是用粗框框住的,如图1-6中的A和B端点,它们只能作为数据流源点。显示对象对应的端点是用细框框住的。如A+B和A-B端点。它们只能作为数据流终点。常量端点永远只能作为数据流源点。
图框是LabVIEW实现程序结构控制命令的图形表示。如循环控制、条件分支控制和顺序控制等,编程人员可以使用它们控制VI程序的执行方式。代码接口节点(CIN)是框图程序与用户提供的C语言文本程序的接口。
图1-6 简单的程序框图和前面板
连线是端口间的数据通道。类似于普通程序中的变量。数据是单向流动的,从源端口向一个或多个目的端口流动。不同的线型代表不同的数据类型,并以不同的颜色予以强调。
整 型 蓝色 浮点数 橙色 逻辑量 绿色 字符串 粉色 文件路径 青色
3
LabVIEW实验指导书
当需要连接两个端点时,在第一个端点上点击连线工具,再点击第二个端点。
当把连线工具放在端点上时,该端点将会闪烁,表示连线将会接通。当连线工具从一个端口接到另一个端口时,不需要按鼠标键。当连线转弯时,按空格键可以改变转角的方向。
3)从框图程序窗口创建前面板对象
用选择和连线工具,可以用鼠标右键点击任一节点和端点,然后从弹出菜单中选择―创建常数‖,―创建控制‖,或―创建显示‖等命令。
4)数据流编程
控制VI程序的运行方式叫做―数据流‖。对一个节点而言,只有当它的所有输入端口上的数据都成为有效数据时,它才能被执行。当节点程序运行完毕后,它把结果数据送给所有的输出端口,使之成为有效数据。并且数据很快从源送到目的端口。
如图1-7所示,这个VI程序把两个输入相乘,再减去50.0。这个程序中,框图程序从左往右执行,这个执行次序不是由于对象的摆放位置,而是由于相减运算函数的一个输入量是相乘函数的运算结果,它只有当相乘运算完成并把结果送到减运算的输入口后才能继续下去。
图1-7 数据流举例 图1-8数据流举例
如图1-8所示,你认为哪一个节点函数将先执行?是乘法还是除法?在这个例子中,我们无法知道哪一个节点函数首先执行,因为所有输入量几乎同时到达。
4.程序调试技术
程序调试是进行任何程序设计过程中所必须的过程。在程序设计中不可避免地会有各种逻辑上和语法上的错误,这些都需要通过程序调试找出来加以改正。
1)找出语法错误
如果一个VI程序存在语法错误,则运行按钮将会变成一个折断的箭头,表示程序不能被执行。这个按钮被称作错误列表。点击,则LabVIEW弹出错误清单窗口,点击其中任何一个所列出的错误,选用Find功能,则出错的对象或端口就会变成高亮。
2)设置执行程序高亮
点击―高亮执行‖按钮使其变成高亮形式,再点击运行按钮,VI程序就以较慢的速度运行,没有被执行的代码灰色显示,执行后的代码高亮显示,并显示数据流线上的数据值。这样,我们就可以在根据数据的流动状态跟踪程序的执行。
3)断点与单步执行
使用断点工具可以在程序的某一地点中止执行,用探针或者单步方式查看数据。使用断点工具时,点击设置或者清除断点的地方。断点的显示对于节点或者图框表示为红框,对于连线表示为红点。当VI程序运行到断点被设置处,程序被暂停在将要执行的节点,以闪烁表示。按下单步执行按钮,闪烁的节点被执行,下一个将要执行的节点变为闪烁,指示它将被执行。
4)探针
可以用探针工具来查看当框图程序流经某一根连接线时的数据值。探针显示窗口总是被显示在前面板窗口或框图窗口的上面。
4
LabVIEW实验指导书
三、实验内容
1.创建自己的第一个VI。编写程序,实现将一华氏温度(F)转换成摄氏温度(C)的功能。已知摄氏温度与华氏温度的关系C=5(F-32)/9。
(1)前面板设计
如图1-9,华氏温度为数值输入控件,摄氏温度作为显示控件,按要求设置标签和显示范围,同时配数字显示。
图1-9 Temp前面板 图1-10 Temp程序框图
(2)程序框图
如图1-10所示设计程序框图,建议数值常数使用在连接端子处点击右键创建(Create)常量(Constant)的方法更好些。
(3)把该VI命名为Temp.vi,保存为 D:\\Yourname\\的文件夹中。 2.自己创建一个VI,完成以下功能: 将两个输入的数字相加并显示结果;将同样两个输入数字相乘并显示结果;比较两个输入数字,如果数字相等,则LED指示灯亮。最后,保存为Simple Math.vi文件。
如图1-11:A和B为数字控件输入,两个数字指示器分别显示输出结果A+B和A×B,当输入数字A和B相同时,将点亮LED。
图1-11 实验2的前面板
3.子VI的创建与调用
1)打开练习1中Temp.vi。
2)设计图标编辑器,如图1-12所示,绘制一个温度计,创建一个TEMP的文本。注意只能在前面板中编辑图标和联接器。
图1-12 编辑后的图标编辑器窗口
5
LabVIEW实验指导书
3)设置联接器端子。
4)调用创建的子Temp,使其实现实验1的功能。 4.设计一个VI程序,计算一元二次方程的两根。
四、思考题
1. 写一个VI比较两个数的大小,如图所示:当A>B时,指示灯亮。
2. 写一个温度监测器,如图所示,当温度超过报警上限,而且开启报警时,报警灯点亮。温度值可以由随机数发生器产生。
五、实验报告要求
1.调试编辑以上VI,按顺序打印以上VI的前面板与程序框图后,贴在实验报告上;实验报告中要求详细说明设计步骤要点。
2.理解基于数据流编程的基本编程思路。 3.总结VI基本编程的快捷操作。
4.简述VI程序有什么构成,其各部分的功能是什么。
5.思考:在前面板和框图程序中,如何区分控制器和指示器。 6.心得体会及其它。
6
LabVIEW实验指导书
实验二 LabVIEW程序结构——循环结构
一、实验目的
1.学习并掌握For循环和While循环以及它们的不同点。
2.学习使用移位寄存器(Shift Register)和反馈节点(Feedback Node)。 二、实验原理
While循环和For循环在函数的结构(Structures)选项板中可以找到。创建循环的具体方法是,选择该循环后,先在欲放入循环内执行的对象左上方单击,然后按下鼠标,拖曳出一个矩形框包围执行对象。释放鼠标时就创建了一个指定大小和位置的循环。
While循环可以反复执行循环体的程序,直至到达某个边界条件。它类似于普通编程语言中的Do循环和Repeat-Until循环。While循环的框图是一个大小可变的方框,用于执行框中的程序,直到条件端子接收到的布尔值为FALSE。
1.For循环和While循环 当程序有确定的循环次数时,使用For循环。在程序框图中添加For循环,如图2-1所示。 (循环次数输入端):For循环必须给定循环次数N(N>0,否则循环不执行),此项一般都要有输入。当For循环的输入数据是一个数组时,如果不给定循环次数,则数组的大小将决定For循环的循环次数。如果同时输入两个数组,循环次数以数组个数最少的决定。(循环计数):计数范围0~N-1。
当具体的循环次数不可知时,我们使用While循环,如图2-2所示。
While循环也有一个循环计数,第一次循环时的值为0。另外,While循环有一个循环条件判断端子。请特别注意,无论如何,都要给While循环结构一个有效的停止条件,否则可能就会使循环陷入死循环的状态。While循环还提供了一个快捷方式:Functions-Express-执行过程控制-While Loop,程序框图如图2-3所示,与图2-2不同的时自动加了一个停止按钮。
图2-1 For循环 图2-2 While循环 图2-3 快捷While
2. 移位寄存器和反馈节点
使用循环结构时,经常会遇到下一次循环要用到上一次循环运行结果的情况,这时就需要不断的将每次循环的结果存储下来,以传递给下一次循环。移位寄存器(Shift Register)和反馈节点(Feedback Node)就是用来实现这样的操作的。
在For循环和While循环中都可以添加移位寄存器和反馈节点,添加方法如下: 1)移位寄存器(Shift Register)
移位寄存器可以将数据从一个循环周期传递到另外一个周期。创建移位寄存器的方法是,用鼠标右键单击循环的左边或者右边,在快捷菜单中选择 Add Shift Register,如图2-4所示。
移位寄存器在流程图上用在循环边框上相应的一对端子来表示。右边的端子中存储了一个周期完成后的数据,这些数据在这个周期完成之后将被转移到左边的端子,赋给下一个周期。移位寄存器可以转移各种类型的数据――数值、布尔数、数组、字符串等等。它会自动适应与
7
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库《虚拟仪器技术》实验指导书(2)在线全文阅读。
相关推荐: