上QQ阅读APP看书,第一时间看更新
3.2 While循环结构
在一个程序中,当不能确定循环次数时,采用While循环。
3.2.1 While循环的建立
While循环位于结构子模板中,它同For循环的区别是:只要满足条件就一直循环下去。它也包含两个端口:条件端口、重复端口,如图3-8所示。
图3-8 While循环的建立
条件端口输入的是布尔型数据量,用于判断循环的停止条件,默认设置为真(T)时停止,当条件为真时退出循环,如图3-9a所示。如果选中真(T)继续,当条件为假时退出循环,如图3-9b所示。如果端口连接的是错误信息簇参数,则条件端口的控制方式变为出现错误停止和出现错误继续,分别表示遇到错误时停止还是继续执行,如图3-9c、d所示。
图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所示。
图3-10 循环结构流程图
图3-11 滤波前后的波形图