LabVIEW局部变量全局变量共享变量

各种软件开发环境都提供变量的概念,如LabVIEW,Teststand,Labwindows/cvi,visual Studio中的局部变量,全局变量;当然LabVIEW也有自己的特有的变量,如共享变量和功能性全局变量;Teststand的文件变量,站变量;
本文将主要讲解一下LabVIEW的局部变量,全局变量,功能性全局变量和共享变量;

局部变量

  • 01

    创建局部变量时,该对象的局部变量的图标可显示在程序框图上。写入一个局部变量相当于将数据传递给其它接线端。但是,局部变量还可向输入控件写入数据和从显示控件读取数据。事实上,通过局部变量,前面板对象既可作为输入访问也可作为输出访问。 LabVIEW创建LabVIEW局部变量有2中方案;

  • 02

    1)LabVIEW程序框图-查看(菜单)-函数选板-函数-编程-局部变量,然后点击程序框图上的局部变量,选择前面板需要创建的控件,如创建布尔全局变量;

  • 03

    2)选择前面板上面的控件,右击-创建-局部变量,可以一次选择一个控件创建局部变量,也可以同时选择多个控件创建局部变量;

  • 04

    所有的控件创建的局部变量默认是显示型局部变量;显示型局部变量可以转换成写入,输入型的局部变量可以转换成读取;

全局变量

  • 01

    全局变量可在多个VI之间访问和传递数据;创建全局变量时,LabVIEW可自动创建有前面板,但无程序框图的特殊全局VI。 LabVIEW创建LabVIEW全局变量有2中方案;

  • 02

    1)LabVIEW程序框图-查看(菜单)-函数选板-函数-编程-全局变量,然后双击打开程序框图上的全局变量,在全局变量的前面板放置需要传递数据的同种类型的控件;

  • 03

    2)文件(菜单)-新建(N)-其他文件-全局变量;

  • 04

    全局变量的在不同VI之前传递数据,只需要从程序框图-函数-选择VI...;

功能型全局变量

  • 01

    局部和全局变量是高级的LabVIEW概念。它们不是LabVIEW数据流执行模型中固有的部分。使用局部变量和全局变量时,程序框图可能会变得难以阅读,因此需谨慎使用。错误地使用局部变量和全局变量,如将其取代连线板或用其访问顺序结构中每一帧中的数值,可能在VI中导致不可预期的行为。滥用局部变量和全局变量,如用来避免程序框图间的过长连线或取代数据流,将会降低执行速度。

  • 02

    为了解决局部变量和全局变量的“竞争冒险”潜在危险和复制数据副本的缺点,在LabVIEW中可以使用功能型全局变量(移位寄存器将数据空间强制共享)代替全局变量的使用。

  • 03

    功能全局变量是使用未进行初始化的移位寄存器的循环来保持数据的VI。功能性全局变量通常有一个动作输入参数,用于指定VI执行的任务。VI在While循环中使用一个未初始化移位寄存器,保存操作的结果。

  • 04

    使用一个功能全局变量而不是多个本地或全局变量可确保每次只执行一个运算,从而避免运算冲突或数据赋值冲突。

共享全局变量

  • 01

    使用共享变量,您可以在同一个程序框图的不同循环之间或者网络上的不同VI之间共享数据。与LabVIEW中其他现有的数据共享的方法如UDP/TCP, LabVIEW 队列, 及实时 FIFO不同,您通常在编辑时使用属性对话框来配置共享变量,而不需要在您的应用中包括配置代码。

  • 02

    可以创建三种类型的共享变量:单进程,网络发布,以及时间触发的共享变量。本文详细讨论了单进程和网络发布共享变量。创建一个共享变量时,需要右键点击一个计算机设备,如项目树中的"我的电脑"或实时目标,并选择 新建» 变量来显示共享变量属性对话框。在对话框中可对新的变量进行具体配置。

  • 03

    1)使用单进程变量在同一个VI中不能用连线传输的不同位置间传递数据,例如同一个VI的并行循环之间,或者同一应用实例中的两个不同VI之间。单进程共享变量的底层实现与LabVIEW中全局变量相似。单进程共享变量相对于传统的全局变量的主要优点是能够将一个单进程共享变量转换成一个网络发布的共享变量,这样网络上的任何节点都可以访问。2)利用网络发布的共享变量,您可以在以太网上对共享变量进行读写操作。网络应用的处理完全由网络发布的变量完成。 除了使您的数据在网络中可用,网络发布共享变量中还增加了许多单进程共享变量不能提供的功能。由于需要提供各种附加功能,网络发布的共享变量的内部实现要比单进程共享变量复杂得多。

  • 04

    VI和VI2分别是读写共享变量;

(0)

相关推荐

  • javascript局部变量和全局变量var

    function abc(){ var hello="hi"; } abc(); alert(hello) 在这个例子中,hello声明在函数中,函数运行结束后,变量立即销毁,al ...

  • python中局部变量和全局变量

    局部变量,就是在函数内部定义的变量 不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响 局部变量的作用,为了临时保存数据需要在函数 在函数外边定义的变量叫做全局变量 全局变量能够在所有 ...

  • LabVIEW初学者常见问题及解答方法

    操作方法 01 1.Labview如何实现由一个事件引发其他三个事件的顺序发生,且这三次事件间的时间间隔为50ms?回答:可以引用状态机来设计程序,将触发事件作为状态机的状态控制参数,后面发生的三个事 ...

  • Axure RP 8怎么设置一个矩形全局变量?

    Axure RP 8怎么设置一个矩形全局变量? 1.双击打开Axure RP 8设计软件,创建了一个空白的画布,如下图所示: 2.在"基本元件"中找到"矩形2" ...

  • js 函数如何使用全局变量

    JS中声明全局变量主要分为显式声明或者隐式声明下面分别介绍. 操作方法 01 使用var(关键字)+变量名(标识符)的方式在function外部声明,即为全局变量,否则在function声明的是局部变 ...

  • 全局变量在C++中的定义和使用

    C++程序中,变量按作用域可分为全局变量和局部变量,全局变量在C++中是如何定义和使用的呢?小编与大家分享自己的理解. 操作方法 01 首先,定义一个实现加法运算自定义函数. 02 接着,定义一个实现 ...

  • S7-1200与LabVIEW之间进行Modbus TCP通信

    Modbus TCP是一种简便可靠的通信连接,利用S7-1200 PLC作为Modbus服务器(从站),LabVIEW作为Modbus客户端(主站),可以实现上位机PC对下位机PLC的读写操作.这在监 ...

  • labvIEW vi动态调用

    基本概念 众所周知,LabVIEW程序又称虚拟仪器,即VI. 电脑软件 01 名称: labvIEW 02 大小: 1000MB 版本: 2013 类别: 音频媒体 语言: 中文 03 应用平台: w ...

  • win7添加全局变量的方法教程

    对于一些程序的安装,我们也许要一些对win7系统的内部的全局变量进行修改,那么该怎么修改全局变量呢?下面小编将为大家带来的是win7添加全局变量的方法教程!一起去看看吧! 方法: 1.点击开始菜单 2 ...