5.Labview簇、变体与类(下) -- 项目与Labview类的使用

news2024/10/6 12:21:42

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

因为本文内容为选看内容,前半段讲的创建项目,后半段讲的类函数。且大部分同学是用不到的,只建议能用到的同学看,不建议初学者看后半段。具体内容分区请大家查看目录。
本文为下篇文件,上篇文件请点击下方链接查看。
簇、变体与类(上篇) – 簇的基本函数及变体的用法理解

项目与类的使用

  • 一、什么是项目?
    • 1.1 项目创建
    • 1.2 项目功能
  • 二、如何创建并使用类?
    • 2.1 类在项目中的创建
    • 2.2 多态vi
    • 2.3 类的应用

一、什么是项目?

Labview中的项目其实可以理解为类似于一个大的文件夹,这个文件夹里面有我们开发一个程序用到的所有VI、文件、自定义控件等等。当我们打开一个程序时,与该程序相关的文件、VI都放在这个项目文件夹中。那么如何创建一个项目呢?

1.1 项目创建

打开Labview的主界面,选择新建 – 项目 ,如下图所示两个红框内的方式都可以,创建完成之后会弹出一个项目的对话框,包含一个项目的标题和各类文件夹,此时项目就已经创建完成了,我们单击保存,将项目的主文件保存在一个文件夹中,那我们每次打开这个项目的主文件时都将会打开这一个管理界面,在这个管理界面中,包含了本项目可以调用的所有的VI、各类表格、图片、及其他与本项目相关的所有文件类型等。
在这里插入图片描述
下图就是一个已经创建完成的项目并包含一些该项目中所有可以用到的一些VI, 当我们在这个项目界面创建VI时,那么这个VI将会被自动收录到这个项目文件中在这里插入图片描述
那么题主新建一个名为“类相关训练项目”的项目,如果想把一个文件夹和它包含的vi全部放置在该项目中,那么就按下方操作,建议大家选择自动更新的文件夹,因为文件夹中如果增加了vi或者删除了vi,该文件夹中的vi就会自动同步到项目文件中。
在这里插入图片描述
创建项目大概就这样的操作,项目创建有什么好处呢?
可以按文件夹的操作方式将程序中用到的vi在项目中展示出来,比较便捷。
程序调用时,可以优先检索项目中相关被调用vi的路径。
可以生成安装程序,安装在无Labview的电脑上。
便于管理,方便大家直接在项目中管理VI和文件。

1.2 项目功能

项目的具体功能使用有哪些呢?

  1. 管理VI
    可以将所有用到的vi规划整理到该项目中,相当于该项目包含了各vi的路径,打开时自动调用该vi,省时省力。
  2. 创建应用程序
    软件编写完成后,可以创建应用程序,即exe文件,在电脑上方便打开的软件,具体方式如下:点击“应用程序(EXE)”之后,跳出设置界面,根据导航界面设置安装文件的位置、安装的软件包含的文件数量即可。
    在这里插入图片描述
  3. 创建安装程序
    这个是在有应用程序的基础上创建的,有了应用程序以后,如上图中点击新建安装程序即可创建可安装的程序包。使程序在没有labview’的情况下也可以运行。

二、如何创建并使用类?

在讲类之前,题主对类的使用功能也有些模糊,也是跟老师学了之后再和大家讨论学习,所以文章有哪里有问题的话,希望大家及时纠正。 那么言归正传,类的创建及操作都是基于项目的,这也就是为什么上一章先带领大家了解了一下项目的使用及操作说明。那么类如何创建呢?以什么形式存在呢?

2.1 类在项目中的创建

首先在项目中,我们要创建一个类,名为“实例”如下图所示,在目标文件夹中右键 — 新建 — 类
在这里插入图片描述
创建完成后就可以在项目的目标文件夹中看到一个格式为.lvclass的文件,点开后,里面有一个ctl自定义类型的vi,我们打开这个vi,该vi是后续所有程序的数据流创建需要调用的vi,所以我们优先打开并定义该vi
题主按照实例做一个售价计算的小程序,所以需要创建三个参数,分别是进货价、利润、售价。 那么,在该初始vi中,需要定义该三种vi的数据类型为簇,上一篇文章我们讲到如何使用该簇的方法,在该.ctl控件中创建完成后如下图所示:
在这里插入图片描述
此时我们可以定义该vi的图标形式,我们右键“实例.lvclass”,单击属性打开该类的属性设置界面,单击“常规设置”,单击“编辑图标”,就进入了图标编辑选择项中,我们将图标表头设置为一个SALE的英文,这个大家可以自行设置,如下图所示,那么 这个表头就作为以后创建的vi的图标的表头,如下图所示:
在这里插入图片描述
我们要知道产品的售价,很简单就是一个进货价加利润,所以做个加法即可,我们右键.lvclass类,新建一个基于静态分配模板的VI,程序会自动建立一个基于我们上述 “簇” 控件的输入输出VI。建立过程如下图所示。
在这里插入图片描述
建立完成后,vi如下图所示,所有该程序中的输入输出都是基于上述图中的簇类控件的,这里记住,该vi中的实例输入与输出这两个控件本质就是簇。
在这里插入图片描述在框图中,题主使用“按名称捆绑簇”这个函数,将实例输入的簇赋予属性,即内部的三个控件赋值为0。然后将被赋值为0的簇再输出到“实例输出”中,向后面传递,然后将这个ci保存为“init”,表示为vi的初始化。
并且建立其他vi,分别为,售价计算、价格显示,关闭。具体如下图所示:
在这里插入图片描述

这样四个主要的vi就建立好了。建立好之后,可以将类封装为同一个vi,因为这四个vi具有一个相同的基础类,所以我们可以将其封装为同一个 “多态vi” 。

2.2 多态vi

将上一节2.1中的四个主要vi设置为多态vi,在labview上点击 文件 — 新建 — VI — 多态VI,然后点击添加。
在这里插入图片描述
将四个vi添加进入多态vi聊天框中,即完成了多态vi的创建。
在这里插入图片描述
至此已完成了多态vi的创建,那么在类中,多态vi如何使用呢?请看下一节

2.3 类的应用

上一节我们说到,多态vi创建完成后,我们在写我们的程序时,在程序后面板 — 选择vi — 将多态vi放置在后面板上,并右键勾选“多态VI选择器”,这样就可以保证多态vi的下方可以调出下拉选择项选择我们需要的vi类型。
在这里插入图片描述
调用多态vi建立函数如下图所示:(该程序会在文章末尾上传云端大家自行下载观看。)
在这里插入图片描述
我们可以看到,运行vi之后,我们输入利润和进货价,程序自动计算出了商品的售价,当然这只是一个简单的实例,帮助大家理解类和多态VI的具体功能,对于更多的功能和使用技巧,还请大家关注我后续的文章,我会带领大家不断提升和进步,感谢大家~
在这里插入图片描述

本期我们介绍了类函数、多态vi、及其使用方式,希望大家强化自己的能力,多练多做,在后续中继续强化自己的基础知识,不断提升。
最后祝大家计数越来越好,能力越来越强。加油,如果文章有帮助的话希望可以收到大家的点赞收藏加关注。~

本文的程序下载链接:
https://pan.baidu.com/s/1HNKIY4a4996WWlWpyI81Dg
提取码:6666

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

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

相关文章

机器人前馈控制MATLAB实现

在机器人控制中,前馈控制是一种常用的方法,用于补偿系统中的已知动态。前馈控制通常与反馈控制结合使用,以提高系统的跟踪性能和响应速度。在MATLAB中实现机器人前馈控制涉及几个步骤,包括系统建模、设计前馈控制器、实现控制算法…

Docker 入门篇(二)-- Linux 环境离线安装

引言 docker 系列文章: Docker 入门篇(一)-- 简介与安装教程(Windows和Linux) 一、安装环境准备 centos :CentOS Linux release 7.6.1810 (Core)docker 版本:docker-26.1.0.tgz 官网下载地址…

【算法基础实验】图论-基于DFS的连通性检测

基于DFS的连通性检测 理论基础 在图论中,连通分量是无向图的一个重要概念,特别是在处理图的结构和解析图的组成时。连通分组件表示图中的一个子图,在这个子图中任意两个顶点都是连通的,即存在一条路径可以从一个顶点到达另一个顶…

理解归并排序的两种方法(超详细)

目录 前言 一.方法一:归并排序 1.1 归并思路 1.1.1 递归(分解) 1.1.2 区间(排序) 1.1.3 合并拷贝回原数组(合并) 二.归并排序过程 2.1 递归(分解)图解 2.2 归并有序区间(排序)图解 2.2.1 单独一趟排序 2.2.2 有序区间递归排序 2.2.3 数组拷贝(合并) 2.3 归并全部代码…

开箱机选型攻略:如何挑选适合你的自动化设备?

在如今快节奏的生产环境中,自动化设备的运用已成为企业提升效率、降低成本的关键。开箱机作为自动化生产线上的重要一环,其选型对于企业来说至关重要。星派将为您提供一份开箱机选型攻略,帮助您挑选出最适合自己的自动化设备。 一、了解开箱…

从 Apache Doris 到 SelectDB Cloud:云原生架构下的弹性能力揭秘

随着云时代的到来,越来越多企业开始在公有云、私有云乃至 K8s 容器平台构建实时数据平台。云计算基础设施的革新,促使着数据仓库朝着云原生的方向发展。而用户日益复杂的业务负载和降本增效的需求,对于系统资源的精细化管理和成本效益等方面提…

一种利用合法工具渗透的新型方法

摘要 黑客在执行各种攻击步骤时倾向于优先选择合法工具,因为这些工具能帮助他们规避检测系统,同时将恶意软件开发成本降至最低。网络扫描、捕获进程内存转储、数据外泄、远程运行文件,甚至加密驱动器——所有这些都可以通过可信软件完成。为了…

ubuntu查看opencveigen

ubuntu查看opencv&eigen&cmake版本的方法 eigen eigen版本号在/usr/include/eigen3/Eigen/src/Core/util/Macros.h文件中,下图代表版本3.3.7 opencv版本 pkg-config --modversion opencv4也可能最后的字符串是opencv2,opencv

R基本的数据管理

一&#xff0c;创建变量 创建一个数据框 > myData<-data.frame(x1c(1,2,3,4,5,6),x2c(6,5,67,8,9,0)) > myDatax1 x2 1 1 6 2 2 5 3 3 67 4 4 8 5 5 9 6 6 0增加一列为两者的和 > myData$sum<-myData$x1myData$x2 > myDatax1 x2 sum 1 1 6 …

3d合并的模型为什么没有模型---模大狮模型网

在3D建模中&#xff0c;合并模型是常见的操作&#xff0c;它可以将多个模型合并成一个整体。然而&#xff0c;有时候在合并后却发现部分模型消失了&#xff0c;这可能会让人感到困惑和失望。本文将探讨为什么合并的3D模型中会出现没有模型的情况&#xff0c;并提供一些解决方法…

【Unity动画系统】动画基本原理与Avater骨骼复用

动画基本原理 动画片段文件是一个描述物体变化状态的文本文件 在Unity中创建的资源文件大多都是YAML语言编写的文本文件 Curves表示一种变化状态&#xff0c;为空的话则没有记录任何内容 位置变化后的旋转变化状态&#xff1a; 动画文件里的Path名字要相同才能播放相同的动画 …

数据结构与算法解题-20240426

这里写目录标题 面试题 08.04. 幂集367. 有效的完全平方数192. 统计词频747. 至少是其他数字两倍的最大数718. 最长重复子数组 面试题 08.04. 幂集 中等 幂集。编写一种方法&#xff0c;返回某集合的所有子集。集合中不包含重复的元素。 说明&#xff1a;解集不能包含重复的子…

稳态视觉诱发电位 (SSVEP) 分类学习系列 (3) :3DCNN

稳态视觉诱发电位分类学习系列:3DCNN 0. 引言1. 主要贡献2. 提出的方法2.1 解码主要步骤2.2 网络具体结构2.3 迁移策略 3. 结果和讨论3.1 数据集1上的结果3.2 数据集2上的结果3.3 零填充 4. 总结欢迎来稿 论文地址&#xff1a;https://www.sciencedirect.com/science/article/a…

[最新]CentOS7设置开机自启动Hadoop集群

安装好Hadoop后我们可以使用开机自启动的方式&#xff0c;节约敲命令的时间。注意是centOS7版本!!!和centOS6版本区别非常大!!! 1、切换到系统目录 [rootmaster ~]# cd /etc/systemd [rootmaster systemd]# ll total 32 -rw-r--r-- 1 root root 720 Jun 30 23:11 bootcha…

微信小程序:6.事件

什么事事件 事件就是渲染层到逻辑层的通讯方式&#xff0c;比如提交表单&#xff0c;按钮点击都可以看作一个事件。 小程序中常用的事件 事件对象属性列表 当事件回调时&#xff0c;会收到一个事件对象event&#xff0c;他详细属性如夏表所示&#xff1a; target和curren…

网络安全实训Day16

网络空间安全实训-渗透测试 漏洞扫描 定义 扫描和探测目标范围内的主机存在哪些安全漏洞&#xff0c;或扫描目标范围内的那些主机存在某个指定的漏洞 漏扫工具 AWVS APPScan MSF 使用MSF扫描漏洞并利用 1.搜索需要的攻击模块 search ms17-010 2.使用攻击模块 use 模块名称…

改ip地址软件手机怎么弄?分享操作指南与注意事项

随着移动互联网的普及&#xff0c;手机已成为我们日常生活中不可或缺的工具。在某些情况下&#xff0c;我们可能需要更改手机的IP地址&#xff0c;以满足特定的网络需求或实现某些功能。然而&#xff0c;对于许多用户来说&#xff0c;如何在手机上更改IP地址可能是一个相对陌生…

【Android】 网络技术

前言 本文用于记录Android网络技术的使用&#xff0c; 包括我们如何发起一条HTTP请求、解析XML、JOSN格式的数据以及最好用的网络库Retrofit。 使用HTTP协议访问网络 关于HTTP协议的工作原理&#xff0c;我们只需要知道客户端向服务器发起一条HTTP请求&#xff0c;服务器接收…

HarmonyOS开发案例:【rating组件】

介绍 将引导开发者使用rating组件实现星级打分功能。 相关概念 [rating组件]&#xff1a;评分条&#xff0c;可根据用户判断进行打分。 环境搭建 软件要求 [DevEco Studio]版本&#xff1a;DevEco Studio 3.1 Release及以上版本。OpenHarmony SDK版本&#xff1a;API vers…

预见预判|AIRIOT智慧交通管理解决方案

随着机动车保有量的逐步增加&#xff0c;城市交通压力日益增大。同时&#xff0c;新能源车辆的快速发展虽然带来了环保效益&#xff0c;但也因不限号政策而进一步加剧了道路拥堵问题。此外&#xff0c;各类赛事和重大活动的交通管制措施也时常导致交通状况复杂多变。面对这些挑…