Fonction Ouvrir une référence de VI
- Mise à jour2025-07-30
- Temps de lecture : 12 minute(s)
Renvoie une référence à un VI, une commande personnalisée ou une variable globale spécifiée par chemin vers le fichier se trouvant sur le disque, la chaîne de nom ou la référence existante.

Entrées/Sorties
spécificateur de type du refnum de VI (pour type seulement)
—
spécificateur de type du refnum de VI (pour type seulement) détermine les informations sur le connecteur et le type de données de référence au VI. LabVIEW ignore la valeur réelle de cette entrée. Par défaut, la fonction renvoie une référence à un VI générique. Si vous voulez utiliser la sortie référence au VI de cette fonction avec le nœud Appeler par référence ou le nœud Démarrer un appel asynchrone, vous devez câbler une référence de VI de type strict à cette entrée. Si vous câblez une référence de VI de type strict à cette entrée, le connecteur du VI spécifié par chemin du VI doit correspondre à celui de cette entrée.
référence d'application (local)
—
référence d'application est une référence à l'instance d'application LabVIEW. Par défaut, LabVIEW utilise l'instance d'application du VI appelant. Vous pouvez obtenir des références à d'autres instances d'application avec la fonction Ouvrir une référence d'application. Si vous câblez une référence à une autre instance d'application à l'entrée référence d'application, chemin du VI fait référence à un emplacement du système de fichiers de l'ordinateur qui exécute l'instance d'application.
chemin du VI
—
vipath accepte un chemin vers le VI que vous voulez référencer, une chaîne contenant le nom du VI que vous voulez référencer, ou une référence VI au VI que vous voulez référencer. Si vous câblez un chemin, LabVIEW recherche en mémoire un VI que vous avez chargé auparavant depuis ce chemin sur la même cible. Si vous câblez une chaîne contenant un nom, elle doit correspondre au nom délimité complet d'un VI en mémoire sur cette cible. Si un VI correspondant est introuvable dans la mémoire, LabVIEW tente de le charger à partir de ce fichier sur le disque. Une erreur se produit si LabVIEW ne peut pas trouver le fichier. Si le chemin est relatif, le VI considère que le chemin est relatif au VI appelant ou, si le VI appelant n'a pas été enregistré, au répertoire de l'application. Remarque
Si vous spécifiez une instance d'application distante dans référence d'application, le chemin est interprété sur la machine distante dans le contexte du système de fichiers distant. Le chemin est exprimé en utilisant les séparateurs de chemin de l'ordinateur local, mais il est converti pour utiliser les séparateurs de chemin de l'ordinateur distant quand la requête parvient à ce dernier. Par exemple, pour référencer un VI sous Linux dans My HD/LabVIEW Vis/foo.vi à partir d'une application Windows, utilisez le chemin My HD:\LabVIEW Vis/foo.vi. Inversement, pour référencer un VI sur un ordinateur fonctionnant sous Windows à C:\labview\foo.vi à partir d'une application Linux, câblez le chemin C/labview/foo.vi. Si vous câblez un chemin ou si vous câblez à la fois des références de VI et d'application, LabVIEW attend que l'interface utilisateur soit inactive pour charger le VI à partir du disque. Si vous câblez une chaîne de noms ou une référence de VI sans référence d'application, LabVIEW n'a pas besoin d'attendre que l'interface utilisateur soit inactive, car il ne charge pas de VI à partir du disque. LabVIEW ne recherche la mémoire que pour un VI dont le nom est spécifié. Remarque LabVIEW ne permet pas d'ouvrir une référence à un VI clone en utilisant un nom avec la fonction Open VI Reference. L'utilisation de cette fonction pour ouvrir une référence à un VI clone peut provoquer un crash de LabVIEW.
options
—
options détermine les caractéristiques du VI référencé par référence au VI, y compris si le VI peut être appelé de manière asynchrone. La valeur par défaut est 0x0. Créez des options en combinant un sous-ensemble des marqueurs d'option suivants.
entrée d'erreur (pas d'erreur)
—
entrée d'erreur décrit les conditions d'erreur qui ont lieu avant l'exécution de ce nœud. Cette entrée fournit la fonctionnalité entrée d'erreur standard.
mot de passe ("")
—
mot de passe est le mot de passe du VI dont vous voulez ouvrir la référence. Câblez un mot de passe à cette entrée si vous voulez éditer un VI cible protégé par mot de passe. Si vous câblez le bon mot de passe, la fonction renvoie une référence authentifiée au VI. Si vous câblez un mot de passe incorrect à cette entrée, la fonction renvoie une erreur et une référence de VI non valide. LabVIEW ignore cette entrée si le VI cible n'est pas protégé par mot de passe. Si vous ne câblez pas de mot de passe à cette entrée et que le VI cible est protégé par mot de passe, la fonction Ouvrir une référence de VI renvoie une référence valide, mais vous ne pouvez pas utiliser cette référence pour éditer le VI.Remarque Vous pouvez également utiliser une référence de serveur VI pour obtenir une référence authentifiée à un VI.
référence au VI
—
référence au VI est le refnum associé au VI demandé. Si la fonction échoue, référence au VI renvoie Pas un refnum.
sortie d'erreur
—
sortie d'erreur contient des informations sur l'erreur. Cette sortie fournit la fonctionnalité sortie d'erreur standard. |
La fonction Ouvrir une référence de VI prépare une référence de VI pour des appels dynamiques par le nœud Appeler par référence, le nœud Démarrer un appel asynchrone ou le nœud Attendre un appel asynchrone. Utilisez le spécificateur de type du refnum de VI (pour type seulement) et les entrées options pour préparer une référence pour son exécution dynamique.
Ouverture de références pour des appels de VI dynamiques
Si vous voulez appeler de manière dynamique le VI spécifié avec le nœud Appeler par référence ou le nœud Démarrer un appel asynchrone, vous devez utiliser des données appropriées pour les paramètres suivants :
- spécificateur de type du refnum de VI (pour type seulement) — Câblez une référence de VI de type strict à cette entrée.
- options — Déterminez si les marqueurs d'option 0x08, 0x40, 0x80 et 0x100 s'appliquent à la façon dont vous voulez appeler le VI référencé.
Critères pour ouvrir des références de type strict
Si vous câblez une référence de VI de type strict au spécificateur de type du refnum de VI (pour type seulement), le VI spécifié par chemin du VI doit répondre aux critères suivants :
- Le VI ne peut pas être brisé.
- Le VI ne peut pas être actif comme VI de niveau principal, à moins qu'il ne soit un VI réentrant.
- Le connecteur du VI doit correspondre à celui du spécificateur de type du refnum de VI (pour type seulement).
Ouverture de références à des VIs réentrants
Si vous ouvrez une référence à un VI réentrant, tenez compte des détails suivants :- Les appels dynamiques à des VIs cibles réentrants s'exécutent en série, à moins que vous ne spécifiez 0x40 comme l'une des options.
- Si vous utilisez le marqueur d'option 0x40 pour exécuter les instances d'un VI cible réentrant en parallèle, référence au VI fait référence au VI cible plutôt qu'à un de ses clones. Cependant, le nœud Appeler par référence et le nœud Démarrer un appel asynchrone appellent tous deux un clone du VI cible. Par conséquent, si vous appelez une propriété ou une méthode VI Serveur sur référence au VI, la propriété ou la méthode n'aura pas d'effet sur les VIs clones appelés par ces nœuds.
- La fonction Égaux ? renvoie toujours VRAI si vous comparez deux références au même VI réentrant. Pour déterminer si les références font référence à la même instance du VI réentrant, utilisez la fonction Adapter le type pour convertir les références en entiers signés 32 bits. Ensuite, utilisez la fonction Égaux ? pour comparer ces entiers.
Abandon de références ouvertes
Vous pouvez abandonner des références de VI ouvertes soit à partir de la face-avant du VI, soit en utilisant la méthode Abandonner le VI. Cependant les références à des VIs préparées pour une exécution asynchrones peuvent être problématiques en fonction des options utilisées pour les ouvrir :
- 0x80 — L'abandon d'un VI de type appeler et oublier n'est possible que si vous l'abandonnez manuellement depuis sa face-avant ou en appelant la méthode Abandonner le VI sur le VI. Sinon, le VI s'exécute jusqu'à la fin, même si vous fermez la référence ou abandonnez le VI appelant.
- 0x100 — Les VIs de type appeler et collecter sont abandonnés dans les cas suivants :
- Vous abandonnez le VI qui a ouvert la référence au VI de type appeler et collecter. Dans ce cas, LabVIEW abandonne toutes les instances du VI qui sont en train de s'exécuter.
- Vous abandonnez manuellement une instance spécifique du VI. Dans ce cas, un seul nœud Attendre un appel asynchrone renvoie une erreur indiquant que le VI appelé a été abandonné. Tous les autres nœuds Attendre un appel asynchrone qui attendaient des appels de la même référence de VI continuent à attendre.
- Vous appelez la méthode Abandonner le VI sur la référence du VI de type appeler et collecter. Dans ce cas, LabVIEW abandonne toutes les instances du VI qui sont en train de s'exécuter. Un nombre correspondant de nœuds Attendre un appel asynchrone renvoient des erreurs.
Fermeture des références ouvertes
Lorsque vous avez fini d'utiliser une référence obtenue avec cette fonction, fermez la référence avec la fonction Fermer une référence. La fermeture explicite d'une référence permet à LabVIEW de libérer les ressources allouées au maintien de cette référence et contribue par conséquent à une optimisation de l'allocation de mémoire et des performances. Sinon, LabVIEW ne peut pas fermer la référence tant que le VI qui l'a ouverte n'a pas fini de s'exécuter.
Ouverture d'une référence à un VI dans une application autonome
Si vous voulez ouvrir de manière dynamique un VI à la fois sur l'ordinateur de développement et dans une application autonome, utilisez un chemin relatif pour chemin du VI.
Autres détails divers
- Si vous définissez la propriété Exécution:Exécuter à l'ouverture, Exécution:Afficher la face-avant au chargement ou Exécution:Afficher la face-avant à l'appel ou les options correspondantes dans la boîte de dialogue Propriétés du VI du VI cible, LabVIEW ignore les paramètres.
- Pour ouvrir une nouvelle référence Facade VI , connectez une classe FacadeVI au spécificateur de type VI Refnum (pour le type uniquement).
Exemples
Reportez-vous aux exemples de fichiers inclus avec LabVIEW suivants.
- labview\examples\Application Control\VI Server\Asynchronous Call By Reference\Asynchronous Call and Collect (Using Option 0x40).vi
- labview\examples\Application Control\VI Server\Asynchronous Call By Reference\Asynchronous Call and Forget.vi
- labview\examples\Application Control\VI Server\Asynchronous Call By Reference\Asynchronous Call and Collect.vi
spécificateur de type du refnum de VI (pour type seulement)
—
référence d'application (local)
—
chemin du VI
—
options
—
entrée d'erreur (pas d'erreur)
—
mot de passe ("")
—
référence au VI
—
sortie d'erreur
—