From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



Rápidamente Llamar VIs de Manera Dinámica en LabVIEW



Software Primario:
Versión de Software Primario: 8.6.1
Versión de Software Primario Corregido: N/A
Software Secundario: N/A

Problema:
Quiero ser capaz de cargar un subVI en memoria de manera dinámica desde mi VI principal.  ¿Existe una manera de realizar esto sin utilizar el Open VI Reference, especificar un strictly typed VI refnum, y conectar la referencia a un Call by Reference Node?

Solución:
Si, existe una manera más sencilla y rápida de llamar VIs de manera dinámica utilizando LabVIEW 8.0 y versiones posteriores.  Usted ya no tiene que utilizar Open VI Reference para VIs que desea llamar de manera dinámica y que se encuentran localizados en la misma computadora que el VI principal.  Siga las siguientes instrucciones para llamar un subVI de manera dinámica desde LabVIEW:
  1. Coloque el subVI en el diagrama de bloques del VI desde el cual desea llamarlo.
  2. De clic derecho sobre el subVI y seleccione Call Setup desde el menú desplegable.
  3. En el cuadro de diálogo resultante, existen 3 opciones: Load with Caller, Reload for Each Call y Load and Retain on First Call.  Si usted selecciona Load with Caller, el VI es llamado como cualquier otro subVI.  Este es cargado en memoria de manera estática cuando el VI que lo llama es cargado en memoria.  Si usted selecciona Reload for Each Call o Load and Retain on First Call, entonces el VI será llamado de manera dinámica cuando la ejecución del código alcance esa parte en el diagrama de bloques.  La única diferencia entre estas dos opciones es si el VI es decargado de memoria inmediatamente después de terminar su ejecución o es retenido en memoria hasta el VI que lo llama es cerrado.

Después de seleccionar una de las opciones dinámicas, su subVI cambiará de apariencia para indicar que es llamado de manera dinámica, como se muestra a continuación:

Usted tiene acceso directo al panel conector para el subVI, y no existe una terminal de entrada o salida para el VI refnum.  Este llamado al VI implementa terminales de entrada y salida de error para indicar si el VI debe ser cargado o si ocurrió un error durante la carga del mismo.

Si usted quisiera llamar el VI de manera remota desde otra computadora, entonces usted aún tendrá que utilizar Open Application Reference para abrir una referencia a un instancia de LabVIEW en la máquina remota y después utilizar Open VI Reference para abrir una referencia al VI en la máquina remota.



Ligas Relacionadas:
Knowledge Base 2UD8ET6I: How Can I Dynamically Load And Run Another VI In Parallel To My Main VI?
LabVIEW 8.6 Online Help: VI Call Configuration Dialog Box

Archivos Adjuntos:


Dynamic_Call.GIF - Dynamic_Call.GIF



Día del Reporte: 03/24/2006
Última Actualización: 06/30/2012
Identificación del Documento: 3VNFS4UM