引用句柄

更新时间:2024-06-10 19:18:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

引用句柄控件

LabVIEW 2011帮助

版本日期:June 2011

产品编号:371361H-0118

使用位于引用句柄和经典引用句柄选板上的控件可对文件、目录、设备和网络连接进行操作。可使用不同类型的引用句柄控件将引用句柄输入或输出VI。

由于引用句柄是一个打开对象的临时指针,因此它仅在对象打开期间有效。如关闭对象,LabVIEW会将引用句柄与对象分开,引用句柄随即失效。如再次打开对象,LabVIEW将创建一个与第一个引用句柄不同的新引用句柄。LabVIEW将为引用句柄指向的对象分配内存空间。关闭引用句柄,该对象就会从内存中释放。

由于LabVIEW可以记住每个引用句柄所指的信息,如读取或写入的对象的当前地址和用户访问情况,因此可以对单一对象执行并行但相互独立的操作。如一个VI多次打开同一个对象,那么每次的打开操作都将返回一个不同的引用句柄。VI结束运行时LabVIEW会自动关闭引用句柄,如果用户在结束使用引用句柄时就立即将其关闭,可最有效地利用内存空间和其它资源,这是一个良好的编程习惯。关闭引用句柄的顺序与打开时相反。例如,如果获得了对象A的一个引用句柄,然后对对象A调用方法使获得对象B的引用句柄,请先关闭对象B的引用句柄然后再关闭对象A的引用句柄。

引用句柄控件的类型

LabVIEW 2011帮助

版本日期:June 2011

产品编号:371361H-0118

LabVIEW的引用句柄选板上包含以下引用句柄控件:

.NET引用句柄-用于打开选择.NET构造器对话框,从全局程序集缓存(GAC)中选择一个程序集或浏览

并选择一个私有程序集。

应用程序引用句柄-用于VI服务器。当打开一个指向LabVIEW应用程序的引用,且需要将引用作为参

数传递给另一个VI时,可使用该引用句柄控件。通过将该引用句柄传递到VI服务器,可控制应用程序的行为并读取应用程序的属性。

如需改变控件的数据类型,可右键单击应用程序引用句柄控件,从快捷菜单中选择选择VI服务器类,在应用程序、VI、输入或显示控件、严格类型的VI间进行选择。

可将任意控件拖放到应用程序引用句柄上,指定引用句柄所引用的控件的类型。

自动化引用句柄-与ActiveX函数配合使用。当打开一个指向ActiveX服务器对象的引用,且需要将引

用作为参数传递给另一个VI时,可使用该类引用句柄控件。如需指定引用句柄的类型,可右键单击控件,从快捷菜单中选择选择ActiveX类?浏览,打开从类型库中选择对象对话框,浏览可用的ActiveX服务器应用程序。

蓝牙网络连接引用句柄-与蓝牙VI和函数配合使用。如需打开与蓝牙设备的连接,可使用该类型的引用

句柄。

字节流文件引用句柄-用于文本或二进制字节流文件。如需在一个VI中打开或创建文件,而在另一个

VI中对该文件执行I/O操作,可使用该类型的引用句柄。在执行I/O操作的VI的前面板上必须放置一个引用句柄输入控件,在打开或创建文件的VI的前面板上必须放置一个引用句柄显示控件。

控件引用句柄-用于VI服务器。当打开一个指向前面板控件的引用,且需要将引用作为参数传递给另一

个VI时,可使用该引用句柄控件。通过将该引用句柄传递到VI服务器,可对控件的行为进行控制并读取控件的属性。

如需指定控件的数据类型,可右键单击控件引用句柄控件,从快捷菜单中选择选择VI服务器类,在应用程序、VI、输入或显示控件、严格类型的VI间进行选择。

右键单击前面板上的控件引用句柄控件,从快捷菜单中选择显示图标,可将引用句柄显示为图标。右键单击前面板上的引用句柄控件,从快捷菜单中选择显示输入控件,可将引用句柄显示为输入控件。该输入控件仅用于显示。

可将任意控件拖放到控件引用句柄上,指定引用句柄所引用的控件的类型。

数据记录文件引用句柄-与数据记录文件配合使用。由于数据记录文件的结构是固有的,数据记录引用

句柄将与文件类型的描述一起,传入或传出调用方VI。通过在引用句柄中放置一个控件,可定义文件的结构。对于包含数值的文件,可创建包含一个数值的数据记录引用句柄。如文件中的每条记录都包含一对数值,可在引用句柄内放置一个簇,并在簇内放置两个数值控件。

可将任意控件拖放到数据记录文件引用句柄上,用于指定数据记录文件的数据类型。

DataSocket引用句柄-与DataSocket函数配合使用。当打开一个指向数据连接的引用,且需要将

引用作为参数传递给另一个VI时,可使用该类引用句柄控件。如需指定引用句柄的类型,可右键单击引用句柄控件,从快捷菜单中选择选择DataSocket类,浏览DataSocket类。

回调事件引用句柄-用于取消注册或重新注册事件回调。该引用句柄也可用于向子VI传递事件回调注

册。

红外线网络连接引用句柄-与红外函数配合使用。如需打开与红外线设备的连接,可使用该类型的引用

句柄。

菜单引用句柄-用于菜单函数。如需向子VI传递VI菜单引用,可使用该类型的引用句柄。

事件发生引用句柄-用于事件发生函数。如在一个VI中生成一个事件,而在另一个VI中设置或等待该

事件,可使用该类型的引用句柄。

TCP网络连接引用句柄-用于TCP VI和函数。如在一个VI中打开网络连接,而在另一个VI中对该网

络连接执行I/O操作,可使用该类型的引用句柄。

UDP网络连接引用句柄-用于UDP VI和函数。如需唯一标识UDP套接字,可使用该类型的引用句柄。

如需在子VI中使用套接字,可向子VI传递UDP套接字引用。

VI引用句柄-用于VI服务器。当打开一个指向VI的引用,且需要将引用作为参数传递给另一个VI时,

可使用该引用句柄控件。通过将该引用句柄传递到VI服务器,可控制VI的行为并读取控件的属性。

如需将VI引用句柄从一个VI传递到另一个VI,可使用VI引用句柄控件。当需要对VI指定一个严格类型的引用时,“打开VI引用”函数要求将严格类型的VI引用句柄控件作为类型说明符输入。此时,引用句柄控件的值无关紧要。函数只使用引用句柄控件的类型。

可将任意控件拖放到VI引用句柄上,用于指定引用句柄所引用的控件的类型。

引用句柄选板上未包含以下引用句柄:

?

配置数据引用句柄-如需在一个VI中打开配置文件,而在另一个VI中读写该文件,可在各配置文件VI中使用该引用句柄。

右键单击某个“配置文件”VI的引用句柄输入接线端,从快捷菜单中选择创建?输入控件,可创建该引用句柄控件。配置数据引用句柄控件被创建时,并不会同时生成一个配置数据引用。必须使用打开配置数据VI创建一个配置数据引用。

? ? ?

IMAQ会话引用句柄-用于各“图像采集”VI。

Motion引用句柄-与NI SoftMotion VI和函数配合使用。

通知器引用句柄-如需挂起一个程序框图的执行,直到从同一计算机上的另一个VI或从程序框图的另一部分中取得数据,可在各通知器操作函数中使用该引用句柄。

右键单击某个“通知器操作”函数的通知器输入接线端,从快捷菜单中选择创建?输入控件,可创建该引用句柄控件。通知器引用句柄控件被创建时,并不会同时生成一个通知器引用。必须使用获取通知器引用函数创建一个通知器引用。

右键单击前面板上的通知器引用句柄控件,从快捷菜单中选择显示图标,可将引用句柄显示为图标。右键单击前面板上的引用句柄控件,从快捷菜单中选择显示输入控件,可将引用句柄显示为输入控件。该输入控件仅用于显示。

可将任意控件拖放到通知器引用句柄上,用于指定通知器的数据类型。

?

队列引用句柄-如需将数据存储在队列中,单独获取每个元素或将所有元素作为一个数组整体获取,可在各队列操作函数中使用该引用句柄。

右键单击某个“队列操作”函数的队列输入接线端,从快捷菜单中选择创建?输入控件,可创建该引用句柄控件。队列引用句柄控件被创建时,并不会同时生成一个队列引用。必须使用获取队列引用函数创建一个队列引用。

右键单击前面板上的队列引用句柄控件,从快捷菜单中选择显示图标,可将引用句柄显示为图标。右键单击前面板上的引用句柄控件,从快捷菜单中选择显示输入控件,可将引用句柄显示为输入控件。该输入控

件仅用于显示。

可将任意控件拖放到队列引用句柄上,用于指定通知器的数据类型。

?

集合点引用句柄-如需在一个VI中创建一个集合点,而在另一个VI中的该集合点上等待,可在各集合点VI中使用该引用句柄。

右键单击某个“集合点”VI的集合点输入接线端,从快捷菜单中选择创建?输入控件,可创建该引用句柄控件。创建集合点引用句柄控件时,并不会同时生成一个有效集合点引用。必须使用创建集合点函数创建一个集合点引用。

?

信号量引用句柄-与信号量VI配合使用,避免两个VI或同一个VI的两个部分并行执行。

右键单击某个“信号量”VI的信号量输入接线端,从快捷菜单中选择创建?输入控件,可创建该引用句柄控件。创建信号量引用句柄控件时,并不会同时生成一个信号量引用。必须使用获取信号量引用VI创建一个信号量引用。

?

共享变量引用句柄-如需通过编程配置共享变量,可将该引用句柄用于变量属性。

右键单击变量引用属性的变量引用输出端,从快捷菜单中选择创建?输入控件,可创建该引用句柄控件。

? TDMS文件引用句柄-与TDMS流VI和函数配合使用,从二进制测量文件(.tdms)中读取和写入波形及波形属性。

右键单击TDMS读取函数的tdms文件输出端,从快捷菜单中选择创建?输入控件,可创建该引用句柄控件。创建TDMS文件控件时,并不会同时生成一个tdms文件引用句柄。必须使用TDMS打开函数创建tdms文件的引用句柄。

?

数据值引用句柄-与元素同址操作结构配合使用,不要求LabVIEW编译器复制数据值并在内存中保留这些数据值。

右键单击元素同址操作结构的数据值引用输出断,创建该句柄控件。创建数据值引用句柄控件的同时并不创建数据值引用。必须使用新建数据值引用函数,创建数据值引用。

右键单击前面板上的数据值引用句柄,从快捷菜单中选择显示图标,将引用句柄显示为图标。右键单击前面板上的引用句柄控件,从快捷菜单中选择显示输入控件,可将引用句柄显示为输入控件。该输入控件仅用于显示。

?

变量引用句柄-与共享变量函数和变量属性和方法配合使用,用于通过程序查找、读取和写入共享变量。

右键单击共享变量函数的共享变量引用句柄输入输入端,创建引用句柄控件。

引用句柄至路径转换函数

LabVIEW 2011帮助

版本日期:June 2011

产品编号:371361H-0118

所属选板:高级文件VI和函数 必需:基础软件包

返回与指定引用句柄关联的路径。

引用句柄是打开文件的引用句柄,需要确定文件的相关路径。如引用句柄不可用,函数可设置路径设置

为<非法路径>,表明引用句柄与打开文件无关。只能连线文件引用句柄至引用句柄。不能连线配置文件引用句柄至引用句柄。 路径是引用句柄的对应路径。

利用人工数据依赖关系之三:引用句柄

对于引用句柄LabVIEW的帮助文档是这样介绍的:引用句柄可作为对象(例如,文件、设

备或网络连接)的唯一标识。可使用不同类型的引用句柄控件将引用句柄输入或输出VI。 由于引用句柄是一个打开对象的临时指针,因此它仅在对象被打开期间有效。如关闭对象,LabVIEW图形化语言会将引用句柄与对象分开,引用句柄随即失效。如再次打开对象,LabVIEW图形化语言将创建一个与第一个引用句柄不同的新引用句柄。LabVIEW图形化语言将为打开的引用句柄指向的对象分配内存空间。关闭引用句柄,该对象就会从内存中释放。

由于LabVIEW图形化语言可以记住每个引用句柄所指的信息,如读取或写入的对象的当前地址和用户访问情况,因此可以对单一对象执行并行但相互独立的操作。如一个VI多次打开同一个对象,那么每次的打开操作都将返回一个不同的引用句柄。VI结束运行时LabVIEW图形化语言会自动关闭引用句柄,如果用户在结束使用引用句柄时就立即将其关闭,可最有效地利用内

存空间和其它资源,这是一个良好的编程习惯。关闭引用句柄的顺序与打开时相反。例如,如果获得了对象A的一个引用句柄,然后对对象A调用方法使获得对象B的引用句柄,请先关闭对象B的引用句柄然后再关闭对象A的引用句柄。

关于引用句柄我们需要注意的是:“引用句柄”是有“生命周期“的。从我们打开引用句柄开始,它就进入新的“生命周期”,直道关闭“引用句柄”后它的“生命周期”结束。如果一个引用句柄的生命周期无限长,那么就意味着发生了“内存泄露”。所以在实际使用时必须注意“打开”与“关闭”必须是成双成对出现的。

存空间和其它资源,这是一个良好的编程习惯。关闭引用句柄的顺序与打开时相反。例如,如果获得了对象A的一个引用句柄,然后对对象A调用方法使获得对象B的引用句柄,请先关闭对象B的引用句柄然后再关闭对象A的引用句柄。

关于引用句柄我们需要注意的是:“引用句柄”是有“生命周期“的。从我们打开引用句柄开始,它就进入新的“生命周期”,直道关闭“引用句柄”后它的“生命周期”结束。如果一个引用句柄的生命周期无限长,那么就意味着发生了“内存泄露”。所以在实际使用时必须注意“打开”与“关闭”必须是成双成对出现的。

本文来源:https://www.bwwdw.com/article/mda6.html

Top