Menu:

第5章  控制程序流(3)


定序和数据流方法之二:数据从属


1、数据从属的概念

      LabVIEW的运行机制是基于数据流的原理,也就是说:一个节点只有收到必要的相关数据后才可以运行。
      换句话说:传统的顺序代码流的运行机制是基于指令驱动的,而LabVIEW图形化编程语言的运行机制是基于数据流的。
      有关节点的概念请参考《学习札记》中的相关内容。


2、数据从属之一:运算法则

      一些运算法则已经规定出数据从属的关系。请看下面的例子。

(5+2)x 3=?

5+2 x 3=?

      只要了解运算关系,即使再复杂的算式也可以正确的写出,看下图——误差拟合的一个运算表达式的程序代码。


3、数据从属之二:操作流程(顺序)

      我们借用本书中的一个例子来进一步说明依赖操作的数据从属关系。

      例子的任务是:打开一个文件,然后读文件,之后关闭这个文件(操作关系确定)。

A.

      这里使用平铺顺序结构(层叠的一样,只是不好读程序)完成这个任务。没有借助于数据流的关系。
      程序简单易读,操作关系清晰。


B.

      这里不恰当的使用了数据流的关系。但问题是:能够确保文件读完后,关闭文件吗?这是一个不确定因素?不是好方法。


C.

      这个情况与B差不多,但是采用了人工数据相关的方法,保证了再读完数据后关闭文件。这个人工数据相关的方法就是将错误簇链接到一帧顺序结构上(对于单帧的顺序结构使用平铺和层叠的都可以)。这个用法很实用,经常被采用。


D.

      这个方法最适合数据流编程,从分利用vi的公共线程实现数据流编程,无须特殊技巧,效果与使用顺序结构的A一样,与A不同的是它是遵照数据流原理的。
      是这4种方法种最合理的编程方法,建议使用这种方法。



      数据流定序的方法是LabVIEW图形化程序设计中的主要编程方法,它简单、直观、有效、清晰,应该是必需掌握的基本技能之一。下面将介绍更多的使用公共线程的方法。