Labview局部变量、全局变量、引用、属性节点、调用节点用法理解及精讲

写本章前想起题主初学Labview时面对一个位移台程序,傻傻搞不清局部变量和属性节点值有什么区别,概念很模糊。所以更新这篇文章让大家更具象和深刻的去理解这几个概念,看完记得点赞加关注喔~
本文程序源代码附在后面,大家可以自行下载学习。

本文的结构还是首先教大家明确概念问题,然后深入理解概念并学会使用,最后在理论基础掌握的基础上,通过实例来强化大家的理解。本文依旧是先理论后实践的教学方式,欢迎留言或私聊提问。

本文目录

  • 一、明确各节点及变量的概念(理论)
    • 1.1 局部变量和全局变量
      • 1.1.1 局部变量
      • 1.1.2 全局变量
    • 1.2 属性节点和调用节点
      • 1.2.1 属性节点
      • 1.2.2 调用节点
    • 1.3 引用
      • 1.3.1 控件引用
      • 1.3.2 VI引用
  • 二、变量及节点的使用场景(实践)
    • 2.1 实时数据传递

一、明确各节点及变量的概念(理论)

本章帮大家按照概念逐个解读各变量和节点的含义。

1.1 局部变量和全局变量

虽然把这两个概念放到一起讲,其实这两个概念其实有很大区别的,我们先分步明确概念。

1.1.1 局部变量

最通俗的解释就是:控件的一个分身!
先看Labview官方对局部变量的解释:
在这里插入图片描述

  1. 红色部分描述了局部变量的应用场景: 当我们编程时想拿前面板的某个控件的值时,发现程序中有很多位置都需要实时获取这个值,又或者我的这个控件的连线没办法把这个值传递过去。
  2. 蓝色部分描述了局部变量的功能: 不讲废话,最通俗理解的一个描述就是:分身!,相当于我本人没那个么多精力管这个管那个,就创立一个分身,它和我在功能上和能力上是一模一样的,而且这个分身的功能比本身更大,因为它不只是可以作为输入,也可以读取
    *那么局部变量也不是用的多了就好,其本质是越过程序,在电脑的内存中拿取了一部分内存用于传输数据,这样就会导致程序比直接传输数据数据时更慢一些。因此对于特别精密和传输效率要求极高的程序应减少该模块的调用,一般除非高精尖大多数程序都无需考虑这个问题。
    在这里插入图片描述

1.1.2 全局变量

全局变量和局部变量的相同点在于,都是将数据值拿取然后传递。不同点如下图所示:
在这里插入图片描述
全局变量建立步骤:后面板右键------结构------全局变量-------双击进入-------在全局中放入控件------回到原VI点击全局变量-----选择我刚刚建立的控件,此时就可以将数据传输到全局变量了,此时将全局变量以vi的形式保存在电脑中,可以在其他vi中调用该变量。使用该变量传递数据需要注意以下几点:
① 调用该全局变量的VI必须同时都在运行。
② 全局变量中可以同时放入多个数量、多种类型的控件。
③ 可以在多个VI中拿取全局变量的值,但对于同一个控件,只能有一个输入。
数据流的方向如下图所示:
在这里插入图片描述

1.2 属性节点和调用节点

属性节点和调用节点作为控件或vi的一个可以操作属性,用途特别广泛,属性节点顾名思义代表的是控件的属性,控件的属性包括它的值啊、标签啊、大小啊、字体颜色啊这一类与控件的自身属性相关的属性。调用节点也叫方法节点,这个节点相较于属性节点用的较少,多是控件调用相关的。

1.2.1 属性节点

属性节点有两种创建方式,一种是直接在控件上右键创建属性节点,并直接选取需要处理的属性,该函数可直接使用,无需连接其他条件;一种是在工具栏选择属性节点函数打开属性节点,这种方式需要连接控件的引用值或地址值。
在这里插入图片描述
属性节点中的属性类似于控件,可在读取或写入控件属性中随意转换,如下图两种方式的效果是相同的,均是将枚举量的前面板控件变为不可见。
在这里插入图片描述
属性节点中,属性多种多样,关于每种控件的属性,大家可以点击“CTRL+H”并将鼠标放置在属性上,点击详细帮助信息即可查看该函数的属性。

1.2.2 调用节点

调用节点的创建方式和属性节点完全相同,也是两种创建方式,调用节点一般是获取或更改调用属性,将控件数据恢复至默认值等操作。
在这里插入图片描述

1.3 引用

引用有两种组成,包括控件引用和VI引用,引用的使用方法比较单一,一般仅配合属性节点和调用节点使用。关于属性节点和调用节点在1.2节中详细讲解了。

1.3.1 控件引用

引用类型的控件创建方法:右键控件 — 创建 — 引用 就会得到该控件的引用。右键引用接线端创建属性节点,就可以通过引用访问该控件的各类属性和方法。
在这里插入图片描述
这里需要注意的是,控件引用的方式和我们在1.2.1中提到的直接调用控件属性节点的方式有一个区别,就是:该方式调用的控件类型均为严格类型!
那么,严格类型数据是什么呢?
可以理解为是:该控件的数据类型不被更改,比如我的控件是U8数据类型,当使用严格定义类型的控件属性时,只能在接线端输入U8数据,而使用非严格类型控件引用属性时,可以将U16数据输入U8数据控件中。

1.3.2 VI引用

VI引用的创建模式与基础的控件引用方式相同,VI的引用位置在下图:在这里插入图片描述
点击VI服务器引用时,出现“本VI”引用,创建属性和方法同样是下属方式:
在这里插入图片描述
该引用方式对本VI的操作多是面向与用户操作的,我们在开发用户使用界面GUI时,常常有程序的相关操作,例如:前面板的打开关闭操作、VI的执行与停止操作等均可在该引用上实现,类似于控件引用的具体框架如下图所示。
在这里插入图片描述

二、变量及节点的使用场景(实践)

2.1 实时数据传递

将“输入字符串”中的文字按照四种方式①局部变量②属性节点③引用④全局变量的方式输入,程序如下图所示,四种方式均能达到同样的数据传输的效果,且前三种无需显示控件直接参与。
在这里插入图片描述
输入一段文字查看效果:
在这里插入图片描述
这几种方式均实现了数据的传递,更多用法请同学在自行理解的基础上,强化用法思路.

程序将上传到云端,各位同学可自行下载,点赞关注题主后续有更多相关程序编写分享~
链接: https://pan.baidu.com/s/1v8ivpbab4Aahytjm6eVnuA
提取码:6666

本期就到这里,更多相关文章请关注题主哦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/335306.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

原型设计 Axure RP 9

Axure RP 9是一款专业的原型设计和协作工具,让用户快速创建高保真度的交互原型,模拟真实的用户界面和交互体验。该软件界面布局合理,易于使用,提供丰富的交互功能和效果,如动态面板、变量、条件逻辑、动画等。同时支持…

C#,字符串匹配(模式搜索)有限自动机(Finite Automata)算法的源代码

一、有限状态自动机 图中两个圆圈,也叫节点,用于表示状态,从图中可以看成,它有两个状态,分别叫0和1。从每个节点出发,都会有若干条边。当处于某个状态时,如果输入的字符跟该节点出发的某条边的内…

如何在Java中加载两个类全限定名相同的类?

我们知道在Java中类全限定名由两部分组成,包名和类名,当然网上也有说法是由三部分组成,包名、子包名以及类名,这里我把包相关的统称为包名。 比如说在某个Java项目中com.knight包下有一个类A,那么这个类A的类全限定名…

解决一个mysql的更新属性长度问题

需求背景: 线上有一个 platform属性,原有长度为 varchar(10),但是突然需要填入一个11位长度的值;而偏偏这个属性在线上100张表中有50张都存在,并且名字各式各样,庆幸都包含 platform;例如 platf…

创建非模态的静态文本并更改它的位置

我是写在钩子里,动态显示静态文本的哦,效果我放在下面了,不知道怎么做动态图片,你们可以教我一下,哈哈。 //这个就是放在钩子里跟随鼠标动态显示坐标信息,或者提示信息 HWND statichandleNULL; HWND NXha…

php isset和array_key_exists区别

在PHP中,可以使用array_key_exists函数或者isset函数来判断一个字典(关联数组)中是否存在某个下标。 使用 array_key_exists 函数: $myArray array("key1" > "value1", "key2" > "value2",…

网络爬虫采集工具

在当今数字化的时代,获取海量数据对于企业、学术界和个人都至关重要。网络爬虫成为一种强大的工具,能够从互联网上抓取并提取所需的信息。本文将专心分享关于网络爬虫采集数据的全面指南,深入探讨其原理、应用场景以及使用过程中可能遇到的挑…

校园水电抄表系统

校园水电抄表系统是一种现代化的水电管理方式,它通过高科技手段实现对校园内水电使用情况的实时监测和数据化管理,从而提高水电资源的利用效率,降低管理成本,为构建绿色、环保、节约型校园奠定基础。 一、系统概述 校园水电抄表…

【富文本编辑器实战】03 Vuex 的配置编写

Vuex 的配置编写 目录 Vuex 的配置编写Vuex 是什么?什么是“状态管理模式”?什么情况下我应该使用 Vuex?安装 Vuex开始使用 VuexAction 文件Mutations-types 文件Mutation 文件Index Vuex 是什么? 这里我们来看看官方网站是如何介…

HugggingFace 推理 API、推理端点和推理空间相关模型部署和使用以及介绍

HugggingFace 推理 API、推理端点和推理空间相关模型部署和使用以及介绍。 Hugging Face是一家开源模型库公司。 2023年5月10日,Hugging Face宣布C轮1亿美元融资,由Lux Capital领投,红杉资本、Coatue、Betaworks、NBA球星Kevin Durant等跟投…

Java程序设计:选实验5 GUI初级应用

使用JLabel、JTextArea、JButton等控件实现句子的中译英demo,该demo包含四个文本框,在第一个文本框输入一句英文,在第二个和第三个文本框显示该句的英文翻译(要求使用百度翻译API、有道翻译API或其他API中的两种;自行上…

深度学习记录--mini-batch gradient descent

batch vs mini-batch gradient descent batch:段,块 与传统的batch梯度下降不同,mini-batch gradient descent将数据分成多个子集,分别进行处理,在数据量非常巨大的情况下,这样处理可以及时进行梯度下降&…

Text:字体相关设置

效果如下: import QtQuickWindow {width: 640height: 480visible: truetitle: qsTr("Text")Text {id: t1text: "你好,世界!"color: "#29acc0" /*字体颜色*/font.pixelSize: 40 /*字体大小*/font.family: &quo…

在 Python 中检查一个数字是否是同构数

更多资料获取 📚 个人网站:ipengtao.com 同构数,又称为自守数或自同构数,是一类特殊的数字,它们具有一种有趣的性质:将其平方后的数字,可以通过某种方式重新排列得到原来的数字。本文将详细介绍…

以后要做GIS开发的话是学GIS专业还是学计算机专业好一些?

GIS开发其实严格来说分为前后端以及底层开发。不同的方向,代表了不同的开发语言。 所以大家首先要了解自己具体要做的岗位类型是什么,其次才是选择专业侧重点。 但是严格来说,选择某个专业,到就业方向这个过程,并不是…

(C++) list底层模拟实现

个人主页:Lei宝啊 愿所有美好如期而遇 首先,list底层是一个带头双向循环链表,再一个,我们还要解决一个问题,list的迭代器,vector和string的迭代器可以直接,是因为他们的地址空间是连续的&…

【AJAX框架】AJAX入门与axios的使用

文章目录 前言一、AJAX是干什么的?二、AJAX的安装2.1 CDN引入2.2 npm安装 三、基础使用3.1 CDN方式3.2 node方式 总结 前言 在现代Web开发中,异步JavaScript和XML(AJAX)已经成为不可或缺的技术之一。AJAX使得网页能够在不刷新整个…

hadoop-common: CMake failed with error code 1

问题 在编译hadoop源码时遇到如下错误 hadoop-common: CMake failed with error code 1 看了这个错误表示一脸懵逼 排查 在mvn 的命令中增加 -X 和 -e mvn clean package -e -X -Pdist,native -DskipTests -Dmaven.javadoc.skip -Dopenssl.prefix/usr/local/bin/openssl 在…

3.C语言——函数

函数 1.什么是函数2.函数的分类1.库函数2.自定义函数 3.函数的参数1.实际参数(实参)2.形式参数(形参) 4.函数的声明1.同一个文件的函数声明2.多文件的函数声明 5.函数的调用6.函数的嵌套调用和链式访问1.嵌套调用2.链式访问 7.函数…

P1059 [NOIP2006 普及组] 明明的随机数————C++、Python

目录 [NOIP2006 普及组] 明明的随机数题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 解题思路Code——CCode——Python运行结果 [NOIP2006 普及组] 明明的随机数 题目描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性&#xff0…