5.3.3 顺序结构
虽然数据流编程为用户带来了很多方便,但也在某些方面存在不足。如果LabVIEW框图程序中有两个节点同时满足节点执行的条件,那么这两个节点就会同时执行。但是若编程时要求这两个节点按一定的先后顺序执行,那么数据流编程是无法满足要求的,这时就必须使用顺序结构来明确执行次序。
顺序结构分为平铺式顺序结构和层叠式顺序结构,从功能上讲两者结构完全相同。两者都可以从结构子选板中创建。
LabVIEW顺序框架的使用比较灵活,在编辑状态时可以很容易地改变层叠式顺序结构各框架的顺序。平铺式顺序结构各框架的顺序不能改变,但可以先将平铺式顺序结构转化为层叠式顺序结构,如图5-55所示。在层叠式顺序结构中改变各框架的顺序如图5-56所示,再将层叠式顺序结构转换为平铺式顺序结构,这样就可以改变平铺式顺序结构各框架的顺序。

图5-55 平铺式顺序结构转换为层叠式顺序结构

图5-56 改变各框架的顺序
平铺式顺序结构如图5-57所示。顺序结构中的每个子框图都称为一个帧,刚建立顺序结构时只有一个帧,对于平铺式顺序结构,可以通过在帧边框的左右分别选择在前面添加帧和在后面添加帧来增加一个空白帧。
由于每个帧都是可见的,所以平铺式的顺序结构不能添加局部变量,不需要借助局部变量这种机制在帧之间传输数据。
如图5-58所示,判断一个随机产生的数是否小于或不小于70,若小于70,则产生0,若大于70,则产生1。
(https://www.daowen.com)
图5-57 平铺式顺序结构

图5-58 使用平铺式顺序结构的程序框图
层叠的顺序结构的表现形式与条件结构十分相似,都是在框图的同一位置层叠多个子框图,每个框图都有自己的序号,在执行顺序结构时,按照序号由小到大逐个执行。条件结构与层叠式顺序结构的异同:条件结构的每一个分支都可以为输出提供一个数据源,相反,在层叠式顺序结构中,输出隧道只能有一个数据源。输出可源自任何帧,但仅在执行完毕后数据才输出,而不是在个别帧执行完毕后,数据才离开层叠式顺序结构。层叠式顺序结构中的局部变量用于帧间传送数据。对输入隧道中的数据,所有的帧都可能使用。层叠结构具体程序框图如图5-59所示。

图5-59 层叠式顺序结构
在层叠式顺序结构中需要用到局部变量,用以在不同帧之间实现数据的传递。例如当用层叠式顺序结构做图5-60时,就需用局部变量,具体程序框图分别如图5-60所示中的各分图。

图5-60 程序框图
a) 第0帧 b) 第1帧 c) 第2帧