4.Labview簇、变体与类(上)

news2024/11/24 1:53:39

在Labview中,何为簇与变体,何为类?应该如何理解?具体有什么应用场景?
本文基于Labview软件,独到的讲解了簇与变体与类函数的使用方法和场景,从理论上讲解其数据流的底层概念,从实践上建立函数的使用规范及应用场景。

本文介绍簇、变体与类的函数使用和具体使用场景。具体内容分区请大家查看目录。

簇、变体与类的讲解

  • 一、簇
    • 1.1 簇简介
    • 1.2 几种常用簇
    • 1.3 簇的函数
  • 二、变体
    • 2.1 什么是变体?
    • 2.2 变体的用法
  • 三、类

一、簇

== 可以称为杂物收纳盒 == 簇这个东西,在Labview中往往是把他拿来和数组进行对比的,他们两个是有相同之处的。
相同之处: 二者皆为数据的容器,顾名思义就是把很多数据放到这一个小容器里面。
不同之处: 可以认为同一个数组内部存放的是相同的数据,比如只放数值、只放字符串;但是同一个里面可以多种类型的参数,比如可以一个容器中放入数值、字符串、数组等。关于数组的函数使用,因为之前详细讲过一次,本章不做具体讲解,大家可以点击链接查看之前有关数组的讲解:
1.【Labview白话系列】Labview数组精讲链接

1.1 簇简介

簇的作用是什么呢? 根据题主经验,我认为一般用来归纳各数据类型,比如我们将许多数据类型,字符串、数值、数组很多条线在VI间传来传去,显得杂乱不堪。但是有了簇以后,我们可以将这些控件整理为一个簇类控件,在VI间传递仅需一个控件即可解决。简单介绍一下,上面说过,就是相当于很多数据类型的集合,这里说一下怎么使用,前面板右键,选择数据容器后点击簇,放置在前面板,此时就建立好簇的容器了,然后就可以直接建立数值、字符串等的控件将其拖放进去,如下图所示的:
在这里插入图片描述
这里需要注意的是:簇里面的数据是有顺序的! 并且簇里面数据的顺序和我们放入簇的顺序有关,即先放入的顺序是0,其次是1,2…这个顺序关系到我们使用簇时,索引簇内部的某个数据类型使用的。那么当我们需要调整簇内部某个控件的位置时,我们可以右键单击簇选择“重新排序簇中控件”的方式来调整簇内的控件顺序,具体顺序标号会在簇内部的控件右下角显示。
在这里插入图片描述

1.2 几种常用簇

簇的方式可以建立很多种,大家都知道簇是可以添加好多种不同样的控件的,比如大家最熟知的“错误簇”,里面就包含了布尔、字符串、数值等控件的集合,那么簇怎么使用呢,这里告诉大家,建立簇是整个过程中最重要的一个环节,因为簇在后期调用时需要了解建立的这个簇的特性,比如内部控件的排序啊、控件的类型啊等等,那么题主列举几种建立的常用簇的方式。

  1. 前面板使用容器生成: 1.1中讲解了这种方式,这里需要强调一个注意的点,就是 控件的输入和输出类型是随着簇的类型改变的,且二者一致,也就是说,如果将一个显示控件放在输入簇中,那么该簇中的这个控件会自动转化为输入控件。
  2. 使用捆绑方式创建簇:
    将多个控件捆绑到一个簇类控件中,即可生成新的输出簇,该方式在编程中使用较多,往往在VI间传递时,将多个控件打包成簇,放入子VI中,仅需要建立一个接口就可以将所有控件传入子VI了。
    捆绑创建的簇如下图所示:
    在这里插入图片描述
  3. 建立严格类型的簇: 这一部分,如果大家基础还没打好可以不用学,因为这是后期编程用到的技巧,如果能看懂最好。这里就需要将簇的内部的控件类型定义为严格类型,就可以创建这类簇了,那么这种严格类型的簇有什么用处呢?可以说将簇定义为严格类型后,当簇内部的控件发生变化时,如果在多个VI中都调用了这个簇,那么所有控件都会自动改变而无需我们手动更改。 ,建立方式如下:
    ①首先在该位置右键创建一个输入簇;
    ②右键选择制作自定义类型;
    ③右键选择打开自定义类型;
    ④在上方选择框中选择严格自定义类型;
    ⑤点击文件 — 应用改动,并将该自定义类型保存在任意文件夹中以便于后期调用。
    ⑥将该簇连接到①的位置,就算是改完了。
    在这里插入图片描述
    那么该簇保存在电脑中,我们如果建立子VI时,那么可以直接在子VI的后面板右键,点击“选择VI”,将该簇放置在子VI面板中即可。当主VI的簇变化时,那么该子VI中调用的该簇也随着变化,很方便。

1.3 簇的函数

簇的函数,包括以下几种:

  1. 创建簇数组: 顾名思义,把现在的簇作为数组的一个元素,组成数组,也就是说数组中的每一个元素都是一个簇,是不是很好理解。 在这里插入图片描述

  2. 索引与捆绑簇数组: 就是将数组组成簇以后,再将这个单个簇作为数组的一个元素,展现出来。这里要说明的是,输入的所有数组的维数要完全相同。
    在这里插入图片描述

  3. 数组至簇转换/簇至数组转换: 就是将数组转换为簇,簇转换为数组,这个函数还是比较矫情的,簇转换为数组的时候,必须要求簇内部的控件是同种类型的,数组转换为簇的时候也必须要求数组为一维数组。

在这里插入图片描述

二、变体

2.1 什么是变体?

变体出现的场景是什么样的呢?如下:
在我们使用Labview在程序框图上连线时,必须相同类型或者能强制相互转换的类型端口才能连接在一起,例如我们不能将一个数值型的控件连接到布尔型的控件上,也不能将一个数组类型的控件连接到簇类型的控件上。但是,有时候我们需要设计的子程序具有更强大的灵活性,在一个连接端口上能接入不同的数据类型,在程序内部能自动识别其原始的实际数据类型,然后分别进行不同的处理,这时候变体数据(Variant data)类型就派上用场了。
在labview中,大家可以将变体理解为一个通用的数据类型,它与数值、字符串等的是同一级别且可以将其互相转换。
在这里插入图片描述

2.2 变体的用法

上面提到,变体可以作为任何数据类型的转换形式,所有数据类型都可以将接口连接至变体上,可以说是 “一口多用” ,下图前三个图是变体函数的子vi和后一张图主函数调用的程序,在选择要将变体转换为什么格式之后,就可以将任何数据类型的变体转换了。本文最后提供该函数的程序下载地址。
在这里插入图片描述

三、类

由于类这一特征常用在项目中,一般用于建立VI之间的数据互通,数据传输等。涉及项目、VI之间的传递等,由于类的用法较多且相对复杂,考虑在基础阶段大家用到的频率很低很低,所以下一章节中,类作为选看文章给大家讲解用法,本系列文章将在下一篇文章中单独详细讲解类的用法,感谢大家本期的收看,欢迎大家是剖藏加关注查看文章的实时更新。

本文讲解了簇函数及变体的用法,希望大家巩固并多多实践,从大量工程实践中深入了解该内容的具体用法,如有不全面或者其他问题,题主欢迎大家评论或私聊联系。 本期就到这里,感谢大家的收看。更多文章请查看题主首页搜索。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS基础之伪元素选择器(如果想知道CSS的伪元素选择器知识点,那么只看这一篇就足够了!)

前言:我们已经知道了在CSS中,选择器有基本选择器、复合选择器、伪类选择器、那么选择器学习完了吗?显然是没有的,这篇文章讲解最后一种选择器——伪元素选择器。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我…

如何把npm切换成yarn管理项目

1.删掉项目中package-lock.json和依赖包 这一步手动删掉就好 2.全局安装yarn npm install -g yarn 3.可以开始执行yarn install安装依赖 1)执行yarn init 这一步是修改npm生成的package.json文件,可能会遇到这个问题: 这个查了一下是有…

cesium primitive 移动 缩放 旋转 矩阵

旋转参考:cesium 指定点旋转rectangle Primitive方式 矩阵篇-CSDN博客 平移参考:cesium 调整3dtiles的位置 世界坐标下 相对坐标下 平移矩阵-CSDN博客 一、primitive方式添加polygon let polygonInstance new Cesium.GeometryInstance({geometry: Ce…

智能商品计划系统如何提升鞋服零售品牌的竞争力

国内鞋服零售企业经过多年的发展,已经形成了众多知名品牌,然而近年来一些企业频频受到库存问题的困扰,这一问题不仅影响了品牌商自身,也给长期合作的经销商带来了困扰。订货会制度在初期曾经有效地解决了盲目生产的问题&#xff0…

【python】flask结合SQLAlchemy,在视图函数中实现对数据库的增删改查

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

C++11(下篇)

文章目录 C111. 模版的可变参数1.1 模版参数包的使用 2. lambda表达式2.1 Lambda表达式语法捕获列表说明 2.2 lambda的底层 3. 包装器3.1 function包装器3.2 bind 4. 线程库4.1 thread类4.2 mutex类4.3 atomic类4.4 condition_variable类 C11 1. 模版的可变参数 C11支持模版的…

初学若依笔记

初学若依 下载ruoyi(以前后端分离板为例) https://ruoyi.vip/ 部署 安装mysql安装redis将数据库和redis配置到若依 配置文件为 ruoyi-admin\src\main\resource\application-druid.yml 运行 略 开发自己的功能 创建模块 为了不影响原有功能,创建一个模块写自…

[AI]-(第0期):认知深度学习

深度学习是一种人工智能(AI)方法,用于教计算机以受人脑启发的方式处理数据。 深度学习模型可以识别图片、文本、声音和其他数据中的复杂模式,从而生成准确的见解和预测。 您可以使用深度学习方法自动执行通常需要人工智能完成的…

深入理解大语言模型微调技术

一、概念解析 1、什么是微调(Fine-tuning)? 大模型微调,也称为Fine-tuning,是指在已经预训练好的大型语言模型基础上(一般称为“基座模型”),使用特定的数据集进行进一步的训练&am…

pandas基本用法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas的数据结构1、一维数组pd.Series1.1 pd.Series(data,index,dtype)示例1:不定义index示例2:自定义inde…

【C++学习】C++IO流

这里写目录标题 🚀C语言的输入与输出🚀什么是流🚀CIO流🚀C标准IO流🚀C文件IO流 🚀C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输入设备(键盘)读取…

14.C++常用的算法_排序算法

文章目录 遍历算法1. sort()代码工程运行结果 2. random_shuffle()代码工程运行结果第一次运行结果第二次运行结果第三次运行结果 3. merge()代码工程运行结果 4. reverse()代码工程运行结果 遍历算法 1. sort() 代码工程 sort()函数默认是升序排列,如果想要降序…

Jenkins配置windows/linux从节点

背景: 环境:jenkins环境(Ubuntu) 节点机器:Linux、Windows 前置条件: 节点机器:安装java、allure、python 1 Linux节点管理机器添加 1.1 系统管理->节点列表->New Node 1.2 节点配置…

基于微信小程序投票评选系统的设计与实现(论文+源码)_kaic

摘 要 社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜爱。所以各大互联网厂商都瞄准移动互联网这个潮…

Weblogic 数据源无法解析错误的解决方法

问题现象 javax.naming.NameNotFoundException: Unable to resolve datasource1. Resolved ; remaining name datasource1at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1292)at weblogic.jndi.internal.BasicNamingNode.lookupH…

leetcode-合并两个有序链表

目录 题目 图解 方法一 方法二 代码(解析在注释中) 方法一 ​编辑方法二 题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1…

电机控制器电路板布局布线参考指导(五)

电机控制器电路板布局布线参考指导(五)大容量电容和旁路电容的放置 1.大容量电容的放置2.电荷泵电容器3.旁路电容/去耦电容的放置3.1 靠近电源3.2 靠近功率器件3.3 靠近开关电流源3.4 靠近电流感测放大器3.5 靠近稳压器 tips:资料主要来自网络…

Spring Boot 多环境配置:YML 文件的三种高效方法

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

【Redis 神秘大陆】006 灾备方案

六、Redis 灾备方案 6.1 存储方案 6.1.1 基础对比 RDB持久化AOF持久化原理周期性fork子进程生成持久化文件每次写入记录命令日志文件类型二进制dump快照文件文本appendonly日志文件触发条件默认超过300s间隔且有1s内超过1kb数据变更永久性每秒fsync一次文件位置配置文件中指…