


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
循环结构 LabVIEW中的循环结构有 for 循环和 while 循环。其功能与文本语言的循环结构的功能类似类似,可以控制循环体内的代码执行多次。一、for 循环 但是 LabVIEW 中的 for 循环的限制更多一些。 1 For 循环的迭代器只能从 0 开始,并且每次只能增加 1。 2 For 循环不能中途中断退出。C 语言里有 break 语句,但在 LabVIEW 中不要试图中间停止 for 循环。 外部数据进入循环体是通过隧道进入的,有几种方式:图1:For 循环结构上的隧道 图 1 所示的 For 循环结构演示了三种隧道结构,就是在 For 循环结构左右边框上用于数据输入输出的节点。这三种隧道从上至下分别是:索引隧道、移位寄存器(shift register)、一般隧道。 一般隧道,就是把数据传入传出循环结构。数据的类型和值在传入传出循环结构前后不发生变化。 索引隧道是 LabVIEW 的一种独特功能。一个循环外的数组通过索引隧道连接到循环结构上,隧道在循环内一侧会自动取出数组的元素,依顺序每次循环取出一个元素。用索引隧道传出数据,可以自动把循环内的数据组织成数组。 通过移位寄存器传入传出数据,也是数据的类型和值都不会发生变化。移位寄存器的特殊之处在于在循环结构两端的接线端是强制使用同一内存的。因此,上一次迭代执行产生的某一值,传给移位寄存器右侧的接线端,如果下一次迭代运行需要用到这个数据,从移位寄存器左侧的接线端引出就可以了。 C 语言程序员初学 LabVIEW,在使用循环结构时,常常为创建一个中间变量烦恼。为循环中的变量创建一个 Local Variable 不是好的方法。我们应当时刻记得 LabVIEW 与一般文本语言不同,LabVIEW 的数据不是保存在显示的变量里,而是在连线上流动的。LabVIEW 是通过移位寄存器把数据从一次循环传递到下一次的。图2:反馈节点 如果单纯是为了让下一次迭代使用上次迭代的数据,也可以使用反馈节点,如图2所示。 移位寄存器左侧的接线端可以不只有一个,用鼠标可以把左侧的接线端拉出多个来,如图3所示。下面的接线端可以记录上两次、三次的数据。图3:多接线端移位寄存器 使用数组的隧道有一些需要注意的事项,参考:LabVIEW 代码中常见的错误。 从 LabVIEW 8.5 开始,for 循环增加了结束判断条件。for 循环也可以像 while 循环那样随时结束运行。二、While 循环 LabVIEW 的 While 循环相当于文本语言中的 do. while. 循环。有些语言还有 while. do. 循环,LabVIEW 没有这样的循环。LabVIEW 的 while 循环至少要运行一次。 for 循环中可以用的数据传递方式,几种隧道也都可以在 while 循环中使用。所以在很多情况下,while 循环可以替代 for 循环。 While 循环比 for 循环(LV 8.5 之前)灵活的地方是可以进入循环后在决定何时循环结束。比如,希望当某一变量大于一个值时停止循环,这种情况下不能预知循环次数,所以一定要使用 while 循环。 while 循环也有不利的方面: 首先,for 循环更利于阅读。读者一眼就可以看出程序会内运行多少次。 其次,while 循环也可以使用带索引的隧道来构造数组,但是它的效率低于 for 循环。图4:使用循环构造数组 如图4,用两种循环所产生的数组大小是相同的。但是如果使用的是 for 循环,LabVIEW 在循环运行之前,就已经知道数组的大小是100,因此 LabVIEW 可以一次为 Array1 分配一个大小为 100 的内存空间。但是对于 while 循环,由于循环次数不能在循环运行前确定,LabVIEW 无法一次就为 Array2 分配合适的内存空间。LabVIEW 会在 while 循环的过程中不断调整 Array2 内存空间的大小,因此效率较低。 所以,在可以确定次数的情形下,最好使用 for 循环。三、移位寄存器 移位寄存器除了在迭代间传递局部数据,还有其他一些功能。 首先,移位寄存器可以用于程序的内存优化。 由于移位寄存器的左右接线段使用的是同一块缓存,可以利用这一特性,显示的告诉 LabVIEW
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度冷链物流车辆运输居间代理服务专项合同
- 2025年有机蔬菜种植基地使用权转让合同
- 口岸基本知识培训课件
- 2025年度城市地铁工程大型设备安全运输及维护保养服务合同
- 2025年大型数据中心建设与运营管理服务外包合同
- 2025年智能家居建材一体化解决方案供货合同
- 2025年电商网红与直播平台年度品牌推广合作合同
- 2025年度餐饮企业数字化升级改造项目合作协议
- 培训老师心理学知识总结课件
- 2025年新能源汽车抵押租赁及绿色能源补贴申请综合服务协议
- 船舶安全教育培训内容
- 人工动静脉瘘闭塞查房
- 2025年贵州省中考数学试卷及答案
- 学堂在线 积极心理学(上)厚德载物篇 章节测试答案
- 胖东来运营经理培训课件
- 供电公司信访管理制度
- 木工入场安全教育试卷(含答案)
- 工厂厂规厂纪管理制度
- 2025全球翻译行业发展报告
- T/CCS 025-2023煤矿防爆锂电池车辆动力电源充电安全技术要求
- 贴膜安装服务合同协议书
评论
0/150
提交评论