Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Erreur chargement Graph3D - gel de l'écran

Résolu !
Accéder à la solution

Bonjour,

 

j'ai une erreur récurrente avec le "3D Graph Scatter". Pour des raisons de confidentialité, je ne peux me permettre de poster les VI. Cependant voici les caractéristiques :

 

- un VI principal ouvre un sous-VI contenant un graph 3D. A l'ouverture de ce sous-VI, l'écran se gèle et ne je ne peux même plus le fermer via la "croix windows" de la fenêtre (Windows reste en fonctionnement => Ctrl+Alt+Suppr => Fin de tâche...)

- si j'ouvre simplement ce sous-VI en mode édition, l'écran se gèle également et je ne peux plus rien faire sous LabVIEW (Windows reste en fonctionnement => Ctrl+Alt+Suppr => Fin de tâche...). Ce n'est pas systèmatique mais arrive très souvent


Ma solution pour le faire fonctionner est de copier&renommer ce sous-VI, l'ouvrir en mode édition pour vérifier qu'il fonctionne (une fois copié, le bug disparaît), remplacer le sous-VI par sa copie dans le VI principal. Dans ce cas, tout refonctionne... Et à chaque redémarrage de PC, il faut refaire cette opération pour supprimer l'erreur.

 

Quelqu'un aurait-il une idée à me suggérer pour supprimer cette erreur "plus efficacement" ?Smiley triste

 

LabVIEW 2012

Windows XP Pro

 

Julien

0 Compliments
Message 1 sur 5
3 488 Visites

Bonjour,

 

Est-ce que le fait de jouer sur le système d'exécution privilégié de votre sous-VI (dans la catégorie "Execution" des propriétés du VI) permet de solutionner le problème?

 

(La procédure est dans le début de cet exemple : File Dialog Using .NET to Select Any File Path)


Sinon, sans savoir exactement ce que vous faîtes, ce n'est pas évident de connaître l'origine de ce comportement et je ne suis pas sûr que l'on puisse faire beaucoup sans code. Si le fait de changer de système d'exécution privilégié dans les propriétés du VI ne résoud pas le problème, je vous invite à essayer de poster un VI et sous-VI simplifiés qui permettront de reproduire le comportement.

 

Cordialement,

Jérémy C.
NI France

0 Compliments
Message 2 sur 5
3 464 Visites

Bonjour,

 

le fait de jouer sur le système d'exécution ne solutionne pas le problème. En revanche, cela facilite le débugage car le bouton "Stop" LabVIEW devient fonctionnel et évite ainsi d'appeler le Gestionnaire de tâches (obligatoire en exécution type "Dialog Box" pour arrêter le programme buggé) . J'ai réussi à mieux identifier le problème en rendant une partie de mon code inactif (le bug disparaît alors). J'ai joint 2 VIs montrant une copie simplifiée du code qui a été isolé. Cette façon de passer la valeur au graphique serait-elle mauvaise ? J'ai également essayé de régler la valeur du graphique via un noeud de propriétés dans le sous-VI (en passant la référence du graphique comme argument du sous-VI), mais là encore le problème persiste !

 

Cordialement,

Julien

Tout télécharger
0 Compliments
Message 3 sur 5
3 454 Visites
Solution
Accepté par l'auteur du sujet julienAu

Bonjour,

 

J'ai ouvert votre VI principal (avec son sous-VI) et je n'ai rien constaté d'anormal. Les données sont correctement envoyées au graphe 3D et si vous avez des doutes sur la manière de transmettre la référence de votre objet au sous-VI, vous pouvez toujours copier le code de votre sous-VI et le mettre au même niveau que votre VI principal pour voir si le comportement est différent.

 

Sinon, vous pouvez également essayer d'activer l'option "Sous-VI incorporé dans les VIs appelants" dans la catégorie "Exécution" des propriétés de votre sous-VI.

 

Enfin, une troisième méthode consiste à placer tout votre code dans un seul VI, d'encadrer la partie de code que vous voulez transformer en sous-VI puis cliquer sur le menu "Édition -> Créer un sous-VI". Vous verrez alors comment LabVIEW transforme votre code en sous-VI de manière automatique.

 

Cordialement,

 

Jérémy C.
NI France

0 Compliments
Message 4 sur 5
3 439 Visites

Bonjour,

 

j'ai pu éradiquer le problème hier soir en copiant le code du sous-VI à l'intérieur du VI principal (ce qui correspond à votre première proposition). Cependant, le sous-VI est ensuite utilisé dans une boucle While+Event sans poser le moindre problème, même en utilisant les mêmes arguments et le même graphe pour cible...


Je prendrai le temps de comprendre d'où vient le problème exactement, et je vous ferai part de ce que j'aurai pu trouver. Mais pour l'instant, je dois faire avancer mon projet.

 

Merci beaucoup à JérémyC pour son aide.

Julien

0 Compliments
Message 5 sur 5
3 430 Visites