微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > LabVIEW编程难点之局部变量与全局变量

LabVIEW编程难点之局部变量与全局变量

时间:10-02 整理:3721RD 点击:
      最近学习Labview,找了3、4本书看,但是对局部变量和全局变量的说法不是特别清晰,就此跟大家讨论下:Labview中局部变量是在一个VI中传递数据,如果说创建了前面板某个数值输入控件类型为“write”和“read”的两个局部变量,就意味着创建了两份该数据的备份吗?那如果多个局部变量来读取那个控件那就创建了多个数据缓冲区?     然后说全局变量,其中一本书原话:“全局变量的另一个优点是可将所有Global数据放入一个全局变量中,并在程序执行时分别访问”,“由全局变量读取数据时,Labview也为全局变量存储的数据建立了一个副本”。对这我的理解是:一个全局变量可包含多种数据类型,就是在创建全局变量时在前面板添加不同类型的控件,然后每创建一个全局变量来读或写数据,都会创建数据副本。
     总结来说:每创建一个局部/全局变量来读或写数据,都会创建数据副本。
     这个理解对吗?还是说只是在读的时候才会创建数据副本,因为书上都没说写数据时会建立数据副本。
      

这个。这个。这个。
关于全局变量和局部变量,据说LabVIEW是不推荐使用的,所有的数据传递都是通过连线,即所谓的数据流,从左到右,从上而下,如果过多的使用局部变量,说明还没有完全理解LabVIEW的编程方式,至于全局变量,可以用在一次写入,多处读取的地方,如采集卡的名称、通道号等,其实不必太在意书上的定义,重点还是应用。
以上也是听说来的,仅供参考。

不建议多用局部变量和全局变量,占用内存,说最好用属性节点的值

只能说合理使用吧,不仅仅是占用内存,还涉及到程序的可读性、逻辑等方面的问题,新手用太多变量容易导致程序变得很混乱,但有时候老手为了避免使用变量而采用了一些很麻烦的方法,也是有些背离初衷了。
至于内存占用,记住一个原则:别把占用内存特别大的数据建成变量,而像通道名、文件路径、、参数配置等等一些本来就非常小的数据,复制个几百份也就这么大,完全不用考虑。
新手还是不建议过多使用变量,甚至完全不使用变量,多学学怎么用队列、功能性全局变量等方式传递参数;对程序有一定把握以后可以适当使用,这有时会带来很多便利,但是一定要做好变量管理。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top