Requiert : Scripts de VI

Toutes les tâches de script de VI nécessitent l'ouverture de références aux VIs et objets que vous voulez créer, éditer ou inspecter. Vous créez ou ouvrez une référence lorsque vous utilisez des VIs, des fonctions, des propriétés et des méthodes qui renvoient une référence. Tant que la référence au VI reste ouverte, LabVIEW ne peut pas supprimer le VI correspondant de la mémoire. Par conséquent, si un grand nombre de références sont ouvertes, un grand nombre de VIs et d'objets se trouvent en mémoire, et LabVIEW s'exécute plus lentement, au point de ne plus pouvoir créer de nouveaux VIs et objets s'il n'y a plus de mémoire disponible. Pour éviter des problèmes de performances de ce genre, fermez les références aux VIs et objets que vous ouvrez dans un VI de script.

Il n'est pas nécessaire de fermer les types de références suivants, car le fait de les laisser ouvertes n'a pas d'incidence sur les performances :

  • Références qui héritent de l'ObjetG
  • Références statiques à Ce VI ou Cette application

Utilisez la fonction Fermer une référence pour fermer les références que vous créez ou ouvrez. Notez que les actions suivantes ferment la référence dans le cadre de leur fonctionnement ; vous n'avez donc pas besoin d'appeler Fermer une référence.

Action Résultat
Utilisation de la méthode Générique:Supprimer Ferme la référence à l'objet que vous supprimez
Utilisation de la méthode ObjetG:Remplacer Ferme la référence à l'objet que vous remplacez
Fermeture d'une référence à un VI Risque d'invalider les références aux objets du VI

Éléments utilisés

La tâche de création du script de VI requiert les objets suivants :

Comment procéder

Avant de commencer : Ouvrez le VI Closing References.vi du répertoire labview\examples\Application Control\VI Scripting\Managing References pour voir un exemple illustrant chaque étape de la procédure suivante.

  1. Identifiez les références aux VIs et objets de VI sur le diagramme du VI de script. Ignorez les types de référence mentionnés précédemment que vous n'avez pas besoin de fermer.

    Détails de l'exemple

    Dans l'exemple, le VI de script ouvre une référence aux emplacements suivants :

    • Ouvrir une référence de VI — Ouvre une référence au VI cible
    • Traversée pour objetG — Ouvre une référence à chaque objet Fonction du VI cible
    • Fonction:Terminaux [] — Ouvre des références à tous les terminaux de chaque fonction
    • Terminal:Fil connecté — Ouvre une référence au fil de liaison connecté à chaque terminal
    • Fil de liaison:Terminaux [] — Ouvre des références à tous les terminaux d'un fil de liaison
    • Fonction:Remplacer — Ouvre une référence à la fonction de remplacement
    • Fonction:Terminaux [] — Ouvre des références à tous les terminaux de la fonction de remplacement
  2. Déterminez quand LabVIEW utilise chaque référence pour la dernière fois.

    Lorsque vous suivez le flux de données d'une référence, n'oubliez pas que LabVIEW requiert une référence à un nœud ouverte lorsque vous utilisez une référence à un terminal de ce nœud.

    Détails de l'exemple

    Dans l'exemple, les références ouvertes sont utilisées pour la dernière fois aux emplacements suivants :

    • Référence au VI cible — À la fin du VI. LabVIEW utilise cette référence tout au long du VI car les autres références ouvertes sont des références aux objets du VI cible.
    • Références à la fonction — Àprès la méthode Fonction:Remplacer
    • Références aux terminaux des fonctions — Après la méthode Terminal:Fil connecté
    • Référence au fil de liaison — Après la méthode Fil de liaison:Supprimer
    • Références aux terminaux du fil de liaison — Après la méthode Terminal:Connecter terminaux
    • Référence à la fonction de remplacement — Après la méthode Fonction:Terminaux []
    • Références aux terminaux de la fonction de remplacement — Après la méthode Terminal:Connecter terminaux
  3. Câblez chaque référence à un VI ouverte à une fonction Fermer une référence dès que LabVIEW a fini d'utiliser une référence à ce VI ou à l'un de ses objets. Utilisez le flux de données fourni par le cluster d'erreur pour contrôler à quel moment LabVIEW exécute chaque fonction Fermer une référence. Tenez compte des résultats lorsque vous fermez des références.

Mises en garde et recommandations

  • Fermez les références aux objets une fois que vous avez fini d'utiliser toutes les références à un objet de ce VI — Lorsque vous fermez une référence à un VI, toutes les références ouvertes aux objets de ce VI risquent de ne plus être valides. Vous ne pouvez fermer une référence à un VI en toute confiance qu'après avoir fini d'utiliser à la fois la référence au VI et toutes les références aux objets se trouvant dans ce VI.
  • Fermez les références dès que possible — Un nombre excessif de références ouvertes ralentit l'exécution de LabVIEW. Pour les petites applications, cet effet est insignifiant, mais la dégradation des performances sera visible dans les applications complexes. Lorsque vous fermez des références tôt dans le programme, elles ne risquent pas de rester inutilement en mémoire.
  • Fermez les références avant la fin d'un VI dans la mesure du possible — LabVIEW ferme automatiquement les références dans un VI qui a fini de s'exécuter ; vous n'améliorez donc pas les performances en fermant les références à la fin d'un VI.

Autres exemples

Reportez-vous au VI Creating New VI From Scratch.vi du répertoire labview\examples\Application Control\VI Scripting\Creating VIs pour voir un exemple de fermeture de plusieurs références lors de l'utilisation d'un script de VI.