while循环的功能与for循环类似,用于把循环体内的代码重复执行一定的次数。与for循环不同的是,while循环在运行之前是不能确定循环次数的,只能在循环开始执行后,再根据传入条件接线端的数据判断是否执行下一次迭代。For循环可以一次都不执行,但while循环至少执行一次,这与文本语言中的do…while…循环语句类似。在我们编程的时候,如果程序的逻辑是先执行循环,再判断是否停止循环,则应当首先考虑使用while循环。总的来说,while循环是labview编程的关键和核心。

从上图可以看出,决定循环是否停止的唯一条件是条件接线端子的布尔值。上图中布尔条件为真时循环停止,需要我们注意的是在labview中按钮是一个非常重要的布尔控件,它不仅表示确定,输出0或1,它还包括6种机械动作:单击时转换、释放时转换、单击时触发、释放时触发、保持触发直到释放、保持转换直到释放。右键条件接线端还可以设置为真时继续,条件接线端还可以通过连接错误簇停止循环。


提到while循环,就要重点介绍一下移位寄存器,因为它是LabVIEW编程语言中特有的数据传递和存储机制,它依赖于循环结构而存在(for循环和while循环)。移位寄存器存储循环结构一个循环周期到下一个循环周期的数据变动,实现数据从一次循环到下一次循环的传递。LabVIEW中的移位寄存器可以适应任何数据类型,一个循环结构可以同时使用多个不同数据类型的移位寄存器存储数据,而且数目不受限制。移位寄存器体现了LabVIEW的核心编程思想——数据流。

如上图所示,在工业自动化控制领域,状态机是非常常用的程序结构,其中while循环、移位寄存器、以及条件结构是构成状态机的必要元素(条件结构在下一篇内容会详细介绍)。以产品测试为例,我们通过自定义枚举常量创建测试项,连接枚举常量到移位寄存器再到条件结构。每一步需要测试的项目会在条件结构中执行,移位寄存器则实现了测试项从一次循环到下一次循环的传递。
学习总结:1. while循环用于实现代码的重复执行。
2.按钮属于布尔控件,它包括6种机械动作。
3.移位寄存器用于实现数据从一次循环到下一次循环的传递。