即便是用了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则不同,它是添加在程序框图中被调入内存的,所以节点数量应该包含它内部运用的节点.