在数据流编程方式(1)——基本概念中,对比一些我们所熟知的自然或物理现象,认知了数据流的几个基本特性(特征)。

现在结合LabVIEW图形化语言来了解这些特点(有些概念可能还需探讨)。
 
数据流编程方式并不是NI独创的,它的工作原理借鉴了风靡在80年代的电子表格设计模式。但是NI将它图形化并拓展了应用领域(图形化程序设计)。
 
数据流——源头
 
图形化语言中,数据流的源头在那里?

图形化语言数据流一般有三个来源:

输入控件(在前面版称:输入控件;在程序框图上称:端子,端子是输入控件的映射)

节点(子VI输出,为后面提供数据源)

常量


其实,通常只有输入控件和常量应该列为数据流的源头。这里将节点也列为数据源是这样考虑的:那些来自硬件的数据,比如通过GPIB、数据采集等方法所获得的数据。
 
数据流——终点
图形化语言中,数据流的终点在那里?

简单的理解,数据流的终点只有一个,显示控件。
 
数据流——方向性
数据从输入控件和常量中,一定是流出的。通常默认,LabVIEW的数据流是从左向右的(反馈节点和移位寄存器例外)。显示控件的数据流方向一定是流入的。

所以通常设计时,输入控件一般放置在前面版的左边,显示控件放置在前面版的右边。

输入控件和显示控件也可以修改它们的方向,输入控件修改后变成显示控件,显示控件修改后变为输入控件。但是,无论怎样变换最终用的只有一个状态,要么是输入控件,要么是显示控件,不可二者兼有之。
 
数据流——节点
在学习LabVIEW之初,就对节点这个概念很不理解,甚至感觉从英文到中文都无法理解。当数据流的概念逐步建立起来后,深刻认识到使用节点这个词是多么的贴切。因为节点意味着,数据可以流入、流出。

LabVIEW的节点包含了以下内容:
函数、
子VI、
Express VI、
结构、
公式节点和表达式节点、
属性节点和调用节点、
通过引用节点的调用、
调用库函数节点、
代码接口节点。

数据流在这些节点中流入和流出。
 
数据流——连线(通路)

在图形化语言中,数据流是通过连线来实现的(本地变量、全局变量、共享变量除外)。连线起到沟通的作用或者说赋值的作用。
 
连线的数据类型是不同的,取决于输入控件或显示控件的数据类型。两个数据类型不同的端口是不可以直接相连的。

连线只是数据流的通路。

连线之间必须有源端和终点存在,缺一不可。

现在数据流的基本概念已经建立了,数据的来源、指向性、节点的概念、连线的作用都已经给出了。这部分还有什么问题,QQ群讨论,或发电子邮件给我们。




Leave a Reply.