LabVIEW-动态调用VI

LabVIEW调用子VI(subVI)有两种方法:1)通过程序框图-查看(菜单)-函数-选择VI...,在程序框图上添加子VI时,该子VI的调用方法是静态链接的,即编译生成可执行程序后,子VI的代码将会被静态链接到可执行程序中;2)通过程序框图-查看(菜单)-函数-编程-应用程序控制-通过引用调用,通过VI引用动态调用,可以保证VI在需要时才被装入内存,与静态调用相比节约了内存资源。

操作方法

  • 01

    首先打开LabVIEW,创建一个子VI,实现Y=KX+B一元一次线性方程功能;

  • 02

    新建一个主VI,切换到程序框图,1)通过程序框图-查看(菜单)-函数-选择VI...;2)在程序框图上添加子VI,该子VI的调用方法是静态的;3)它与VI调用程序同时加载。

  • 03

    新建一个主VI,切换到程序框图,添加程序框图-查看(菜单)-函数-编程-应用程序控制-打开VI引用;

  • 04

    打开VI引用:返回由名称字符串或磁盘上的VI路径指定的VI、自定义控件或全局变量的引用。 类型说明符VI引用句柄(接线端):确定VI引用的数据类型和连线板信息。LabVIEW忽略该输入端的实际值。 默认状态下,函数返回通用VI引用。如果将该函数的VI引用输出使用在“通过引用调用”或“开始异步调用”节点,则必须连线严格类型VI引用至该输入端。如果将严格类型VI引用连接至该输入端,VI路径指定的接线板必须与该输入端匹配。 应用程序引用(接线端):是对LabVIEW应用程序实例的引用。 默认情况下,LabVIEW使用调用VI的应用程序实例。可通过打开应用程序引用函数获得其它应用程序实例的引用。如果将另一个应用程序实例的引用连接至应用程序引用输入,vi路径表示在运行应用程序实例的计算机的文件系统中的位置。 VI路径(接线端):支持包含引用VI名称的字符串,或包含引用VI路径的路径。 如连线名称字符串,字符串必须匹配终端内存中VI的完整分隔名称。如连线路径,LabVIEW可搜索内存中此前通过同一目标路径加载的VI。如内存中无匹配的VI,LabVIEW可尝试通过磁盘上的文件加载VI。如LabVIEW无法找到文件或该文件与内存中的另一VI发生冲突,可产生错误信息。 选项(接线端):决定了VI引用引用的VI特性,包括是否可以异步调用VI。默认值为0x0。 错误输入(接线端):表明节点运行前发生的错误。该输入将提供标准错误输入功能。 密码(接线端):是VI密码,该VI的引用将被打开。 如果要编辑密码保护的目标VI,请将密码连接至该输入端。连线正确的密码时,函数返回VI的授权引用。如连接至该接线端的密码不正确,则该函数返回错误和无效的VI引用。如目标VI不受密码保护,LabVIEW将忽略该输入端。如果未将密码连接至该输入端且目标VI有密码保护,打开VI引用函数返回一个有效引用句柄,但不能使用该句柄编辑VI。 VI引用(接线端):是与已请求VI关联的引用句柄。 如函数不可用,则VI引用为非法引用句柄。 错误输出(接线端):包含错误信息。该输出将提供标准错误输出功能。

  • 05

    1)创建VI路径常量;2)右击,选择浏览路径,选择我们需要动态调用的Y+KX+B.vi;

  • 06

    1)创建类型说明符VI引用句柄常量;2)右击,选择VI服务器类-浏览;3)选择我们需要动态调用的Y+KX+B.vi;

  • 07

    添加-程序框图-查看(菜单)-函数-编程-应用程序控制-通过引用调用;

  • 08

    通过引用调用: 调用引用指定的VI。引用VI必须为严格类型VI引用。 引用(接线端):是与已经打开VI关联的引用句柄。 引用必须为VI的严格类型引用。 错误输入(接线端):表明节点运行前发生的错误。该输入将提供标准错误输入功能。 引用输出(接线端):返回无改变的引用。 错误输出(接线端):包含错误信息。该输出将提供标准错误输出功能。

  • 09

    将“打开VI引用”的输出引用接线端连接至“通过引用调用”的输入引用接线端;

  • 10

    在“通过引用调用”各个接线端创建输入控件和输出控件;

  • 11

    再添加-程序框图-查看(菜单)-函数-编程-应用程序控制-关闭引用;

  • 12

    关闭引用:关闭打开的VI、VI对象、打开的应用程序实例、.NET或ActiveX对象的引用句柄。 引用(接线端):是与打开的VI、VI对象、打开的应用程序实例、.NET或ActiveX对象关联的引用句柄。引用的值可以是由引用组成的一维数组。 错误输入(接线端):指示节点运行前产生错误的条件。在下列情况下,该输入可作为标准错误输入。 即使在节点运行前发生错误,节点仍正常运行。 错误输出(接线端):包含错误信息。该输出将提供标准错误输出功能。

  • 13

    将“通过引用调用”的输出引用接线端连接至“关闭”的输入引用接线端;

  • 14

    运行VI;这种动态加载VI只有在打开VI引用时VI的调用程序才会将其加载。如果VI调用程序较大,采用动态加载VI的方式可以节省加载时间和内存,这是因为在调用程序需要运行该VI以前无需将其加载,在操作结束后又可将其从内存中释放。VI调用配置对话框可用来配置何时加载子VI。

(0)

相关推荐

  • labvIEW vi动态调用

    基本概念 众所周知,LabVIEW程序又称虚拟仪器,即VI. 电脑软件 01 名称: labvIEW 02 大小: 1000MB 版本: 2013 类别: 音频媒体 语言: 中文 03 应用平台: w ...

  • LabVIEW创建子VI的接线端

    在使用LabVIEW的时候经常会用到子VI,而在调用子VI的时候往往需要一些接线端,以方便子程序的调用.对于LabVIEW新手来说可能不会是那么简单,毕竟原版教程对于创建流程没有解释的那么详细. 操作 ...

  • ASP基础与动态网页开发工具

    ASP是目前流行的站点开发技术,由于ASP技术简单,并且已经成熟,所以已成为中小 型站点的主要开发技术. 操作方法 01 C/S(Client/Server)模式即客户/服务器模式是最早的网络服务模式 ...

  • 如何创建与调用动态链接库

    操作方法 01 静态链接库与动态链接库区别: 静态链接库:lib中的指令被直接包含在最终生成的EXE文件中. 动态链接库:dll不必被包含在最终的EXE中,EXE文件执行时可以动态地引用和卸载DLL文 ...

  • linux中more命令使用介绍(逐页阅读)

    more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会 ...

  • 教你认识主板整合显示卡

    整合显卡的2D性能差不多能完全满足现在一般人士工作和学习的需要,其最大瓶颈落在3D性能上,而决定整合显卡3D性能的主要因素除了显示核心外,就是整合显卡的显存大小了。因整合芯片组较多,整合显卡的显存大小 ...

  • Linux命令集

    Abstract 在安装、使用和维护Linux系统中,我们都会用到大量的命令,而且命令参数繁多,这也可说是linux系统的一大特色,所以经常会忘记。这里记录我使用Linux当中用到过的命令,用于备查。 ...

  • linux中more命令使用介绍

    more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会 ...

  • Linux下CVS的安装配置与操作命令全解析

    在介绍CVS命令之前,先说点别的 如以前说,仓库内除乐源文件外,还包括一系列的管理文件.位于$CVSROOT/CVSROOT 修改管理文件的方法等同于源代码文件,利用CVS命令提取和修改. 下面描述每 ...