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

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

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开发等相关项目,可联系们。

相关文章
|
7月前
|
XML 存储 程序员
LabVIEW开发LabVIEW类
LabVIEW开发LabVIEW类
89 0
|
7月前
|
异构计算
LabVIEW创建类 3
LabVIEW创建类 3
47 1
|
7月前
LabVIEW创建类 1
LabVIEW创建类 1
44 0
LabVIEW创建类 1
|
7月前
LabVIEW比较LabVIEW类对象 LabVIEW接口
LabVIEW比较LabVIEW类对象 LabVIEW接口
48 0
|
7月前
|
算法 API 数据安全/隐私保护
LabVIEW编程LabVIEW开发 控制雷赛运动控制器SMC604A例程与相关资料
LabVIEW编程LabVIEW开发 控制雷赛运动控制器SMC604A例程与相关资料
52 0
|
5月前
|
算法 开发工具 开发者
LabVIEW老程序功能升级:重写还是改进?
LabVIEW老程序功能升级:重写还是改进?
47 0
|
5月前
|
安全 C语言
LabVIEW调用第三方硬件DLL常见问题及开发流程
LabVIEW调用第三方硬件DLL常见问题及开发流程
45 0
|
7月前
|
存储 编解码 C++
LabVIEW编程LabVIEW控制C-863.12 水星控制器例程与相关资料
LabVIEW编程LabVIEW控制C-863.12 水星控制器例程与相关资料
44 2
|
7月前
|
存储 知识图谱 Windows
2021-08-06 LabVIEW编程LabVIEW控制8742 Picomotor Controller例程与相关资料
2021-08-06 LabVIEW编程LabVIEW控制8742 Picomotor Controller例程与相关资料
40 1
|
7月前
|
C语言 C++ 开发者
LabVIEW调用C/C++ DLLs
LabVIEW调用C/C++ DLLs
130 0