第三讲 LabView程序设计的一般过程_第1页
第三讲 LabView程序设计的一般过程_第2页
第三讲 LabView程序设计的一般过程_第3页
第三讲 LabView程序设计的一般过程_第4页
第三讲 LabView程序设计的一般过程_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 LabVIEWLabVIEW 程序设计的一般过程程序设计的一般过程 叶云霞叶云霞 2 内容 vLabView程序设计的一般过程 vLabView的程序调试方法 v子VI的建立和调用 3 LabView程序设计的一般过程 一个完整的一个完整的VI程序由程序由2部分组成:部分组成: 前面板、框图程序前面板、框图程序( (图标图标/ /连接口连接口/ /连线连线) ) 一个完整的一个完整的VI程序设计过程:程序设计过程: 控制器可以输入数据到程序控制器可以输入数据到程序 指示器用来显示程序产生的结果指示器用来显示程序产生的结果 前面板的设计前面板的设计框图程序的设计框图程序的设计 程序调试程序调

2、试 用户可以利用控制模板和用户可以利用控制模板和 工具模板中加入输入控制工具模板中加入输入控制 器和输出指示器器和输出指示器 框图程序相当于程序源框图程序相当于程序源 代码,创建框图程序后,代码,创建框图程序后, 程序才能真正运行程序才能真正运行 添加后,框图程序会出现对应图标添加后,框图程序会出现对应图标 框图程序的设计主要是对框图程序的设计主要是对 节点、数据端口和连线的节点、数据端口和连线的 设计设计 调试程序,排除程序执行调试程序,排除程序执行 过程中可能遇到的错误过程中可能遇到的错误 4 前面板和框图程序设计的基本概念 节点:程序的执行元素。 节点类型:数据、函数、VI子程 序等。

3、端口:框图程序节点之间传输的 接口,或者框图程序和前面板之 间传输接口。 端口有两种类型:控制器/指示 器端口和节点端口(即函数图标 的端口) 连线:数据通道。 5 范例 设计仪器实现:A*B-50 注意:必要时控制量和显示量之间的灵活变换。必要时控制量和显示量之间的灵活变换。 一个节点(函数)只有当它输入端所有数据都到达一个节点(函数)只有当它输入端所有数据都到达 后才能执行,而且只有当执行完成后,才会把结果后才能执行,而且只有当执行完成后,才会把结果 送到输出端口。送到输出端口。 6 显示对象和控制对象的说明 显示对象和控制对象都是前面板上的控件,前者有输入端子 而无输出端子,后者正好相反

4、,它们分别相当于普通编程语言中 的输出参数和输入参数。 数值常数对象可以看成是控制对象的一个特例。 v判别显示对象和控制对象的方法:将鼠标移到图标上,然后点右 键,可出现快速菜单(例见右图)。如果菜单中的第一项是 Chang to Control,说明这是一个显示对象,你可以根据需要, 将其变为控制对象。如果菜单中的第一项是Chang to Indicator ,说明这是一个控制对象,你也可以根据需要,将其变 为显示对象。 7 连线 v流程图上的每一个对象都带有自己的连线端子,连线 将构成对象之间的数据通道。 v不是几何意义上的连线,因此并非任意两个端子间都因此并非任意两个端子间都 可连线,连

5、线类似于普通程序中的赋值可连线,连线类似于普通程序中的赋值。 v数据单向流动,从源端口向一个或多个目的端口流动。 v不同的线型代表不同的数据类型。下面是一些常用数 据类型所对应的线型和颜色: 8 9 10 运行和调试运行和调试VIVI 运行运行VIVI 1. 1.运行运行VIVI 2. 2.连续运行连续运行VIVI 3. 3.停止运行停止运行VIVI 4. 4.暂停暂停VIVI运行运行 编好程序后,一般要对程序进行调试,调试的目的: 保证没有语法错误,并且能够按用户的目的正确运行, 得到错误的结果。 11 LabVIEW的程序调试技术程序调试技术 1 1找出语法错误找出语法错误 如果一个如果一

6、个VIVI程序存在语法错误,则在面板工具条上的运行按钮会变成一个程序存在语法错误,则在面板工具条上的运行按钮会变成一个 折断的箭头,表示程序不能被执行。折断的箭头,表示程序不能被执行。这时该按钮被称作错误列表。点击它, 则LabVIEW弹出错误清单窗口,点击其中任何一个所列出的错误,选用Find 功能,则出错的对象或端口就会变成高亮。 2 2设置执行程序高亮设置执行程序高亮 在LabVIEW的工具条上有一个画着灯泡的按钮,这个按钮叫做“高亮执 行”按钮上。点击这个按钮使它变成高亮形式,再点击运行按钮,VI程序就 以较慢的速度运行,没有被执行的代码灰色显示,执行后的代码高亮显示, 并显示数据流线

7、上的数据值。这样,你就可以根据数据的流动状态跟踪程序 的执行。 12 LabVIEW程序调试技术程序调试技术 3 3断点与单步执行断点与单步执行 为了查找程序中的逻辑错误,有时希望流程图程序一个节点一个节点地执行。 使用断点工具可以在程序的某一地点中止程序执行,用探针或者单步方式查看数 据。使用断点工具时,点击你希望设置或者清除断点的地方。断点的显示对于节 点或者图框表示为红框,对于连线表示为红点。当VI程序运行到断点被设置处, 程序被暂停在将要执行的节点,以闪烁表示。按下单步执行按钮,闪烁的节点被 执行,下一个将要执行的节点变为闪烁,指示它将被执行。你也可以点击暂停按 钮,这样程序将连续执行

8、直到下一个断点。 4 4探针探针 可用探针工具来查看当流程图程序流经某一根连接线时的数据值。从Tools工 具模板选择探针工具,再用鼠标左键点击你希望放置探针的连接线。这时显示器 上会出现一个探针显示窗口。该窗口总是被显示在前面板窗口或流程图窗口的上 面。在流程图中使用选择工具或连线工具,在连线上点击鼠标右键,在连线的弹 出式菜单中选择“探针”命令,加上一个探针同样可以为该连线。 13 当Run断开时,常见错误 v要求输出输入的函数端子没有连接。 v数据类型不匹配等造成断线。 v存在错误子VI。 v将两个控制量连在一起。 v找不到某个子VI 。 14 (1)(1)单步(入)执行单步(入)执行

9、(2)(2)单步(跳)执行单步(跳)执行 (3)(3)单步(出)单步(出) 单步执行单步执行VI (多数与高亮显示联合使用)(多数与高亮显示联合使用) 15 vstep into就是单步执行,遇到子函数就进入并 且继续单步执行; v step over是在单步执行时,在函数内遇到子函 数时不会进入子函数内单步执行,而是将子函 数整个执行完再停止,也就是把子函数整个作 为一步。 v step out就是单步执行时,用step out就可以执 行完程序余下部分,并返回。 16 高亮显示数据流高亮显示数据流 单击工具条中单击工具条中 运行运行VIVI,再框图程序上实时显示程序执行过程。,再框图程序上

10、实时显示程序执行过程。 通常和单步结合使用。通常和单步结合使用。 17 2.2.设置断点设置断点 将工具模板总鼠标切换到断点工具状态,单击框将工具模板总鼠标切换到断点工具状态,单击框 图程序中需设置断点的地方即可。图程序中需设置断点的地方即可。 18 3.3.设置探针设置探针 将工具模板总鼠标切换到探针工具状态,单击框将工具模板总鼠标切换到探针工具状态,单击框 图程序中需查看的数据连线,会弹出一个对话框,若图程序中需查看的数据连线,会弹出一个对话框,若 有数据流过,即显示该数据值。有数据流过,即显示该数据值。 19 调试练习 20 练习编程并调试练习编程并调试 v 通过下面的要求,练习LabV

11、IEW的操作。 画出如右下所示的流程图,配以适当的前面板。注意连线时快 捷菜单和Create功能的使用,和在前面板上替换不同的Indicator 的方法。 3.14 cos(x) sin(x) 请大家课后反复练习。请大家课后反复练习。 21 LabVIEW 子子VIVI v子VI(SubVI)相当于普通编程语言中的子程序,也就是被其他的 VI调 用的VI。 v可以将任何一个定义了将任何一个定义了图标图标和和联接器联接器的的 VI作为另一个 VI的子程序。 v一个框图主程序可以多次调用同一个子VI。 v任何VI都可以作为其它VI的子VI,只要设置好图标和联结器。 注意:一个一个VIVI不能调用它

12、自身。如果确有必要,可以间接调用,后续。不能调用它自身。如果确有必要,可以间接调用,后续。 22 LabVIEW 子子VIVI v在流程图中打开 FunctionsSelect a VI. ,就可以选 择要调用的子 VI 。构造一个子构造一个子VI主要的工作就是编主要的工作就是编 制程序,并且为这个程序定义它的图标和联接器。制程序,并且为这个程序定义它的图标和联接器。 v每个VI在前面板和流程图窗口的右上角都显示了一个 默认的图标。启动图标编辑器的方法是,用鼠标右键 单击面板窗口的右上角的默认图标,在弹出菜单中选 择 Edit IconEdit Icon。 23 LabVIEW 子子VIVI的

13、建立的建立 下图显示了图标编辑器的窗口。可以用窗口左边的各种工具设计像素 编辑区中的图标形状。编辑区右侧的一个方框中显示了一个实际大小的图 标。 图标编辑器窗口 24 LabVIEW子子VIVI v联接器是联接器是 VI 数据的输入输出接口数据的输入输出接口。如果用面板控制 对象或者显示对象,从子 VI 中输出或者输入数据,那 么这些对象都需要在联接器面板中有一个连线端子。 您可以通过选择 VI的端子数,并为每个端子指定对应 的前面板对象以定义联接器。 v定义联接器的方法是,用鼠标右键单击面板窗口中的 图标窗口,在快捷菜单中选择 Show Connector。 25 LabVIEW子VI建立

14、v为为 子子VIVI创建图标和联接器创建图标和联接器 1.1. 打开 目录中已经编制好的VI程序。 2.2. 在前面板中,用鼠标右键单击窗口右上角的图标,在快捷菜单中选择 Edit Icon.,也可以双击图标激活图标编辑器。注意只能在前面板 中编辑图标和联接器。 3 3. 删除默认图标。使用Select Tool(矩形框),单击并拖动想要删除 的部分,按下。也可以通过双击工具框中的阴影矩形删除 图标。 26 LabVIEW的初步操作 4.4. 用 Pencil Tool (铅笔工具)绘制一个温度计。 5.5. 用 Text Tool(文本工具)创建文本。得到图标将如下图所示。 图编辑后的图标编

15、辑器窗口 27 LabVIEW的初步操作 6.6. 单击OK,关闭编辑器。新创建的图标就显示在屏幕右上角的图标窗口中。 7.7. 用鼠标右键单击前面板中的图标窗口,在快捷菜单中选择Show Connector,设置联接器端子连接模式。在默认情况下,LabVIEW 会根 据前面板中的控制对象和显示对象的数目确定联接器的端子连接模式。因 为前面板中有两个对象,所以联接器有两个端子,如下图所示。用鼠标右 键单击联接器窗口,在快捷菜单中选择Rotate 90 Degrees(旋转90 度),注意联接器窗口的变化,如下图所示。 28 LabVIEW的初步操作 9.9. 将端子连接到相应图标上: a. 点

16、击联接器上部端子。光标自动变成连线工具,同时端子变成黑色。 b. 单击温度显示对象。一个移动的虚线框把它包围起来,选中的端子的颜 色变为与控制/显示对象的数据类型一致的颜色。 (如果单击前面板中的任何空白区域以后,虚线消失,选中的端子变暗, 这表示您已经成功地把显示对象和上部端子连接起来。如果端子是白色, 则表示没有连接成功。) c. 重复步骤a 和 b,把底部的端子和容积计连接起来。 d. 用鼠标右键单击联接器,在快捷菜单中选择Show IconShow Icon. 29 LabVIEW的初步操作 选择FileSaveFileSave ,保存该 VI。 这样这个这样这个 VI VI 就完成了

17、,并也可以作为子就完成了,并也可以作为子 VI VI 被其他的被其他的VIVI调调 用。子用。子VI VI 的图标在主的图标在主 VI VI 的流程图中代表它。的流程图中代表它。VI VI 的联接器(含的联接器(含 有两个端子)输出相应的量。有两个端子)输出相应的量。 30 完整范例 v用虚拟仪器模拟温度测量,设温度传感 器输出温度与电压成正比,例如,当传 感器输出电压为 0.6V 时,温度为 60F。 程序用随机数产生器代替 DAQ 数据采集 卡,程序是把所测得的电压值转换成摄 氏或华氏温度读数。 31 设计前面板 32 后面板设计1 33 程序运行演示程序运行演示 存盘,名称为:温度计.v

18、i。 34 子VI的建立 35 编辑图标编辑图标 36 端口设置端口设置 37 子VI程序调用举例 使用一个条件循环结构和一个被测波形图表实时地采 集数据。 v将创建一个VI程序,进行温度测量,并把结果在波形 图表上显示。该VI程序使用我们前面创建的温度计程 序(Thermometer VI)作为子程序。 38 练习练习 1.1.创建一个创建一个VIVI。 发生一个值为发生一个值为0.00.01.01.0的随机数的随机数a a,放大,放大1010倍后与某一倍后与某一 常数常数b b比较,若比较,若abab,则指示灯亮。要求:,则指示灯亮。要求: 编程实现;编程实现; 单步调试程序;单步调试程序; 应用探针观察各数据流。应用探针观察各数据流。 子程序调用子程序调用 2.2.创建和调用子创建和调用子VIVI。 创建一个子创建一个子VIVI,子,子VIVI功能:输入功能:输入3 3个参数后,求其平个参数后,求其平 方和,再开方。方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论