• LabVIEW编程语法学习笔记之全局变量


    CSDN话题挑战赛第2期
    参赛话题:学习笔记

    博客写作背景----项目中解决的问题

    最近遇到一个使用stm32单片机多路采集信号的项目,还需要在上位机进行波形的查看,信号算法的处理,初步定为使用labview编写上位机程序进行处理。

    下面是我最近写程序的一些知识,进行了部分的整理,发出来和大家一起分享,也方便我以后查找自己的编程过程。

    编程知识点–编程语法–做题思路

    全局变量与局部变量不同,其作用范围不仅限于当前VI,而是在整个项目中都有效。一个或多个全局变量可按一种特殊形式存放在单独的VI中,该种VI没有框图,只有前面板,仍以.vi为后缀存储,其地位相当于一个特殊的VI,因此可用于在不同VI之间传递数据。

    创建一个全局变量的步骤如下: 在函数选板中选择“编程→结构→全局变量”,创建一个空的全局变量,此时中间为问号。

    双击该全局变量,打开对应的前面板,放入需要的任意类型变量,也可以从别的VI前面板上复制需要的类型变量。 保存该全局变量为一个VI文件。

    如果需要为一个已有的全局变量VI文件中添加新的其他全局变量,只需直接双击打开该文件前面板并放入或者复制需要的类型变量,并保存即可。

    如果要在框图中添加已有的全局变量,直接从函数选板中选择“选择VI…”添加存储了该全局变量的VI文件即可。如果要将一个全局变量改为在同一文件中存储的其他全局变量,可单击全局变量的中心,从弹出的菜单中进行选择。

    与局部变量类似,一个全局变量也只能严格地属于“读取”或“写入”状态中的一种,同样可以通过鼠标右键菜单选择相应项来切换。

    在实际项目中,如果全局变量的个数不多,可以放在同一个VI文件中以便管理,如果全局变量数量种类繁多,建议可以按照功能相似性分为几大类,分别存储在几个VI文件中,这些VI文件建议以“global_”或“g_”作为前缀命名,以便与普通VI文件区分使用。

    全局变量常用于在两个或多个VI之间传递信息和数据。与局部变量类似,同样也不可滥用全局变量,否则会影响数据流编程方式或者降低程序性能。条件许可的情况下,应该尽可能使用输入输出参数在各个子VI之间传递数据,即使使用全局变量,也应当考虑尽量使用对内存占用量小的变量。

    注:利用局部变量,会使VI的编写更加灵活。但是,在实际VI的编写过程中,应该慎用局部变量。这是因为:①每一个局部变量都是一份数据复制,使用过多,就会占用更多内存;②过多使用局部变量和全局变量,会使VI的可读性变差,有可能致使编程错误不易被发现;③在多线程并行运行的VI中,局部变量可能引起竞态条件。

    在这里插入图片描述
    在实际中,经常要实现这样的功能,即VI中有两个While循环,需要用同一个控制开关让它们同时停下来。这个功能该如何实现呢?同样,也可以利用局部变量来完成。为此编写的VI如下图所示,其中,有两个While循环,在第一个While循环中,将循环计数端子中的值赋给显示控件“循环1里的值”;在第二个While循环中,将循环计数端子中的值乘以2,并赋给显示控件“循环2里的值”;每个While循环内都调用了一个定时函数,且均延时1s的时间。在这里插入图片描述

  • 相关阅读:
    计算机操作系统 第六章:输入输出系统(1)
    20行JS代码实现屏幕录制
    两万字长文世界编程语言大串讲
    linux ansible(三)
    解决java在idea运行正常,但是打成jar包后中文乱码问题
    【20230921】关于sing-box命令行程序开机自启动运行(Windows、Linux)
    基于OFDM的水下图像传输通信系统matlab仿真
    电商平台亚马逊国际站点获得AMAZON商品详情API接口、卖家信息、销量、价格、商品规格信息列表参数详情示例分享案例
    阿里面试官惊了,Nginx配置一键生成
    【linux命令】链接/用户组/find/xargs/grep
  • 原文地址:https://blog.csdn.net/leva345/article/details/127080832