虚拟仪器技术(第2版)
上QQ阅读APP看书,第一时间看更新

3.2 While循环结构

在一个程序中,当不能确定循环次数时,采用While循环。

3.2.1 While循环的建立

While循环位于结构子模板中,它同For循环的区别是:只要满足条件就一直循环下去。它也包含两个端口:条件端口、重复端口,如图3-8所示。

978-7-111-58789-7-Chapter03-12.jpg

图3-8 While循环的建立

条件端口输入的是布尔型数据量,用于判断循环的停止条件,默认设置为真(T)时停止,当条件为真时退出循环,如图3-9a所示。如果选中真(T)继续,当条件为假时退出循环,如图3-9b所示。如果端口连接的是错误信息簇参数,则条件端口的控制方式变为出现错误停止和出现错误继续,分别表示遇到错误时停止还是继续执行,如图3-9c、d所示。

978-7-111-58789-7-Chapter03-13.jpg

图3-9 While循环的终止条件

3.2.2 While循环应用

While循环控制程序反复执行一段代码,直到某个条件发生。所以,在LabVIEW程序设计中经常使用While循环。

【例3-3】 实现对随机数进行平滑滤波。通过对4个连续的随机数求其平均值来实现。

1)新建一个VI,在前面板上放置两个名称为波形图表的波形显示控件,一个标签为“原始波形”,另一个标签为“滤波后波形”。

2)在程序框图上放置一个While循环,在边框添加一个移位寄存器,然后在左边的寄存器上单击鼠标右键,选择“添加元素”,一共添加3个。

3)添加随机数产生函数,并添加复合运算函数,将连续产生的4个随机数相加,相加的结果除以4。

4)放置循环定时函数,定义循环时间为100ms。

5)完成连线,运行程序。

程序流程图如图3-10所示,滤波前后的波形图如图3-11所示。

978-7-111-58789-7-Chapter03-14.jpg

图3-10 循环结构流程图

978-7-111-58789-7-Chapter03-15.jpg

图3-11 滤波前后的波形图