程序结构 课件 .pdf
LabVIEW中的结构是传统文本编程语言中的循环和条
件语句的图形化标识。使用程序框图中的结构可以对
代码块进行重复操作,根据条件或特定顺序执行代码。
LabVIEW的图形化编程使得这些结构实现起来更为简
单和直观。每个结构都有自己的边界,界内的对象按
照给定结构的规定执行,同时结构之间也可以建立传
输数据的通道。
每种结构都含有一个可调整大小的清晰边框,用于包
围根据结构规则执行的程序框图部分。结构边框中的
程序框图部分被称为子程序框图。从结构外接收数据
和将数据输出结构的接线端称为隧道。隧道是结构边
框上的连接点。
LabVIEW2015提供的结构位于函数选板的“编
程”→“结构”子选板中,如图5.1所示。
LabVIEW2015提供了多种进行程序流程控制的方式,
包括循环结构、分支结构、顺序结构、事件结构、定
时结构、公式节点、反馈节点等。也正是这些用于流
程控制的机制,使得LabVIEW称为一种结构化与面向
对象技术与一体的优秀编程语言。
5.1for循环
LabVIEW中的循环结构主要通过while循环和for循环实现。
这两种循环结构功能基本相同,但使用上有一些差别。for
循环必须指定循环的次数,循环一定的次数后自动退出循
环;而while循环则不用指定循环的次数,只需要指定循
环退出的条件。下面分别介绍这两种循环结构。
for循环是LabVIEW最基本的结构之一,它按设定的次数执
行子程序框图,相当于C语言中的for循环。
LabVIEW中的for循环可以从结构子选板中创建,如图5.2
所示,它包含两个端口:计数端口N、重复端口i。
计数端口N用于指定循环要执行的次数,它是一个输入
端口。重复端口i用于记录循环已经完成的次数,它为一个
输出端口。这两个参数都必须是整型。
另外,为实现for循环的各种功能,LabVIEW在for循
环中引入了移位寄存器的新概念。移位寄存器的功能
是将第i=l,i=2,i=3次循环的计算结果存在for循环的
缓冲区内,并在第i次循环时将这些数据从循环框图左
侧的移位寄存器中送出,供循环框图内的节点使用,
其中,i=0.1,2,3,…。在LabVIEW的循环结构中创建移
位寄存器的方法是在循环框图的左边或右边单击鼠标
右键,在弹出的快捷菜单中选择【添加移位寄存器】,
可创建一个移位寄存器,增加了移位寄存器的for循环
结构如图5.3所示。
按住鼠标在左侧移位寄存器的右下角向下拖动,或在左侧
移位寄存器上用鼠标右键单击,在弹出的快捷菜单中选择
【添加元素】,可创建多个左侧移位寄存器。
当for循环在执行第0次循环时,for循环的数据缓冲区并
没有数据存储,所以,在使用移位寄存器时,必须根据编
程需要对左侧移位寄存器进行初始化,否则,左侧移位寄
存器在第0次循环时的输出值为默认值,数值的默认值为0;
字符串的默认值为空字符;布尔数据的默认值为False。另
外,连接至右侧移位寄存器的数据类型和用于初始化左侧
移位寄存器的数据类型必须一致,例如,都是数值型或都
是字符串型、布尔型等。
需要注意的是,左侧移位寄存器除了初始化时可以输入
数据外,其他情况下只能输出数据;而右侧移位寄存器除
了在循环结束时向循环外输出数据,其他情况下只能输入
数据。
【例5.1】求。
求和VI的前面板和程序框图如图5.4所示。
编程步骤如下。
(1)首先,新建一个VI,从控件选板的【经典】→
【经典数值】子选板中选取“数值显示控件”,放置
在前面板的适当位置,并将其标签改为sum。
(2)切换到程序框图窗口,从函数选板的【结构】子选
板中选取“for循环”结构,放置到程序框图窗口上,
拖动以形成一个框图;从【数值】子选板中分别选取
一个加函数和一个加1函数放置到for循环框图内;再从
【数值】子选板中选取两个数值常量放置到for循环框
图外,将其值分别置为0,100。
(3)为for循环创建移位寄存器,并按图5.4所示的程序框
图进行连线。
运行程序,结果如图5.4的前面板所示。
在LabVIEW的程序框图设计中,当for循环(或while)