【LabVIEW学习篇 - 6】:数组、簇

文章目录

  • 数组
    • 创建数组
    • 数组函数
      • 数组大小
    • 根据索引取值
    • 数组与for循环
  • 案例一
    • 案例二
    • LabVIEW簇的特点和用途:
    • 创建簇
    • 解除捆绑
    • 按名称解除捆绑
    • 簇的捆绑
    • 重新排序簇中控件

数组

在LabVIEW中,数组是一种用于存储相同数据类型的多个元素的数据结构。以下是关于LabVIEW数组的一些重要信息:

  1. 元素:LabVIEW数组中的每个元素都可以是相同的数据类型,例如整数、浮点数、布尔值等。

  2. 维度:LabVIEW数组可以是一维、二维甚至多维的。一维数组类似于列表或向量,而二维数组则类似于表格或矩阵。LabVIEW支持动态调整数组的大小和维度。

  3. 索引:数组中的元素可以通过索引来访问,索引从0开始。对于一维数组,只需要一个索引来定位元素;对于多维数组,需要使用多个索引。

创建数组

案例:在前面板中创建一个一维的数值类型的数组,在程序框图中创建一个二位的字符类型的数组,并往里面添加5个值,并设置这5个值为默认值,当关闭文件重新打开后,值不变。

  1. 在前面板中,鼠标右键-数组容器-数组,然后鼠标右键-数值-数值输入控件,将数值输入控件移动到数组中,点击放置,即可创建一个数值类型的数组。
    在程序框图中,鼠标右键-数组-数组常量,然后鼠标右键-字符串-字符串常量,将字符串常量移动到数组常量中点击放置,接着鼠标移动到字符类型的数组索引框上,向下拉,出现第二个索引框,即为二位数组。
    在这里插入图片描述
  2. 将鼠标移动到数组的框位置,鼠标可将边框拉开,即增加数组长度。
    在这里插入图片描述
    在这里插入图片描述
  3. 并分别输入5个值。
    在这里插入图片描述
  4. 鼠标移动到数组控件上,鼠标右键-数据操作-当前值设置为默认值,设置好后,即可在下次打开文件时,不会重置默认值。
    在这里插入图片描述

数组函数

数组大小

基于创建数组的案例,在程序框图中,鼠标右键-数组-数组大小,设置两个数组大小的控件,并分别将数组与数组大小的函数连接,最后在函数输出端创建显示控件,观察结果。
(注意:数组常量需转换为输入控件)
在这里插入图片描述

根据索引取值

基于以上案例,在程序框图中,鼠标右键-数组-索引数组,并将数组控件与其索引数组函数连接,并设置索引值为3,创建显示控件。
在这里插入图片描述

数组与for循环

数组与for循环连接就默认了for循环的次数为数组的大小。

案例一

基于以上案例,创建for循环,在for循环中每次循环等待1s,观察数组的元素变化。

3s时
在这里插入图片描述

案例二

使用for循环,创建包含5个随机数元素的数组。
在这里插入图片描述

在LabVIEW中,簇(Cluster)是一种数据类型,用于组合不同类型的数据元素为一个单一的数据结构。簇类似于结构体(struct)或记录(record)的概念,在其他编程语言中常见。

LabVIEW簇的特点和用途:

  1. 数据组合:簇允许将不同类型的数据元素组合成一个整体。这些数据元素可以是数字、布尔值、字符串等。

  2. 结构化数据:通过簇,可以将相关联的数据分组,使数据在传输和处理时更加有序和结构化。

  3. 可扩展性:簇可以包含多个数据元素,并且可以根据需要添加或删除数据元素,从而提高数据结构的灵活性和适应性。

  4. 单一输入输出:在LabVIEW的程序设计中,簇常用于函数的输入输出,以便传递和处理多个相关联的数据。

创建簇

  1. 在前面板中,鼠标右键-数据容器-簇,即可创建一个簇,然后在里面放置不同类型的控件,即为簇的元素。
    在簇中放置数值输入控件、字符串显示控件和圆形指示灯。
    放置字符串显示控件和圆形圆形指示灯后,这两个控件都变为数值输入控件。原因是:簇为输入控件还是显示控件是由第一个放置的控件类型决定的。
    在这里插入图片描述
  2. 在程序框图中,鼠标右键-簇、类与变体-簇常量,并在其中放置数值常量、DBL数值常量、字符串常量,然后选中簇,鼠标右键-自动调整大小-垂直排列
    在这里插入图片描述

解除捆绑

解除捆绑(Unbundle)则是指将簇中的各个元素解开,使其可以单独访问和处理。

要在LabVIEW中解除捆绑一个簇,通过"Unbundle"操作,你可以选择要解除捆绑的簇,并从中提取出簇中的各个元素。这些元素可以是数字、布尔值、字符串等,具体取决于你在创建簇时选择的元素类型和顺序。

具体的演示操作如下:

  1. 如下图所示,对红色框中的簇进行解除捆绑操作。
    在这里插入图片描述
  2. 在程序框图中,鼠标右键-簇、类与变体-解除捆绑,然后将簇与解除捆绑连接,然后在输出端出现簇中的三个不同类型的控件,分别创建其对应的显示控件。
    在这里插入图片描述
  3. 在前面板的簇中,数值输入控件输入1122,字符串输入控件输入街三仔,点亮圆形指示灯,然后运行,结果如下。运行后,相对应的显示控件相对应的显示。
    在这里插入图片描述
    在这里插入图片描述

按名称解除捆绑

LabVIEW中的簇的按名称解除捆绑是一种特定的操作,它允许用户根据元素的名称来选择性地从簇中提取数据。

基本概念:
按名称解除捆绑函数能够根据簇中元素的名称来输出特定的元素值。这意味着,即使簇中的元素顺序发生变化,只要元素的名称保持不变,就可以准确地提取出所需的数据。

  1. 在程序框图中,鼠标右键-簇、类与变体-按名称解除捆绑,将簇常量与按名称解除捆绑连接,发现其为空,原因是簇常量中的元素没有名称。
    在这里插入图片描述
  2. 设置簇常量中元素的名称。鼠标选中簇常量中的元素,鼠标右键-显示项-标签,即可设置簇常量的名称。
    在这里插入图片描述
    在这里插入图片描述
  3. 若想解除捆绑多个元素,可往下拉。
    在这里插入图片描述

簇的捆绑

簇是一种强大的数据结构,用于将多个不同类型的数据元素组合在一起。簇的捆绑(Bundle)操作是创建和维护这些簇的基础之一。

在程序框图中,放置几个不同类型的控件,然后鼠标右键-簇、类与变体-捆绑,将这几个控件与捆绑连接在一起。若元素较多,可鼠标往下拉,最后在输出捆绑输出端创建显示控件,这样就可成功创建簇。
在这里插入图片描述

重新排序簇中控件

  1. 在前面板中,选中簇,鼠标右键-重新排序簇中控件,可看到簇中的排序和簇连接解除捆绑后出现的控件排序是一一对应的。
    黑框中的数为可修改的值。
    在这里插入图片描述
  2. 若想修改字符串输入控件为0,圆形指示灯为1,数值输入控件为2,则按照以下方式修改。
    在这里插入图片描述
    在这里插入图片描述

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

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

相关文章

【BUG】Python3|COPY 指令合并 ts 文件为 mp4 文件时长不对(含三种可执行源代码和解决方法)

文章目录 前言源代码FFmpeg的安装1 下载2 安装 前言 参考: python 合并 ts 视频(三种方法)使用 FFmpeg 合并多个 ts 视频文件转为 mp4 格式 Windows 平台下,用 Python 合并 ts 文件为 mp4 文件常见的有三种方法: 调用…

B树:深入解析与实战应用

在数据结构和算法的世界中,B树(B-tree)无疑是一颗璀璨的明星。它不仅广泛应用于数据库和文件系统的索引结构中,而且在许多需要高效数据检索的场景中发挥着重要作用。本文将从B树的基本概念入手,通过图文结合的方式&…

HarmonyOS NEXT:一次开发,多端部署

寄语 这几年特别火的uni-app实现了“一次开发,多端使用”,它这个端指的是ios、安卓、各种小程序这些,而HarmonyOS NEXT也提出了“一次开发,多端部署”,而它这个端指的是终端设备,也就是我们的手机、平板、电…

MySQL-MySQL数据类型

文章目录 〇. 数据类型分类一、整形1. tinyint [unsigned]2. bit[(M)] 二、浮点数类型float[(m, d)] [unsigned]decimal(m, d) [unsigned] 三、字符串类型1.char(L)2.varchar(L) 四、日期类型五、enum和set查询enum和set 总结 〇. 数据类型分类 一、整形 整形我们今天只讲两个…

整洁架构SOLID-接口隔离原则(ISP)

文章目录 定义ISP与编程语言ISP与软件架构小结 定义 在上图中有多个用户需要操作OPS类。现在,我们假设这里的User1只需要使用op1,User2只需要使用op2,User3只需要使用op3。 在这种情况下,如果OPS类是用Java编程语言编写的,那么很明显&#x…

对B-树的理解

目录 前言-为什么要使用B-树?B-树概念 前言-为什么要使用B-树? 首先,我们正常的搜索都有一下方式: 搜索二叉树,极端场景下会退化,类似于单支,此时的效率变成了O(N);为了解决1的问题…

spring boot(学习笔记第十三课)

spring boot(学习笔记第十三课) Spring Security的logout,传统后端开发模式和前后端分离模式的不同,invalidateHttpSession不好用,bug? 学习内容: 传统后端开发模式 vs 前后端分离模式Spring Security的logout功能 1.…

最新 Kubernetes 集群部署 + Containerd容器运行时 + flannel 网络插件(保姆级教程,最新 K8S 1.28.2 版本)

资源列表 操作系统配置主机名IP所需插件CentOS 7.92C4Gk8s-master192.168.60.143flannel-cni-plugin、flannel、coredns、etcd、kube-apiserver、kube-controller-manager、kube-proxy、 kube-scheduler 、containerd、pause 、crictlCentOS 7.92C4Gk8s-node01192.168.60.144f…

Python 实现股票指标计算——BOLL布林线

1 公式 中轨线 N日的移动平均线,N一般取20 上轨线 中轨线 X倍的标准差,X一般取2 下轨线 中轨线-Y倍的标准差, Y一般取2 2 数据准备 我们以科创50指数 000688 为例,指数开始日期为2019-12-31,数据格…

HTTPS的工作原理(HTTPS建立连接的过程)

HTTPS 主要基于SSL/TLS 协议,确保了数据传输的安全性和完整性, 其建立连接并传输数据的过程如下: TCP连接建立后,客户端和服务器开始SSL/TLS握手, 密钥交换:客户端发送客户端支持的加密套件列表、随机数等信息。服务…

强化学习:bellman方程求解state value例题

最近在学习强化学习相关知识,强烈推荐西湖大学赵世钰老师的课程,讲解的非常清晰流畅,一路学习下来令人身心大爽,感受数学抽丝剥茧,化繁为简的神奇魅力。 bellman方程还是比较容易理解的:当前状态下的state …

java Web学习笔记(三)

文章目录 1. 前置知识2. Vue使用vite构建项目SFC入门使用ref和.value体会响应式数据&#xff08;使用ES6和setup&#xff09; 3. Vue视图渲染技术及其语法模板语法&#xff1a;命令插值表达式渲染双标><中的文本&#xff08;还挺可爱&#xff09;属性渲染命令事件渲染命令…

UWB定位系统在智能制造行业中的主要功能

定位系统全套源码&#xff0c;UWB定位系统 UWB&#xff08;超宽带&#xff09;定位系统在智能制造行业赋能可以实现多种功能&#xff0c;这些功能不仅提升了企业的管理水平和生产效率&#xff0c;还增强了生产现场的安全性和灵活性。 开发语言&#xff1a;JAVA 开发工具&…

std::filesystem::current_path().generic_string()的bug

这行指令出来会出来大小写的盘符&#xff0c;如D 或者d&#xff0c;似乎随机 #include <iostream> #include <filesystem>namespace fs std::filesystem;bool arePathsSame(const fs::path& p1, const fs::path& p2) {return p1 p2; }int main() {fs::p…

算法训练营day09 字符串(字符串旋转拼接,KMP算法)

&#x1f4a1; 解题思路 &#x1f4dd; 确定输入与输出&#x1f50d; 分析复杂度&#x1f528; 复杂题目拆分 &#xff1a;严谨且完整 地拆分为更小的可以解决的子问题&#xff08;字符的逻辑拆分&#xff09;–&#xff08;多总结&#xff09;&#x1f4ad; 选择处理逻辑&…

vue3使用Echarts图表生成项目进度甘特图

先看效果 代码展示 <template><h1>项目进度甘特图</h1><div id"app"><!-- Echarts 图表 --><div ref"progressChart" class"progressChart"></div></div> </template><script setup&…

微博图片下载助手

开发的一款「微博图片下载助手」支持一键保存用户图片 / 原图保存 / 支持保存 live 动图&#xff0c;支持免登录&#xff0c;但是不支持去水印哦。另外软件是易语言编写的&#xff0c;一些杀毒软件可能会误报。 链接: https://pan.baidu.com/s/1ZwDuuS2AF0-nxGgYYPve_g?pwdwn…

vscode离线方式远程到没有网络的服务器上

1.首先要在本地和远端服务器都安装vscode的安装包&#xff0c;无网络离线安装。 2.本地vscode离线安装Remote-SSH插件 3.点击vscode最左边的ssh链接栏&#xff0c;创建ssh链接到远端无网络服务器。会报错无法下载vscode-server_x86.tar.gz&#xff0c;根据报错按F12可以看到下载…

Qt项目中添加自定义文件夹,进行整理归类

Qt项目中添加文件夹进行归类 1、在windows的工程目录下创建一个文件夹&#xff0c;如widgets 2、将.h 、.cpp、.ui文件拷贝到windows该文件夹widgets 3、在qt工程中&#xff0c;根目录右键&#xff0c;选择添加现有文件&#xff0c;批量选择 .h 、.cpp、.ui文件之后&#xf…

内网信息收集:手动、脚本和工具查IP、端口

1.手动查IP和端口 2.工具查IP 3.工具查端口 我们在内网中拿下目标机器后&#xff0c;需要进行一系列的信息收集&#xff0c;以下为总结的收集方法 1.手动信息收集&#xff1a; 以下命令在CS执行时命令前须加shell,如&#xff1a;shell ipconfig 1.收集IP网卡&#xff1a; ip…