• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 测试测量 > Labview 虚拟仪器 > labview的深入探索------什么是“节点“

labview的深入探索------什么是“节点“

录入:edatop.com    点击:
即便是用了LV多年,有些基本概念还是非常模糊的,比如"节点"和"函数"(NODE AND FUNCTION),我们称LV本身提供的函数为节点,或者节点函数,那自己做的子VI被调用时算不算节点,它内部包含的下一级别的子VI是不是节点那 控件是不是节点 装饰是不是节点 程序的结构比如顺序结构、循环结构是否是节点那?

LV经常用节点的数量来统计VI的性能,所以了解节点的真正含义是非常有必要的。

首先看看帮助文件对节点的定义:

节点是程序框图上的对象,带有输入输出端,在VI运行时进行运算。节点类似于文本编程语言中的语句、运算符、函数和子程序。LabVIEW有以下类型的节点:

  • 函数-内置的执行元素,相当于操作符、函数或语句。
  • 子VI-用于另一个VI程序框图上的VI,相当于子程序。
  • Express VI-协助常规测量任务的子VI。Express VI是在配置对话框中配置的。
  • 结构-执行控制元素,如For循环、While循环、条件结构、平铺式和层叠式顺序结构、定时结构和事件结构。
  • 公式节点和表达式节点-公式节点是可以直接向程序框图输入方程的结构,其大小可以调节。表达式节点是用于计算含有单变量表达式或方程的结构。
  • 属性节点和调用节点-属性节点是用于设置或寻找类的属性的结构。调用节点是设置对象执行方式的结构。
  • 通过引用节点调用-用于调用动态加载的VI的结构。
  • 调用库函数节点-调用大多数标准库或DLL的结构。
  • 代码接口节点(CIN)-调用以文本编程语言所编写的代码的结构。


这里函数的概念本身就不好理解,内置的执行元素,加减运算符号算一个节点,一个文件操作函数内部包含大量的子函数或者子VI,也是一个节点
我们自己制作的VI称作子VI,它可以理解成函数吗 从分类上看显然不是,那它到底有那些不同那




显然,两个输入控件+一个显示控件+运算符号共四个节点,前面板的装饰当然也是控件,因为我们可以得到它的参考,进而控制它的属性,从分类上看,它也是继承于最基本的图形对象的,所以装饰是控件,但不是输入控件,也不是输出控件,换个角度看,它没有数据的流入或者流出,因此,装饰不属于节点.


从上图可以看出,常量,结构,属性节点都属于节点,一个属性节点可以同时控制多个属性,它仍然只算是一个节点,所以通过一个属性节点控制可以减少节点数量,全局变量和局部变量也都属于节点,因为它都涉及了数据的流入或者流出.

我们感兴趣的是自己做的子VI和内置函数有何不同之处



上图中,顶层VI有三个节点,但是EXPRESS VI内部包括53个节点,自己做的SUBVI内部包含8个节点,而WRITE SPREAD SHEET尽管内部包含大量操作,我们可以打开跟踪,但是它只是一个节点,从这里可以看出,经管EXPRESS VI使用非常方便,但是LV没有把EXPRESS VI称为函数,而写文本文件VI尽管内部非常复杂,但是仍然是一个节点.

所以使用LV内置的函数可以提高程序运行效率,而EXPRESS VI尽管使用方便,但是效率很低.


上图表明,我的计算二次函数VI,的确内部包含8个节点,那么如果我多次调用它,情况会如何那


二次函数本身8个节点没有变化,每多调用一次,节点增加一个,6+8=14个节点.
对于经常使用的操作,如果作成子VI,可以有效地减少节点数量,提高运行效率.

为什么LV内置的函数只是一个节点那,而我们自己做的子VI却包含内部使用的节点那

猜测LV启动后,很多内置的函数已经调入内存了,因此我们使用它不过是增加了一个节点,而我们自己做的SUBVI则不同,它是添加在程序框图中被调入内存的,所以节点数量应该包括它内部使用的节点.

点击浏览:矢量网络分析仪、频谱仪、示波器,使用操作培训教程

上一篇:labview深入探索-----内存管理和缓存重用
下一篇:labview的深入探索----OPC系列之基本概念

微波射频测量操作培训课程详情>>
射频和天线工程师培训课程详情>>

  网站地图