在程序设计中,如果需要重复执行一段代码,就需要使用循环结构。接下来我们将介绍在LabVIEW中常常使用的2种循环结构While 循环和For 循环。
1. While 循环
与文本编程语言中的Do循环类似,While 循环 将执行子程序框图直到满足特定条件(如图1)。
图1.1 While 循环流程图
我们通过以下的例子来具体介绍While循环:
图1.2是使用while循环产生一个随机序列,当该序列中有值大于0.9或者停止按钮被按下时代码停止。(该程序见附件Random generate.vi)
图1.2 While 循环产生随机序列
条件接线端:While循环会一直执行代码,直到条件接线端收到特定的布尔值时才会停止。在本例中,当由停止键按下或者产生的随机数大于0.9时就会终止该程序。 条件接线端一般默认为真时停止(),当该接线端输入为真时程序就终止。也可以选择真时继续()。
计数接线端:表示已经完成的循环次数,该计数从0开始。在本例中,如果当产生的第13个点值超过0.9时,计数器值为12。
结构隧道: 当需要将循环中的数据传入或者传出时,我们使用隧道的方式(这一点将在后面详细介绍)。
2. For 循环
For循环常用于已知代码循环次数的情况,比如数组的操作。下面是For循环的流程图:
2.1 For 循环的流程图
我们通过以下的例子来具体介绍以下For循环:
如图2.2,使用For循环产生一个3×4的二维随机数组。(该程序见附件Generate array.vi)
图2.2 For循环产生3×4的二维随机数组
计数接线端(输入):通过计数接线端指定For循环的循环次数。该接线端计数从1开始。
计数接线端(输出):表示For循环已经完成的循环次数。该接线端计数从0开始。
如图2.2,生成3×4的二维数组后,维数1和维数2分别为3,2。
3. While 循环 与 For 循环的区别:
一般来说,如果已知循环的次数,那么使用For循环比较简便;如果循环次数未知,那么就需要使用While循环。另外,因为While循环提供了一个布尔的条件判断端,可以通过布尔运算实现对复杂条件的判断。
我们可以使用While循环来迚行错误处理:如图3.1, 将错误簇连接到条件接线端上时,那么就可以通过停止按钮和程序运行的状态共同来控制程序的运行。对于大多数循环,都建议采用这种方法停止循环。这里以一个数据采集任务为例,我们将数据采集任务的快速VI和停止按钮同时控制程序的运行。如图3.1.(该程序见附件Error control while loop.vi)
图3.1 While 循环的错误处理
练习
1. 针对以下几种问题,考虑使用While循环还是For循环:
(1)一秒钟采集一次温度数据,采集时间是1分钟。如果使用While循环,如何设置停止条件? 如果使用for循环,如何设置循环次数? (2)当温度高于30摄氏度时才开始采集数据,如果使用While循环如何设置
停止条件?如果使用for循环,如何设置循环次数?
2. 产生一个1~100的随机数,当该随机数在一个指定值± 3范围内停止,并
且输出程序循环的次数。 输入:指定值
输出:输出循环次数
3. 程序随机生成一个1~1000的整数作为比较值,每次提示输入一个数值后,会返回该数值和比较值的大小关系,直到输入数值等于比较值。然后返回用户猜测的次数。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务