0
在LabVIEW中实现子VI的动态调用
2018-12-17 15:28:30 zhaobin 浏览:1269次 【

在进行LabVIEW程序设计时,一个VI中可以包含一个或若干个子vi。这些子vi是被直接放置在程序框图中,习惯上称这些子vi为:静态链接子vi。这些子vi在VI载入的同时也被加载到内存中。

在应用程序设计时,我们希望能够自由地、任意切换操作界面和测量程序界面,并且希望在任何时候,前面板上仅运行一个程序界面。这样就能够保证良好地、准确地实现“人机对话”。完成这样的操作,就需要动态的调用不同的VI。

与静态链接的子vi不同,动态加载VI只有在打开VI引用时VI的调用程序才会将其加载。如果VI调用程序较大,采用动态加载VI的方式可以节省加载时间和内存,这是因为在调用程序需要运行该VI以前无需将其加载,在操作结束后又可将其从内存中释放。

举例:假如程序设计要求先后分别动态调用两个VI,它们被存放在项目中的某个文件夹中,名字分别为A.vi(打包时的主Vi)、B.vi。当希望程序运行时,首先运行A.vi(比如欢迎界面、办卡验证等操作),待正确执行完成制定操作后,关闭A.vi,调用运行B.vi(可以使实际的应用程序)。最后关闭B.vi程序停止运行。并保证前面板上仅运行一个程序界面。

1 A.vi的程序框图

2 B.vi的程序框图

3 动态调用VI的程序框图

运行流程为:A.vi实现加法功能,当按下停止按钮时运行动态调用VI程序,对B.vi调用并运行实现乘法功能,同时A.vi关闭。当按下B中的停止键时,程序结束。

动态调用的本质就是利用VI的“属性节点”和“调用节点”来实现的:

1.VI引用句柄:由于A.VI已经载入内存,所以使用“本VI”(也就是A.VI)的引用”。

2.属性节点FP.State:根据A.VI的引用,确定A.VI的前面板状态,这里是:“Hidden”。

3.打开VI的引用:根据B.VI的路径和文件名,打开B.VI的引用,此时载入B.VI程序。

4.调用节点FP.Open:根据B.VI的引用, 确定B.VI的前面板状态。

5.调用节点Run VI:根据B.VI的引用, 确定B.VI开始运行,参数:不必等待运行结束和不自动关闭引用。

6.关闭引用:已完成B.VI的动态调用,关闭B.VI的引用。

7.调用节点FP.Close:根据A.VI的引用,关闭A.VI的前面板(A.VI退出内存)。

   8.关闭引用:关闭A.VI的引用。整个动态调用过程结束,只有B.VI运行。



0 条评论
查看更多评论
  • 新建一个LabVIEW项目,或者打开一个已经建好的项目,项目中包含主vi,子vi以及自定义控件等,确保vi运行正常。    在项目浏览器的-程序生成规范->..

    浏览:1868次 评论:0
    2018-07-18 10:55:21
  • 使用子面板控件,在当前VI的前面板上显示另一个VI的前面板。首先制作一个被调用VI的程序框图和前面板。 在主VI前面板上添加一个子面板控件。此时LabVIEW将在..

    浏览:1415次 评论:0
    2018-07-10 14:11:50
  • 在LABVIEW中编程的时候,如果要在几个同时运行的程序之间传递数据,往往需要使用变量来完成,通过变量的使用我们可以解决数据和对象在同一VI中的复用和在不同..

    浏览:1081次 评论:0
    2018-07-10 11:00:00
  •    本文主要对阐述了如何生成一个子VI,并对其进行编辑及调用。    打开labview,新建一个项目,从项目文件中选择-我的电脑-右击新建-V..

    浏览:1415次 评论:0
    2018-06-12 14:38:38
  • “高亮显示执行过程”按钮,单击该按钮可观看VI运行时程序框图的动态执行过程,同时观察程序框图的数据流动。再次单击该按钮则停止执行过程高亮显示。执行过..

    浏览:1138次 评论:0
    2018-06-12 14:17:31
作者专栏
  • 徐茂林

    注册时间:2019-08-18 22:06:05

  • aa_jd53j4qhx3

    注册时间:2019-08-18 22:04:09

  • 王勇

    注册时间:2019-08-13 16:26:42

  • 成瑞电力_局放设备

    注册时间:2019-08-10 22:23:40

  • 愚乐

    注册时间:2019-08-09 11:00:48

Copyright@http://nilab.com.cn all rights reserved 备案号:京ICP备12043750号-1
Powered by qibosoft V9.0 Code © 2003-2017 qibosoft
LABVIEW之家 QQ:181237912; email:Labviewzj@qq.com 项目合作 微信及手机:18510627229