在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:
- 将subVI放到程序框图
- 在subVI上点击右键选择Call Setup
- 在对话框中有三个选项: Load with Caller, Reload for Each Call和Load and Retain on First Call。如果选择Load with Caller,VI就会如同其他subVI一样被调用。它会在执行时静态调用至内存中。如果选择Reload for Each Call 或 Load and Retain on First Call,那么VI会在程序执行到子VI时动态调用subVI。这两个选择的主要差別,是VI会在結束执行后立刻从内存中删除,或保留在内存中直到原VI結束。
当选择了任何一个动态调用后,subVI会变成如图所示的样子:
![](images/AC957E440B01EF8E86257602003F9B6E_Dynamic_Call.GIF)
必须直接使用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
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.