顺序结构可以保证执行顺序,但是也阻止了并行操作。例如,如果不使用顺序结构,使用PXI、GPIB、串口、DAQ等I/O设备的异步任务就可以与其他操作并发运行。

在上述情况下,可能需要利用LabVIEW内在并行处理的优势。避免过度使用顺序结构:

  • 需控制执行顺序时,可以考虑建立节点间的数据依赖性。例如,数据流参数(如错误I/O)可用于控制执行顺序。
  • 使用条件结构While循环。不可更新顺序结构的多个帧的显示控件,如下图所示。在上面的程序框图中,某个用于测试应用程序的VI含有一个状态显示控件用于显示测试过程中当前测试的名称。如果每个测试都是从不同帧调用的子VI,则不能从每一帧中更新该显示控件。层叠式顺序结构中断开的连线便说明了这一点。由于层叠式顺序结构中的所有帧都在任何数据输出该结构之前执行,只能由其中某一帧将值传递给状态显示控件。相反地,可以使用下列程序框图所示的条件结构和While循环。条件结构中的每个分支都相当于顺序结构中的某一帧。While循环的每次循环将执行下一个分支。状态显示控件显示每个分支VI的状态,由于数据在每个分支执行完毕后才传出顺序结构,在调用相应子VI选框的前一个分支中将更新该状态显示控件。跟顺序结构不同,在执行任何分支时,条件结构都可传递数据结束While循环。例如,如在运行第一个测试时发生错误,条件结构可以将FALSE值传递至条件接线端从而终止循环,即使执行过程中有错误发生,顺序结构也必须执行完所有的帧。