1、1第二章 程序结构 循环结构 While 循环While 循环可以反复执行循环体的程序,直至到达某个边界条件。它类似于普通编程语言中的 Do 循环和 Repeat-Until 循环。While 循环的框图是一个大小可变的方框,用于执行框中的程序,直到条件端子接收到的布尔值为 FALSE。 该循环有如下特点: 计数从 0 开始(i=0)。 先执行循环体,而后 i+1,如果循环只执行一次,那么循环输出值 i=0。 循环至少要运行一次。 循 环 变 量 条 件 端 子图 While 循环示意图练习 使用 While 循环和图表 目的:用 While 循环和图表获得数据,并实时显示。创建一个可以产生并
2、在图表中显示随机数的 VI。 前面板有一个控制旋钮可在 0 到 10 秒之间调节循环时间,还有一个开关可以中止 VI 的运行。学习怎样改变开关的动作属性,以便不用每次运行 VI 时都要打开开关。操作步骤如下:前面板图 练习的前面板1 选择 FileNew,打开一个新的前面板。2 选择 ControlsBoolean,在前面板中放置一个开关。2设置开关的标签为控制开关。3 使用标签工具创建 ON 和 OFF 的标签,放置于开关旁。4 选中 ControlsGraph,在前面板中放置一个波形图(是 chart,而不是 graph)。设置它的标签为随机信号。这个图表用于实时显示随机数。5 把图表的纵
3、坐标改为 0.0 到 1.0。方法是用标签工具把最大值从 10.0 改为 1.0。6 选择 ControlsNumeric,在前面板中放置一个旋钮。设置旋钮的标签为循环延时。这个旋钮用于控制 While 循环的循环时间。流程图7 开流程图,按照下图创建流程图。图 练习的流程图a. 从 FunctionsStructures 中选择 While 循环,把它放置在流程图中。将其拖至适当大小,将相关对象移到循环圈内。b. 从 Functions Numeric 中选择随机数(0-1)功能函数放到循环内。c. 在循环中设置 Wait Until Next ms Multiple 函数 (Functio
4、nsTime )结尾。公式节点的帮助窗口中列出了可供公式节点使用的操作符、函数和语法规定。一般说来,它与 C 语言非常相似,大体上一个用 C 写的独立的程序块都可能用到公式节点中。但是仍然建议不要在一个公式节点中写过于复杂的代码程序。下面这个例子显示了如何在一个公式节点中执行不同条件时的数据发送。请阅读下面这段程序代码,如果 X 为正数,它将算出 X 的平方根并把该值赋给 Y,如果 X 为负数,程序就给 Y 赋值-99。if (x = 0) theny = sqrt(x)elsey = -99end if可以用公式节点取代上面这段代码,如下图所示:注意:公式节点中变量字母 X,Y 大、小写是有
5、区别的,开方的函数 sqrt(X)中函数名称是小写。练习 2-6 使用公式节点 目的:创建一个VI,它用公式节点计算下列等式:y1 = x 3 x 2 + 5y2 = m* x + b14x 的范围是从 0 到 10。可以对这两个公式使用同一个公式节点,并在同一个图表中显示结果。前面板图 练习的面板1. 打开一个新的前面板,按照上图(该图中包含运行结果)创建前面板中的对象。波形图显示对象用于显示等式的图形。该 VI 使用两个数字式控制对象来输入 m 和 b 的值。流程图2. 按照下图创建流程图。图 练习的流程图在创建某个输入或者输出端子时,必须给它指定一个变量名。这个变量名必须与公式节点中使用的变量名完全相符。公式节点中,在边框上单击鼠标右键,在快捷菜单中选择Add Input,可以创建三个输入端子。在快捷菜单中选择 Add Output,创建输出端子。x 的范围是从 0 到 10(包括 10),就必须连接 11 到计数端子。Build Array (FunctionsArray)在这15个例子中,它用于将两个数据构成数组形式提供给一个多曲线的图形中。通过用变形工具拖拉边角就可以创建两个输入端子。3. 返回前面板,尝试给 m 和 b 赋以不同的值再执行该 VI。4. 把该 VI 保存为 LabVIEW/Activity 目录下的Equations.vi。练习 2-6 结束。16