LabVIEW创建类 2

news2024/11/25 18:42:28

LabVIEW创建类 2

定义私有数据控件

创建LabVIEW类时,LabVIEW将自动创建类的私有数据控件。请注意在下列项目浏览器窗口中,LabVIEW类的图标是一个有色立方体。该立方体用于代表一个LabVIEW类。私有数据控件的图标是一个带有绿色圆柱体的有色立方体。圆柱体用于代表数据存储。同时,私有数据控件的图标中有一个红色钥匙符号,表示该控件是私有的。

通过控件编辑器窗口可对类的私有数据控件进行自定义。在项目浏览器窗口中双击类的私有数据控件,即可打开“控件编辑器”窗口。可将类私有数据的簇中的输入控件和显示控件放置到LabVIEW类的定义私有数据控件中。为类私有数据簇中的输入控件设置的默认值为类的默认值。

注:  私有数据控件不能包含XControl。

以下范例中,汽车类的数据类型包含齿轮数量、车门数量和颜色三个数值,以及制造和型号两个字符串。

注:  如类中不需要任何私有数据,类私有数据的簇中可以不设定任何数据。

用户可创建在前面板或程序框图上代表类的图标。单击类属性对话框常规设置页的编辑按钮,打开图标编辑器对话框。创建类图标后,LabVIEW将把类图标应用于类的所有对象。修改类中各个对象的图标。

创建成员VI

通过创建成员VI(或称创建方法),可对类的私有数据执行操作。成员VI是LabVIEW类的方法。在LabVIEW类中创建,并在项目浏览器窗口中该类的私有数据控件下出现的VI,是该类的成员VI。

LabVIEW将类的数据定义为一个簇。所有成员VI都可对类数据的簇进行读写。LabVIEW为创建用于访问簇中各元素的VI提供了捷径。这种访问器VI是LabVIEW类的成员,可对类数据进行读写操作。如创建一个访问器VI以读取类数据,LabVIEW将取消对类数据的绑定,如下图所示。

如创建用于写入类数据的访问器VI,LabVIEW将把新值绑定至类数据,如下图所示。

也可使用解除捆绑或按名称解除捆绑函数,在成员VI的程序框图中对类的私有数据解除捆绑。使用捆绑或按名称捆绑函数可在访问和操作私有数据之后,将数据重新捆绑成簇。由于类的数据是私有的,若试图在非该类成员VI的程序框图中通过“捆绑”和“解除捆绑”节点访问该类数据,节点将自动断开无法运行。

注:  建议尽量使用“按名称捆绑”和“按名称解除捆绑”函数替代“捆绑”和“解除捆绑”函数,以免在私有数据的簇中插入新元素时VI断开。

如写入成员VI的操作将取消捆绑某个值,修改该值然后将值捆绑至对象,可使用元素同址操作结构,在结构两边放置解除捆绑和捆绑函数,以实现更高的效率。该结构可保证LabVIEW使用了某些内存优化技术。使用常规取消捆绑和捆绑节点时也可使用该内存优化的方法。但是,在复杂VI的情况下,LabVIEW编译器可能会认为优化不够安全而拒绝使用优化算法,导致运行速度变慢。元素同址操作结构保证了这些优化算法的安全性,确保VI按优化算法运行。

可通过各种方式创建成员VI。右键单击类并在以下快捷菜单项中选择:

新建»VI-打开一个空的成员VI。

新建»属性定义文件夹-创建一个属性定义文件夹,可在其中创建或添加现有成员VI。如LabVIEW类包含一个属性定义文件夹,可将LabVIEW类连接至属性节点访问私有数据。

新建»基于动态分配模板的VI-LabVIEW将生成一个新成员VI,该VI带有错误输入簇、错误输出簇、一个用于错误处理的条件结构,以及输入LabVIEW类和输出LabVIEW类。在VI连线板上,LabVIEW将输入和输出接线端都设置为动态。

新建»基于静态分配模板的VI-LabVIEW将生成一个新成员VI,该VI带有错误输入簇、错误输出簇、一个用于错误处理的条件结构,以及输入LabVIEW类和输出LabVIEW类。与创建动态分配VI相反,LabVIEW不将动态分配VI的连线板上的输入和输出接线端设置为动态。

新建»用于数据成员访问的VI-打开创建访问器对话框。通过该对话框快速创建用于访问LabVIEW类数据的成员VI。

注:  使用该选项之前必须先保存新建的LabVIEW类。如未保存新类,LabVIEW将用于数据成员访问的VI选项灰暗显示。

新建»用于重写的VI-创建一个重写祖先类成员VI的成员VI。LabVIEW使用父VI的图标对子类的图标进行覆盖,创建新VI的图标。

注:  若不存在可重写的有效成员VI,LabVIEW将禁用新建»用于重写的VI选项。更多关于“动态VI”和“重写”的信息见继承一节。

右键单击前面板或程序框图上的常量或控件,从快捷菜单中选择显示类库,在项目浏览器窗口高亮显示相关类。如当前类不属于某个LabVIEW项目,LabVIEW将打开一个类窗口显示该类。

需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。

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

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

相关文章

SpringCloud 从入门到入土

springcloud包含的模块: 1、服务注册与发现 2、服务调用 3、服务熔断 4、负载均衡 5、服务降级 6、服务消息队列 7、配置中心管理 8、服务网关 9、服务监控 10、全链路追踪 11、自动化构建部署 12、服务定时任务调度操作 版本控制留样 重点技术选型&am…

ConstraintLayout布局扩展

相信大家对ConstraintLayout(约束布局)不陌生,这是google推出的一个强大控件,之所以强大其实主要归纳有两点:减少布局层次,能够轻松实现复杂布局。当然在我们实际使用过程中,是否真的减少了布局层次&#x…

一种亮红色染料AF 594 NHS Ester|295348-87-7|AF 594 Succinimidyl Ester

基础产品数据(Basic Product Data): CAS号:295348-87-7 中文名:AF 594活性酯 英文名:AF 594 Succinimidyl Ester,Alexa Fluor 594 NHS Ester,AF 594 NHS Ester 光谱图(Sp…

低代码助力生产管理:ERP生产管理系统

随着国内生产技术的迅速发展,企业信息化实现了生产经营活动的运营自动化、管理网络化和决策智能化。其中运营自动化是基础,决策智能化是顶峰。将信息化应用于生产管理有助于提高产品的质量和生产效率,加强对原材料、生产工序、员工、设备和产…

第三十九篇 自定义指令 - directive

前面讲了关于在Vue中如何来进行封装swiper组件的内容,本篇内容讲到使自定义组件,讲这块内容也是同样为了后续再次回顾封装swiper组件变化做铺垫内容,那么什么是自定义指令,在前面的内容讲过了好些常用的指令,如 v-modl…

记录--两行CSS让页面提升了近7倍渲染性能!

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 对于前端人员来讲,最令人头疼的应该就是页面性能了,当用户在访问一个页面时,总是希望它能够快速呈现在眼前并且是可交互状态。如果页面加载过慢,你…

衡师11月月赛web题目wp

目录 1.丢三落四的学姐 2.wep?Pwn!!! 这题web部分是buuctf中的DASCTF X GFCTF 2022十月挑战赛!的原题 1.丢三落四的学姐 访问题目位置,很明显的phpstudy搭建的痕迹 访问一下经常信息泄露的几个文件&…

Redis与数据库的爱恨纠葛

Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。 早期数据库只要有数据库的操作---增--删--改--查 当用户量特别多的情况下,数据库的数量一定是跟不上用户的数量,对数据库来说是特别繁忙的 看着每天都累趴下…

String_JavaScript

String_JavaScript 学习路线:JavaScript基础语法(输出语句)->JavaScript基础语法(变量)->JavaScript基础语法(数据类型)->JavaScript基础语法(运算符)->Jav…

海外推广运营的技巧汇总

海外电商运营推广?做海外电商,重点在于运营推广。如果运营推广能做好,那么在行业内分一杯羹并不难。但问题是,在运营推广上,很难做海外电商。 这年头,相信大家都知道海外电商出问题了。很多人的账号都被亚…

动态链接库dll详解

动态链接库概述 DLL就是整个Windows操作系统的基础。动态链接库不能直接运行,也不能接收消息他们是一些独立的文件。 Windows API中的所有函数都包含在DLL中。 其中有三个最重要的DLL kernel32.dll,它包含用于管理内存、线程和进程的各个函数&#xff1b…

[附源码]SSM计算机毕业设计学生实习管理系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

超详细的商业智能BI知识分享,值得收藏

在数据为王的时代,获取数据和处理数据,成为企业必备的生存手段。哪个企业能在数据信息中汲取到更多的有效价值,就能抢占先机,获得市场的主动权。数据分析将不再是专业技术人员或数据分析师的专利,商业智能 BI 可以帮助…

华为机试 - 最大股票收益

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 假设知道某段连续时间内股票价格,计算通过买入卖出可获得的最大收益。 输入一个大小为 n 的数 price(p1,p2,p3,p4…….pn),pi 是第i天的股票价格。 pi 的格式为股票价格(非负整型)加上货…

基于风控特征相关度,挖掘贷中等场景中的存量客户价值|来看看相关实操

在数据建模流程中,都会涉及一个样本特征的相关性的分析,这个是建模流程中重要一环。通过量化特征字段之间的相关程度,可以将其作为一个重要信息维度,便于我们对模型训练的特征变量池进行有效筛选,不仅有简化模型且保证…

NLTK下载使用问题

一开始想要执行如下语句,结果运行不了 from textblob import TextBlob text Today is a beautiful day. Tomorrow looks like bad weather. blob TextBlob(text) print(blob) print(-*10) print(blob.sentences)原因是没有下载NLTK的语料库,调用如下语…

【创建VUE3新项目】从零开始如何创建一个干净的vue3项目【基于前端详细介绍】

【写在前面】基于安装完node和npm基础上来实现的,没安装的可以看我之前的文章,如何验证呢?npm -v / node -v 两个命令行解决! 一、创建文件(脚手架安装) 此处值得注意的是不能包括大写字母,不…

图库 | 图计算的适用场景有哪些?

图计算适用的场景非常广泛。在其肇始的早期阶段,图计算仅限于学术界以及工业界资深的研究机构内部,随着计算机体系架构的发展,图计算也在更广泛的行业和场景中得到应用。按照时间维度我们大体可以把图计算的发展及适用范围分为如下几个阶段&a…

微服务框架 SpringCloud微服务架构 5 Nacos 5.1 认识和安装Nacos

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构5 Nacos5.1 认识和安装Nacos5.1.1 认识Nacos5.1.2 安装Nacos5 Nacos 5.1 …

ARM架构与编程 · 基于IMX6ULL

一、嵌入式系统硬件介绍 cpu RAM(内存) FALSH 集成(flash存储设备) MCU/单片机 AP/ MPU 进化之后可以外接内存和存储设备,跑复杂的操作系统,比如手机 cpu一上电就会执行程序,程序存放在片内的ROM中&…