次序结构有这样那样的缺点,那么怎么完成次序模型呢?答案便是运用数据流的思维进行编程。一个节点开端履行,那么就需求该节点取得一切必要数据。
在LabVIEW中,数据由前面的节点流向后边的节点,程序跟着数据的活动而履行。这就形成了一个天然的次序结构。

上图便是一个典型的由数据流操控的次序模型。Simulate Signal节点发生一个波形数据,然后数据沿连线活动到Spectral Measurements节点做频谱剖析,剖析得到的频谱数据沿连线活动到Write To Measurement File节点,将节点存储到数据文件。整个程序,跟着数据的活动一步一步的履行,形成了一个完美的次序模型。
假如两个节点之间没有数据联络,咱们也想要他们次序履行怎么办呢?那就要使用过错簇和条件结构。
过错簇,是LabVIEW设置的特别的数据结构,由status(过错状况)、code(过错代码)、source(过错信息)三部分组成。它是用来在节点之间传输过错信息的。(如下图所示)

其实,过错簇除了可以传递过错信息以外,还有一个重要的功用便是经过过错簇中数据的活动来确认程序的履行次序。当节点含有过错簇端子时,咱们就要把前一个节点的error out端子和后一个节点的error in端子衔接起来,已确认履行的次序,以及确保过错信息的传递。

上图所示的VI由3个用户输入节点构成。三个节点之间本没有数据联络,也便是说履行次序不确认。可是,经过过错簇的衔接使它们形成了数据依靠,然后可以次序履行。
假如在节点中没有过错簇,有该怎么用数据流来确认履行次序呢?看看下面的比如:

程序由两个用户输入节点和两个对话框节点构成。咱们需求第一个用户输入节点履行结束后,由第一个对话框节点来提示输入成功,第二组输入节点和对话框同理。因为对话框节点并没有过错簇端子,所以就运用了两个条件结构来放置两个对话框节点。过错数据从两个条件结构中穿过,来确保程序的次序履行。
值得一提的是,条件结构的一切分支都需求衔接过错信息,不然LabVIEW会报错。

P.S. 因为过错簇有以上种种的用处,所以在咱们写一定要在一切的子VI中参加过错簇,即便子VI中没有过错要处理,也要加上error in和error out两个端子。
好了,使用数据流来确认履行的次序的办法就写这么多吧。