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

在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.rhkb.cn/news/312022.html

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

相关文章

【学习笔记】Python大数据处理与分析——pandas数据分析

一、pandas中的对象 1、Series对象 由两个相互关联的数组(values, index)组成,前者(又称主数组)存储数据,后者存储values内每个元素对应关联的标签。 import numpy as np import pandas as pds1 pd.Series([1, 3, 5, 7])print(…

xxl-job使用自动注册节点,ip不对,如何解决????

很明显这时我们本机的ip和我们xxl-job自动注册的ip是不一致的,此时该如何处理呢???? 方法一:在配置文件中,将我们的ip固定写好。 ### xxl-job executor server-info xxl.job.executor.ip写你的…

Flink SQL

文章目录 一、Flink SQL1、sql-client准备1.1 基于yarn-session模式1.2 常用配置 2、流处理中的表2.1 动态表和持续查询2.2 将流转换成动态表2.3 用SQL持续查询2.4 将动态表转换为流 3、时间属性3.1 事件时间3.2 处理时间 4、DDL(Data Definition Language&#xff…

详解UART通信协议以及FPGA实现

文章目录 一、UART概述二、UART协议帧格式2.1 波特率2.2 奇校验ODD2.3 偶校验EVEN 三、UART接收器设计3.1 接收时序图3.2 Verilog代码3.3 仿真文件测试3.4 仿真结果3.5 上版测试 四、UART发送器设计4.1 发送时序图4.2 Verilog代码4.3 仿真文件测试4.4 仿真结果4.5 上板测试 五、…

【Web】Dest0g3 520迎新赛 题解(全)

目录 phpdest EasyPHP SimpleRCE funny_upload EasySSTI middle PharPOP ezip NodeSoEasy Really Easy SQL&easysql EzSerial ljctr phpdest 尝试打pearcmd,但似乎没有写文件的权限 ?config-create/&file/usr/local/lib/php/pearcmd.php&a…

从零开始写 Docker(十一)---实现 mydocker exec 进入容器内部

本文为从零开始写 Docker 系列第十一篇,实现类似 docker exec 的功能,使得我们能够进入到指定容器内部。 完整代码见:https://github.com/lixd/mydocker 欢迎 Star 推荐阅读以下文章对 docker 基本实现有一个大致认识: 核心原理&…

STM32 F103 C8T6开发笔记14:与HLK-LD303-24G测距雷达通信

今日尝试配通STM32 F103 ZET6与HLK-LD303-24G测距雷达的串口通信解码 文章提供测试代码...... 目录 HLK-LD303-24G测距雷达外观: 线路连接准备: 定时器与串口配置准备: 定时器2的初始化: 串口1、2初始化: 串口1、2自定…

C++从入门到精通——类和对象(下篇)

1. 再谈构造函数 1.1 构造函数体赋值 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。 class Date { public:Date(int year, int month, int day){_year year;_month month;_day day;} private:int _year;int _mont…

Web3.0与AI的交融:开启智能互联网新时代

目前有140 多个 Web3 AI 概念项目,覆盖了基础设施、数据、预测市场、计算与算力、教育、DeFi & 跨链、安全、NFT & 游戏 & 元宇宙、搜索引擎、社交 & 创作者经济、AI 聊天机器人、DID & 消息传递、治理、医疗、交易机器人等诸多方向。持续关注…

C++笔记:类和对象

类和对象 认识类和对象 先来回忆一下C语言中的类型和变量,类型就像是定义了数据的规则,而变量则是根据这些规则来实际存储数据的容器。类是我们自己定义的一种数据类型,而对象则是这种数据类型的一个具体实例。类就可以理解为类型&#xff0c…

怎么用手机远程控制电脑 远程控制怎么用

怎么用手机远程控制电脑:远程控制怎么用 在这个科技日新月异的时代,远程控制电脑已经成为了很多人的需求。有时,我们可能在外出时突然需要访问家中的电脑,或者在工作中需要远程操控办公室的电脑。这时,如果能用手机远…

JavaEE:JVM

基本介绍 JVM:Java虚拟机,用于解释执行Java字节码 jdk:Java开发工具包 jre:Java运行时环境 C语言将写入的程序直接编译成二进制的机器语言,而java不想重新编译,希望能直接执行。Java先通过javac把.java…

Visual Studio 2019 社区版下载

一、网址 https://learn.microsoft.com/zh-cn/visualstudio/releases/2019/release-notes#start-window 二、选择这个即可

【Java EE】关于Spring MVC 响应

文章目录 🎍返回静态页面🌲RestController 与 Controller 的关联和区别🌴返回数据 ResponseBody🎋返回HTML代码片段🍃返回JSON🍀设置状态码🎄设置Header🌸设置Content-Type&#x1f…

【单例模式】饿汉式、懒汉式、静态内部类--简单例子

单例模式是⼀个单例类在任何情况下都只存在⼀个实例,构造⽅法必须是私有的、由⾃⼰创建⼀个静态变量存储实例,对外提供⼀个静态公有⽅法获取实例。 目录 一、单例模式 饿汉式 静态内部类 懒汉式 反射可以破坏单例 道高一尺魔高一丈 枚举 一、单例…

自学Java的第二十四次笔记

一,方法重载 1.基本介绍 java 中允许同一个类中,多个同名方法的存在,但要求 形参列表不一致! 比如: System.out.println(); out 是 PrintStream 类型 2.重载的好处 1) 减轻了起名的麻烦 2) 减轻了记名的麻烦 3.快速入门案…

【中间件】ElasticSearch简介和基本操作

一、简介 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,支持各种数据类型,包括文本、数字、地理、结构化、非结构化 ,可以让你存储所有类型的数据,能够解决不断涌现出的各种用例。其构成如下: 说明&#xff1…

Python基于深度学习的车辆特征分析系统

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

ARMv8-A架构下的外部debug模型之外部调试事件(external debug events)概述

外部调试器与处理器之间的握手与external debug events 一,External Debug的使能二,外部调试器和CPU之间的握手三,外部调试事件 External debug events1. External debug request event2. Halt instruction debug event3. Halting step debug…

天池酒瓶瑕疵检测数据集分析及完整baseline

以下内容为还没思路的小伙伴牵个头提供一个demo,大佬勿喷,线上成绩0.7,留空间给小伙伴们发挥自己的力量 ps:markdown不怎么熟悉,代码中如有明显缩进问题,自行斟酌改正,编辑好几次都改不过来,请原谅.... 数据分析瑕疵大类: 瓶盖瑕疵、标贴瑕疵、喷码瑕疵、瓶身瑕疵、酒液瑕疵瑕…