LabVIEW在应用程序和接口中使用LabVIEW类和接口

news2024/11/8 8:56:24

LabVIEW在应用程序和接口中使用LabVIEW类和接口

LabVIEW类和接口是用户定义的数据类型。LabVIEW类和接口开发人员创建并发布这些数据类型。LabVIEW类或接口用户无需了解如何创建LabVIEW类或接口,但必须了解应用程序中通过类或接口定义的数据类型应当如何使用,涉及LabVIEW类或接口的代码有哪些可用于调试的信息,以及LabVIEW类或接口的新版本将如何影响已经生成的应用程序。

创建类或接口的实例

LabVIEW类或接口无需位于项目之内。通过将LabVIEW类或接口添加到选板可方便地查找并将LabVIEW类拖放到程序框图或前面板窗口。从其他开发人员处获得LabVIEW类/接口或自行创建LabVIEW类/接口之后,如需创建该类/接口的实例,可将类库文件(.lvclass)作为一个控件或常量放置在相应的前面板或程序框图中。LabVIEW用户定义数据类型的使用方法和其它LabVIEW数据类型的使用方法是类似的。

通过类浏览器窗口可对程序框图中的LabVIEW类或接口添加成员VI。

强制转换LabVIEW类和接口

LabVIEW使用以下规则将类和接口强制转换为最接近的共有父类或接口:

如果输入类和接口不相关,则LabVIEW将输入强制转换为LabVIEW对象(LabVIEW Object)。

如果输入类和接口只有一个共有父项,无论是类还是接口,LabVIEW都会将输入强制转换为共有父项。

如果输入类和接口有若干个共有父项,其中有一项为类,LabVIEW会将输入强制转换为共有父类。要使LabVIEW将输入强制转换为公共父接口,可使用转换为通用的类函数将一个输入强制转换为相应的父类型。

如果输入类和接口具有多个共有父项,而且这些项都是接口,LabVIEW将会断开VI。要使LabVIEW将输入强制转换为公共父接口,可使用转换为通用的类函数将一个输入强制转换为相应的父类型。

对已锁定的LabVIEW类或接口使用即时帮助和探针

LabVIEW类或接口开发人员可能在发布类或接口时锁定LabVIEW类或接口。若LabVIEW类或接口开发人员锁定LabVIEW类或接口,则即时帮助窗口将仅显示类或接口的数据类型,以及开发人员提供的类说明信息。在已锁定类或接口的通用探针上,LabVIEW也仅显示类或接口的数据类型。可创建LabVIEW类或接口的非成员自定义探针或接口,然而非成员自定义探针仅显示该类或接口的公共接口。为方便调试,LabVIEW类或接口开发人员也可为类或接口设定一个自定义默认探针,以提供特定的类或接口信息。需由LabVIEW类或接口开发人员提供使用LabVIEW类或接口所必须的文档或探针信息。

动态分配VI

LabVIEW类或接口的某些成员VI可被动态分配。动态分配方法和多态VI类似。多态VI根据连入数据的类型来确定调用哪一个VI;动态分配方法在运行时根据输入接线端到达的数据确定调用类层次结构中的哪一个VI。LabVIEW类或接口连线可传递它本身类型及任何子类型的数据,LabVIEW在运行时确定类层次结构中的哪一个成员VI被执行。在程序框图中双击动态分配成员VI可查看位于程序框图中的那个VI。对于类层次结构中的其它动态分配成员VI,则必须通过类层次结构逐一查看。

实施数据变异

对使用LabVIEW类或接口开发应用程序的LabVIEW类用户来说,LabVIEW跟踪LabVIEW类或接口的版本号是很有用的。例如,假设应用程序中有一个LabVIEW类,该类的私有数据控件使用了无符号32位整型。然而,LabVIEW类开发人员发送的某个版本的LabVIEW类中,私有数据控件中的数值控件变成了双精度浮点型。由于LabVIEW跟踪了版本的变化,并能对所有LabVIEW类的数据进行平化和还原,用户可以直接用新版本替换旧版本,不必作任何修改即可运行程序。

注:  如将数据从某个LabVIEW类的未来版本还原,LabVIEW将返回错误。例如,当内存中某个LabVIEW类的版本号为1.0.0.2,而数据的版本号为1.0.0.3时,将可能出现该错误。

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

 

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

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

相关文章

通过java代码实现对json字符串的格式美化(完整版)

一、前言 之前转载过一篇文章,也是有关于通过java代码实现对json字符串的格式美化,但是那篇文章的实现还不够完善,比如其对字符串中出现特殊字符时,会出现转换失败。因此博主本人也是闲暇时在那份代码的基础上做了完善和补充。好…

[附源码]计算机毕业设计校园租赁系统Springboot程序

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

Tomcat服务器的简介以及安装

文章目录1.概念1.1 什么是Web服务器?1.2 静态资源和动态资源1.3 常用服务器产品2. Tomcat的安装2.1 下载2.2 解压安装2.3 Tomcat的目录结构2.4 Tomcat服务器的启动和关闭2.5 tomcat启动失败的原因2.5.1 查看报错原因2.5.2 错误原因2.5.2.1 查看JAVA_HOME配置是正确2…

ESP32——WEB服务程序移植(基于示例restful_server)

一、简介 将ESP32——WEB服务程序测试项目移植到一个现有项目中,现有项目包括基于固定IP的WIFI连接、OTA升级、Websocket等功能。 二、移植 2.1 参考restful_server项目下分区表文件partitions_example.csv修改项目分区 因模块采用ESP32-WROVER-E(4MB)&#xff…

磨金石教育摄影技能干货分享|乡愁摄影作品欣赏——传统建筑篇

俗话说“一方水土养一方人”,不同的山川地域与气候环境早就不同的地域文化。我国幅员广阔,南北东西跨度极大,因此气候环境与地理环境差异很大。在民俗文化上面也呈现出多元化风格。 这种多元化的文化风格清晰的体现在各地的建筑形式上。重庆的…

Java【String】【StringBuilder】【StringBuffer】你都会用吗

文章目录前言一、常用的方法1、字符串构造2、字符串比较3、字符串查找4、字符串转化5、字符串替换6、字符串分割7、字符串截取二、字符串的不可变性三、StringBuilder、StringBuffer总结前言 在校招和笔试过程中,字符串是相当频繁被问到的话题,在之前的…

iMazing兼容Win和Mac2023免费版iOS设备管理器

iMazing是一款ios设备管理软件,该软件支持对基于iOS系统的设备进行数据传输与备份,用户可以将包括:照片、音乐、铃声、视频、电子书及通讯录等在内的众多信息在Windows/Mac电脑中传输/备份/管理。 软件备份是指将一部手机上的重要信息和资料&…

Pytorch -> ONNX -> TensorRT 模型转换与部署

系统环境: Ubuntu 18.04Cuda 11.3Cudnn 8.4.1 1 、Pytorch -> ONNX 网上相关流程很多,我就不重复了 可以参考Pytorch分类模型转onnx以及onnx模型推理 或者直接看Pytorch官方怎么干的。 ONNX Github onnxruntime调用onnx模型推理时有一个provider…

HTML5期末大作业:基于HTML+CSS+JavaScript茶文化中国水墨风格绿色茶叶销售(5页) 学生网页设计作业源码

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

用coding向你最爱的人说圣诞快乐

🎄🎄🎄圣诞节即将到来,今天让我们用编码的方式向你最爱的人表达圣诞节快乐。 圣诞节的起源 圣诞节源自古罗马人迎接新年的农神节,与基督教本无关系。在基督教盛行罗马帝国后,教廷将这种民俗节日纳入基督教体…

DenseNet的基本思想

之前的文章介绍过残差网络的基本思想:残差网络的思想就是将网络学习的映射从X到Y转为学习从X到Y-X的差,然后把学习到的残差信息加到原来的输出上即可。即便在某些极端情况下,这个残差为0,那么网络就是一个X到Y的恒等映射。其示意图…

Java基础类型和运算符

文章目录变量与常量变量的命名规则常量final 关键字修饰的常量字面常量基本类型整型基本整型变量 int长整型 long短整型 short比特型 byte浮点数 float和double关于3*0.10.3三种特殊的double字符型 char布尔类型 boolean类型转换隐式类型提升强制类型转换运算符算数运算符基本四…

vue中打印插件vue-print-nb(二)-实例之两种方法——安包之设置一个id和绑定一个对象 下载print.js之ref设置锚点

vue中打印插件vue-print-nb(二)-实例之两种方法——安包之设置一个id和绑定一个对象 & 下载print.js之ref设置锚点 第一种方法 方式1、设置一个id ① 给要打印的部分设置一个 id ② 在打印按钮中添加 v-print"#id名" 1、安装vue-print-nb插件 npm install v…

Firefly RK3399 PC pro Android 10下载验证

一.Android 源码以及image 1.Android 10代码链接: 百度网盘 请输入提取码 密码:1234 下载后检查md5值,检查下载是否正确: fb41fcdc48b1cf90ecac4a5bb8fafc7a Firefly-RK3399_Android10.0_git_20211222.7z.001 82d665fb54fb412…

Flutter ー Authentication 认证

Flutter ー Authentication 认证 原文 https://medium.com/simbu/flutter-authentication-adb8df7cf673 前言 如果我相信我知道你是谁那我就能让你查看你的个人 应用 application 资料。 身份验证可能是应用程序必须处理的最大的交叉问题。 将它作为一个特性添加到 DigestableP…

HashMap JDK1.7与1.8的区别

结构 首先HashMap在1.7中是以数组链表的形式存在的, 而HashMap在1.8中则是以数组链表红黑树构成的, 当一个节点的链表长度超过8并且数组长度超过64时会将链表转换为红黑树, 初始化 初始容量大小介绍 说到数组就不得不提HashMap里面的成员变量DEFAULT_INITIAL_CAPACITY也就是…

Mysql进阶学习(八)DDL语言+数据类型和DTL语言

Mysql进阶学习(八)DDL语言与DTL语言DDL语言1、简介:1.1、库的管理1.1.1、库的创建1.1.2、库的修改1.1.3、库的删除1.2、表的管理1.2.1.表的创建 ★1.2.2.表的修改1.2.3.表的删除1.2.4.表的复制测试案例1. 创建表dept12. 将表departments中的数…

SpringBoot_整合Thymeleaff模板引擎

Thymeleaf模板引擎的主要目标是将优雅的自然模板带到开发工作流程中,并将HTML在浏览器中正确显示,并且可以作为静态原型,让开发团队能更容易地协作。Thymeleaf能够处理HTML,XML,JavaScript,CSS甚至纯文本。…

Qt扫盲-Qt Designer 设计师使用总结

Designer 设计师使用总结一、顶部菜单栏1. 常用的菜单内容2. 快捷工具栏说明二、左侧控件栏1. 组件分类2. 筛选三、中间绘图区1. 左侧控件区拖放控件到中间2. 中间区域布局3. 属性修改四、右侧属性栏1. 对象查看器2. 属性编辑器3.组织结构2. 属性设置五、美化专栏1.单个设置层叠…

微服务框架 SpringCloud微服务架构 12 DockerCompose 12.2 部署微服务集群

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构12 DockerCompose12.2 部署微服务集群12.2.1 直接开干12 DockerCompose 1…