Navigation dans un VI en utilisant un script de VI
- Mise à jour2025-08-27
- Temps de lecture : 3 minute(s)
Requiert : Scripts de VI
Comme les objets du diagramme d'un VI sont connectés par des terminaux et des fils de liaison, vous pouvez utiliser une référence à un objet pour accéder aux autres objets connectés. Vous pouvez utiliser cette stratégie de navigation dans un VI cible dans les cas suivants :
- L'inspection ou l'édition de connexion entre les objets
- L'obtention d'une référence à un objet auquel vous ne pouvez pas accéder directement avec la fonction Ouvrir une référence à un objet de VI ou le VI Traversée pour objetG.
Si vous pouvez connecter des objets les uns aux autres manuellement dans LabVIEW, il est fort probable que LabVIEW dispose d'une propriété ou d'une méthode qui vous permet de naviguer dans ces connexions par programmation. Par conséquent, toutes les tâches de navigation commencent par obtenir une référence à un objet de départ puis utilisent les propriétés et méthodes nécessaires pour obtenir des références aux objets connectés. Vous pouvez décomposer les tâches de navigation complexes dans les tâches de navigation de base suivantes :
- Identification d'un point de départ à partir duquel naviguer.
- Navigation d'un nœud à un fil de liaison
- Navigation d'un fil de liaison à un nœud
- Navigation à travers une structure
- Navigation entre un diagramme et sa face-avant
L'exemple suivant montre comment vous pouvez combiner certaines des tâches de base listées ci-dessus pour résoudre un problème de navigation plus complexe.
Exemple de tâche : conservation du câblage lors du remplacement d'une fonction
Vous pouvez écrire un VI de script qui remplace une fonction Boîte de dialogue à un bouton par une fonction Boîte de dialogue à deux boutons dans n'importe quel VI cible. Cependant, une fois ce remplacement effectué, vous devez vérifier que l'objet qui était câblé à l'entrée nom du bouton de la fonction Boîte de dialogue à un bouton est câblé à l'entrée Nom du bouton V de la nouvelle fonction Boîte de dialogue à deux boutons. Les images suivantes illustrent le changement désiré.
| Avant | Après |
|
|
Pourquoi la tâche de cet exemple requiert-elle une navigation
Pour remplacer la fonction Boîte de dialogue à un bouton, vous n'avez besoin que d'une référence à la fonction. Cependant, pour assurer que le câblage d'origine soit conservé dans la nouvelle fonction Boîte de dialogue à deux boutons, vous avez aussi besoin d'une référence à l'objet câblé à l'entrée nom du bouton de la fonction Boîte de dialogue à un bouton. Vous pouvez obtenir une référence à cette chaîne en navigant dans les connexions entre la fonction Boîte de dialogue à un bouton et l'objet connecté.
Comment utiliser la navigation pour réaliser la tâche de cet exemple
Le texte qui suit décrit dans les grandes lignes les tâches de navigation de base nécessaires pour naviguer de la fonction Boîte de dialogue à un bouton à l'objet câblé à son entrée nom du bouton. Reportez-vous aux rubriques des différentes tâches pour obtenir des informations plus détaillées sur la façon d'implémenter chaque tâche.
- Identifier un point de départ pour la navigation — Vous pouvez utiliser la fonction Boîte de dialogue à un bouton comme point de départ pour la navigation car vous savez que tous les VIs cibles qui vous intéressent ont une fonction Boîte de dialogue à un bouton.
- Naviguer d'un nœud à un fil de liaison — Vous pouvez utiliser la référence à la fonction Boîte de dialogue à un bouton pour obtenir une référence au fil de liaison qui est connecté à l'entrée nom du bouton de la fonction.
- Naviguer d'un fil de liaison à un nœud — Vous pouvez utiliser la référence au fil de liaison pour obtenir une référence à son nœud source.
Une fois ces trois tâches de navigation réalisées, vous avez accès à toutes les références dont vous avez besoin pour terminer la tâche.
Reportez-vous au VI Navigation Overview.vi, dans le répertoire labview\examples\Application Control\VI Scripting\Finding and Modifying Objects pour voir une solution complète de la tâche de ce script.