第4讲LabVIEW的基本程序结构课件_第1页
第4讲LabVIEW的基本程序结构课件_第2页
第4讲LabVIEW的基本程序结构课件_第3页
第4讲LabVIEW的基本程序结构课件_第4页
第4讲LabVIEW的基本程序结构课件_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、第四讲 LabVIEW的基本程序结构2015年3月24日第四讲 LabVIEW的基本程序结构2015年3月24日第四讲 LabVIEW的基本程序结构LabVIEW的函数选板中有一个极其重要的子选板:“结构”。结构与其它节点(比如函数、子VI、常量、装饰等)的区别在于,结构是用于控制程序的执行顺序的,会改变程序的流程;而其他节点则多是用于改变程序中的数据。此外,结构体内可以放置程序代码,即其他节点和连线。第四讲 LabVIEW的基本程序结构LabVIEW的函数选板 LabVIEW中的结构放置在程序框图中,其外形一般是一个大小可以缩放的边框,当它与其他节点的连线有数据传递时,边框内的一段代码将反复

2、执行或有条件执行或按某一定的顺序执行。结构内的该段代码则被称为子框图。结构框图可以看成是个代码容器。容器内的代码按照某种条件反复执行。本讲将介绍LabVIEW中的for循环结构、while循环结构、条件结构和顺序结构 LabVIEW中的结构放置在程序框图中,其外形一般是一个大4.1 For循环4.1.1 For循环的组成LabVIEW中的循环与结构位于程序框图的“函数”选板下的“结构”子选板中,如图4-1所示。图4-1 “结构”子选板界面4.1 For循环4.1.1 For循环的组成图4-1 找到For循环后,用鼠标左键单击For循环后会发现鼠标箭头变成一个表示For循环的小图标,此时用户可在

3、程序框图上用鼠标拖放一个任意大小和位置的For循环边框,如图4-2所示。最基本的For循环由循环框架、总数接线端(输入端)、计数接线端(输出端)组成。图4-2 For循环界面循环体,代码有输入、输出端子循环变量i,仅有输出找到For循环后,用鼠标左键单击For循环后会发现鼠标箭头变For循环相当于C语言中的下列程序代码: for(i=0;iN;i+) ;N:总循环次数,i:循环变量,初值为0,增值为1,循环体内为代码For循环相当于C语言中的下列程序代码:4.1.2 简单For循环应用示例图4-3 简单For循环示例FOR循环简单示例? 没有连加4.1.2 简单For循环应用示例图4-3 简单

4、For循4.1.3 自动索引在For循环内的应用自动索引的功能是使循环框外面的数组成员逐个进入循环框内,或使循环框内的数据累加成一个数组输出到循环框外面。循环内-循环外,元素-数组,一维-二维,自动索引值,在完成循环后才一次性输出。For循环的索引可通过鼠标右键单击循环边框的数据通道来启动。4.1.3 自动索引在For循环内的应用自动索引的功能是使4.1.3 自动索引在For循环内的应用尽管For循环和While循环都支持自动索引功能,但其主要区别在于:For循环的数组默认为能自动索引,如不需要索引,可在数组进入循环的通道上单击鼠标右键弹出快捷菜单选择“禁用索引”选项;而While循环中的数组

5、默认为不能自动索引,如果需要索引,可在循环的通道上单击鼠标右键弹出快捷菜单选择“启用索引”选项。另外,在创建二维数组时一般使用For循环而不使用While循环。4.1.3 自动索引在For循环内的应用尽管For循环和W图4-4 For循环自动索引示例自动索引示例自动索引示例24.1.3 自动索引在For循环内的应用图4-4 For循环自动索引示例自动索引示例自动索引示例24.1.4 移位寄存器在For循环内的应用移位寄存器是LabVIEW的循环结构中的一个附加变量对象,其功能是在循环的不同迭代间传递数据。一般来说,移位寄存器可以存储任何类型的数据,但是连接在同一个寄存器两个端子上的数据必须是同

6、一类型的。移位寄存器的类型与第一个连接到其端子之一的对象数据的类型相同。起到C语言中,i+的作用。在LABVIEW中,不支持变量的自赋值。只能通过移位寄存器解决。使用LabVIEW时,凡是循环内需要使用变量的地方,应首先考虑使用移位寄存器。4.1.4 移位寄存器在For循环内的应用移位寄存器是La图4-5 For循环移位寄存器示例当前的i上一次的i当前循环的结果值上次循环的结果值图4-5 For循环移位寄存器示例当前的i上一次的i当前循图4-6 For循环中不添加移位寄存器的结果移位寄存器成对出现,在程序中使用同一块内存;使用移位寄存器需要赋初值;图4-6 For循环中不添加移位寄存器的结果移

7、位寄存器成对和移位寄存器一样,反馈节点也是用来实现数据在前后两次循环中的传递。但与移位寄存器相比,使用反馈节点有时能让程序更加简洁易懂。循环中一旦连线构成反馈,就会自动出现反馈节点的符号。反馈节点符号由两部分构成,分别为初始化端子和反馈节点箭头。和移位寄存器一样,反馈节点也是用来实现数据在前后两次循环中的4.1.5 反馈节点在For循环内的应用 初始化端子 既可位于For循环框图内,也可位于For循环框图外,默认为位于For循环框图内。 反馈节点箭头 表示连线上的数据流动方向,它可以是正向的,也可以是反向的。4.1.5 反馈节点在For循环内的应用 图4-7 For循环中使用反馈节点示例此处没

8、有开启自动索引功能。实心框图4-7 For循环中使用反馈节点示例此处没有开启自动索引在for循环结构的右键菜单中选择“条件接线端”,可以为for循环创建一个接收停止循环命令的接线端,它类似于C语言中跳出循环的break语句。条件接线端有两种停止模式,既可以接收“真”值,让循环停止运行,也可以接收“假”值,让循环停止运行。当条件接线端显示为一个红色圆形 时,表示收到“真”值,停止循环运行。单击条件接线端,使其变成绿色环形箭头 ,则表示在收到“假”值时,停止循环。4.1.6 结束条件在for循环结构的右键菜单中选择“条件接线端”,可以为for4.2 While循环4.2.1 While循环的组成在

9、如图4-1所示的界面中找到While循环后,用鼠标左键单击While循环后会发现鼠标箭头变成一个表示While循环的小图标,此时用户可在程序框图上用鼠标拖放一个任意大小和位置的While循环边框,如图4-8所示。4.2 While循环4.2.1 While循环的组成图4-8 While循环界面 最基本的While循环由循环框架、条件接线端(输入端)和计数接线端(输出端)组成。 图4-8 While循环界面 最基本的 与For循环的计数接线端一样,While的计数接线端也是输出循环已执行次数的数字输出端子。While的条件接线端是一个布尔变量,需要输入一个布尔值。 条件接线端用于控制循环是否继续

10、执行时,有两种使用状态: 默认状态的条件接线端属性为“真(T)时停止”,此时的图标是一个方框圈住的实心的红色圆点,如图4-8右下角所示,这表示当条件为真时循环停止。 与For循环的计数接线端一样,While 当在条件接线端图标上单击鼠标右键选择“真(T)时继续”,则图标变成如图4-9所示,此时表示当条件为真时循环继续。当每一次循环结束时,条件端口检测通过数据连线输入的布尔值和其使用状态决定是否继续执行循环。图4-9 条件端子变换后的While循环界面 当在条件接线端图标上单击鼠标右键选择“ 与For循环是在执行前检查是否符合条件不同,While循环是在执行后再检查条件端子。因此,While循环

11、至少执行一次。图4-10 简单While循环示例 与For循环是在执行前检查是否符合条件不4.3 条件结构条件结构同样位于“函数”选板下的“结构”子选板中。与创建循环的方法类似,我们可以从结构选板中选择条件结构,用鼠标在程序框图上任意位置拖放任意大小的条件结构图框。条件结构由结构框架、分支选择器、选择标签等组成,如图4-11所示。 4.3 条件结构条件结构同样位于“函数”选板下的“结构”子图4-11 条件结构界面图4-11 条件结构界面4.3.1 添加、删除与排序分支在条件结构框架上单击鼠标右键,在弹出的快捷菜单中选择“在后面添加分支”菜单项用户就可以为条件结构添加新的分支,如图4-12所示。

12、图4-12 分支的添加和排序添加完新分支后可在快捷菜单中选择“重排分支”菜单项打开重排分支对话框,在对话框的分支列表中用鼠标拖动列表项可以对分支重新排序。通常,排序按钮以第一个选择值为基准对选择器标签值进行排序。删除分支的操作与添加分支相同。创建新的分支后可以为新分支添加分支名。 4.3.1 添加、删除与排序分支在条件结构框架上单击鼠标右4.3.2 布尔类型的条件选择结构条件结构的一种常见程序模式是:首先比较某个数据,然后把比较的结果传递给分支选择器。条件结构中的两个分支分别是比较结果为“真”、“假”时需要执行的代码。最为常见的布尔型条件结构是用来处理错误数据线的。4.3.2 布尔类型的条件选

13、择结构条件结构的一种常见程序模字符串、整数和枚举类型的数据都可以作为条件结构的条件。这些数据类型与布尔数据的区别在于,布尔型数据只有两个值:“真”或“假”;而其余数据类型可能值都是无穷的。条件结构不可能为每一个可能值都设置一个分支,因此,这时需要选择一个分支作为默认分支,在数据不能满足其他分支的条件时就执行默认分支的代码。条件结构中的一个分支可以对应多个条件,不同条件用逗号隔开。条件标签还可以是一段值,在两个值间用两个点连接就表示这两个数值间的一段值。不同分支的条件必须是唯一的,如果同一条件出现在不同的分支中,会报错。4.3.3 其他数据类型的条件选择结构字符串、整数和枚举类型的数据都可以作为

14、条件结构的条件。这些数例:比较两个整数和,时,弹出对话框显示“”;时,弹出对话框显示“” ;时,弹出对话框显示“”4.3. 合理设置选择条件直接按照程序逻辑描述写,会出现嵌套结构程序的可读性差。变换一下程序的条件判断逻辑,即可避免条件结构嵌套,优化程序代码,改善程序的可读性和效率。把共同的代码放在结构之外,这个原则在条件结构中务必遵循例:比较两个整数和,时,弹出对话框显示“”;4.3. 条件结构隧道可为条件结构创建多个输入输出隧道。条件结构的各个分支上都有输入,但是不是每个分支都必须使用输入。在条件结构一个分支的边框上创建输出隧道时,其他分支边框上也会出现输出隧道。只要有一个输出隧道没有连线,

15、则条件结构每个分支边框上的输出的隧道都显示为白色正方形。隧道可使用数据类型的默认值,不是每个隧道都必须连线。右键单击输出隧道,从快捷菜单中选择未连接时使用默认,这样所有未连线的隧道都将使用隧道数据类型的默认值。 将隧道配置为未连线时自动连接输入和输出隧道,这是推荐的方法 注:每个条件分支的同一输出隧道可以定义不同的数据源,但各个条件必须兼容这些数据类型。4.3. 条件结构隧道可为条件结构创建多个输入输出隧道。(a)不正确的连接边框上的数据通道为中空状态(b)正确的连接边框上的数据通道为实心状态图4-13 连接数据的输入与输出实心框空心框(a)不正确的连接边框上的数据通道为中空状态(b)正确的连

16、4.3. 选择函数4.3. 选择函数4.3. 条件结构示例图4-14 执行两个数相乘或相加运算的Case条件结构示例4.3. 条件结构示例图4-14 执行两个数相乘或相加图4-15 执行两个数相乘或相加运算的Case条件结构示例图4-15 执行两个数相乘或相加运算的Case条件结构示例4.4 顺 序 结 构4.4.1 程序执行顺序4.4 顺 序 结 构4.4.1 程序执行顺序第4讲LabVIEW的基本程序结构课件4.4.2 创建顺序结构要让相互间没有数据线相连的几部分代码按照特定顺序执行,可以使用顺序结构;4.4.2 创建顺序结构要让相互间没有数据线相连的几部分代码第4讲LabVIEW的基本程

17、序结构课件4.4.3 两种顺序结构顺序结构顺序地执行子框图,而这些子框图看起来就像一帧帧的电影胶片,因此称之为帧。顺序结构根据帧排列的不同共有两种类型:层叠式顺序结构、平铺式顺序结构;层叠式顺序结构和平铺式顺序结构的功能相同,不同在于可读性和占用面积的不同。4.4.3 两种顺序结构顺序结构顺序地执行子框图,而这些子框例子第一帧与第三帧间如何传递数据?例子第一帧与第三帧间如何传递数据?图4-16 层叠式顺序结构界面层叠式顺序结构中的数据要借助于顺序结构变量来传递。图4-16 层叠式顺序结构界面层叠式顺序结构中的数据要借助(a)未赋值的局部变量 (b)连接数据 (c)赋值后的局部变量 (d)结果 图4-17 顺序局部变量的创建与使用后续帧中只需根据需要通过连线把顺序局部变量中的数据引出来(a)未赋值的局部变量 (b)连接数据 (c)赋值后的第4讲LabVIEW的基本程序结构课件图4-18 顺序结构中的数据通道图4-18 顺序结构中的数据通道平铺式顺序结构的一个鲜明的特点是它的多个框架不是层叠在一起,而是自左至右平铺,并按从左至右的顺序执行。图4-19 平铺式顺序结构界面平铺式顺序结构的一个鲜明的特点是它的多个框架不是层叠在一起, 层叠式顺序结构与平铺式顺序结构的功能完全相同。他们的主要区别在于平铺式顺序结

温馨提示

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

评论

0/150

提交评论