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

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024 Google material-design-icons助力你创建更好的Material风格应用

2024 Google material-design-icons助力你创建更好的Material风格应用 Material Icons / Material Symbols 这是谷歌推出的两个不同的官方图标集,它们使用相同的基础设计。Material Icons是经典的图标集,而Material Symbols是在2022年4月引入的&#x…

vtk qt切割stl模型

一直想实现对stl模型的某个方向进行平面切割 通过滑动slider然后对模型进行某一个方向的面切割。同时可以用鼠标对模型进行移动缩放,旋转等操作。然后可以加一些颜色点云显示等操作。 stl加载: QString selectFilePath QFileDialog::getOpenFileName…

200SMART作为智能控制器和智能设备使用

200SMART固件版本在V2.5以上的标准型CPU都支持PROFINET IO控制器和IO设备使用。 S7-200SMART作为智能设备仅支持1个IO控制器,可配置的输入输出存储区都为128个字节,地址范围分别为I(Q)1152.0到I(Q)1279.7;每个CPU支持最多8个PROFINET IO设备&#xff0c…

力扣22. 括号生成

回溯 思路&#xff1a; 定义函数 dfs(item, open, close, n) 表示当前 item 有左括号个数 open 和右括号个数 close &#xff1b;使用递归&#xff0c;长度为 n 的序列就是在长度为 n - 1 的序列后加左括号或者右括号&#xff1a; 先放左括号&#xff0c;只要其个数 < n&am…

Python使用HTTP代理实现多线程/多进程网络请求

在处理大量网络请求时&#xff0c;单线程的方式可能会非常耗时。为了提高效率&#xff0c;我们可以使用多线程或多进程来并发地发送请求。而HTTP代理可以帮助我们更好地管理和控制这些并发请求。 在Python中&#xff0c;我们可以使用threading或multiprocessing模块来实现多线…

【linux进程间通信(一)】匿名管道和命名管道

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:Linux从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学更多操作系统知识   &#x1f51d;&#x1f51d; 进程间通信 1. 前言2. 进程间…

微软与沃达丰签订10年合作,提供Copilot等生成式AI服务

1月16日&#xff0c;微软在官网宣布&#xff0c;与全球最大电信公司之一沃达丰&#xff08;Vodafone&#xff09;签订10年合作协议&#xff0c;将为3亿多企业、消费者提供生成式AI、云和数字服务等。 通过此次合作&#xff0c;沃达丰将利用微软的Copilot等生成式AI来改变客户、…

VScode远程开发

VScode远程开发 在SSH远程连接一文中&#xff0c;我么介绍了如何使用ssh远程连接Jetson nano端&#xff0c;但是也存在诸多不便&#xff0c;比如:编辑文件内容时&#xff0c;需要使用vi编辑器&#xff0c;且在一个终端内&#xff0c;无法同时编辑多个文件。本节将介绍一较为实用…

C语言:预处理详解

创作不易&#xff0c;来个三连呗&#xff01; 一、预定义符号 C语⾔设置了⼀些预定义符号&#xff0c;可以直接使⽤&#xff0c;预定义符号也是在预处理期间处理的。 __FILE__ //进⾏编译的源⽂件 __LINE__ //⽂件当前的⾏号 __DATE__ //⽂件被编译的⽇期 __TIME__ //⽂件被编…

【Alibaba工具型技术系列】「EasyExcel技术专题」摒除OOM!让你的Excel操作变得更加优雅和安全

摒除OOM&#xff01;让你的Excel操作变得更加优雅和安全 前提概要存在隐患问题解决方案更优秀的选择 EasyExcel的介绍说明技术原理对比POIEasyExcel技术原理图节省内存的开销 Maven仓库依赖基础API介绍&#xff08;参考官方文档&#xff09;实战案例读取Excel实现Demo数据模型D…

跨域原理和解决方案

前置知识 什么是跨域 主要是由于浏览器的同源策略引起的&#xff0c;同源策略是浏览器的安全机制&#xff0c;当 协议&#xff0c;域名&#xff0c;端口 三者有一个不同&#xff0c;浏览器就禁止访问资源。 比如&#xff1a;http://www.company.com:80 http://www.company.…

绝地求生【违规处罚工作公示】1月8日-1月14日

1月8日至1月14日期间&#xff0c;共计对174,636个违规账号进行了封禁&#xff0c;其中164,757个账号因使用外挂被永久封禁。 若您游戏中遇到违规行为&#xff0c;建议您优先在游戏内进行举报&#xff1b; 另外您也可以在官方微信公众号【PUBG国际版】中点击“ 服务中心 - 举报…