在LabVIEW 8中快速动态调用VI



主要软件:
主要软件版本: 8.0
主要软件修正版本: N/A
次要软件: N/A

问题: 我想从top-level VI动态调用subVI到内存中,除了Open VI Reference,指定stricktly typed VI refnum后將reference连到Call by Reference Node之外还有什么其他方法?

解答: 是有方法的,在LabVIEW 8之后有了更快速且更简便的方法来动态调用VI。你不再需要使用Open VI Refenrece去动态调用和主VI同一台电脑上的VI了。按以下步骤动态调用SubVI:
  1. 将subVI放到程序框图
  2. 在subVI上点击右键选择Call Setup
  3. 在对话框中有三个选项: Load with Caller, Reload for Each CallLoad and Retain on First Call。如果选择Load with Caller,VI就会如同其他subVI一样被调用。它会在执行时静态调用至内存中。如果选择Reload for Each CallLoad and Retain on First Call,那么VI会在程序执行到子VI时动态调用subVI。这两个选择的主要差別,是VI会在結束执行后立刻从内存中删除,或保留在内存中直到原VI結束。
当选择了任何一个动态调用后,subVI会变成如图所示的样子:


必须直接使用subVI的连线,这里不会有VI refum的输入或输出接脚。这种VI调用有加入error in和error out引脚,以分別表示VI可正常调用或在调用时发生错误。

如果您想要远程调用其他电脑上的VI,那么你仍然需要使用Open Application Reference去打开其他电脑上LabVIEW程序的reference并使用Open VI Reference去打开远程电脑上的reference。

相关链接: Knowledge Base 2UD8ET6I: How Can I Dynamically Load And Run Another VI In Parallel To My Main VI?
LabVIEW 8.6 Help: VI Call Configuration Dialog Box

附件:





报告日期: 03/24/2006
最近更新: 07/29/2009
文档编号: 3VNFS4UM