Discussions au sujet de NI LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Entrée d'un sous VI

Solved!
Go to solution

Bonjour,

 

Je suis débutant en Labview donc ma question va peut être vous paraître absurde mais je n'arrive pas à m'en sortir.

 

J'ai un programme sensé piloter un banc de mesure mais j'ai des soucis de communication. En essayant d'identifier le problème, j'ai remplacé des commandes en constantes dans certains vi (et sous-vi). Cependant, j'aimerai maintenant pouvoir repasser en commande, sauf que je n'ai plus l'entrée correspondante pour câbler le VI.

 

J'ai bien évidemment cherché une solution avant de poster ce message, mais je n'ai rien trouvé sur ma version de Labview (version 6.1, oui c'est assez vieux ...).

 

Je vous serai très reconnaissant si l'un de vous pouvait me sortir de cet enfer !

0 Kudos
Message 1 of 14
(489 Views)

Hi seyli,

 


@seyli_yes wrote:

Hello,

 

I'm new to Labview so my question may sound absurd to you, but I can't seem to get through it.

 

I have a program that is supposed to control a measurement bench, but I have communication problems. While trying to identify the problem, I replaced some constant commands in some vi (and sub vi). However, now I would like to be able to re-order, except that I no longer have the corresponding input to wire the VI.

 

I obviously looked for a solution before posting this message, but I couldn't find anything on my version of Labview (version 6.1, yes it's quite old ...).

 

I will be very grateful if any of you can get me out of this hell!


You surely made a backup to your code (or used some SCC tool) before applying changes to the code! Did you?

Just get your VI from that backup to find the "corresponding input"…

 

Btw. either write your messages in English or post in the French regional board

Best regards,
GerdW

using LV2011SP1 + LV2017 (+LV2020 sometimes) on Win10+cRIO
Message 2 of 14
(457 Views)

Si j'ai bien compris votre question :

 

  1. Créer le contrôle qui a été remplacé par une constance : clic droit sur la constante >> Create >> Control
  2. Donner un nom compréhensible à ce contrôle
  3. Pour ajouter ce contrôle au connecteur du VI : face avant du VI >> clic sur l'entrée désirée du connecteur >> clic sur le contrôle 
0 Kudos
Message 3 of 14
(404 Views)

Thank you for your respond.

I thought I was in the french board, sorry about that.

 

The thing is I did make a copy of my program, however when I wanted to reopen it, I unfortunately clicked on a wrong button, so that my changes were save in this program too...

 

Anyway, I overcomed the problem with the missing inpout by modifying some things. However, I really want to understand how it works. I obvioulsy tried to modify my constant into a command and then connect it to my vi (vi's concerning serial port mainly), but it is impossible. The vi just don't have any inpout to connect my command (the number of serial port).

 

Do you have any guess ? 

0 Kudos
Message 4 of 14
(397 Views)

@seyli_yes wrote:

 

I thought I was in the french board, sorry about that.


You are in the French board but with google translate, anything can be discussed anywhere. 😉


LabVIEW Champion. It all comes together in GCentral GCentral
What does "Engineering Redefined" mean??
0 Kudos
Message 5 of 14
(378 Views)

A ce stade, il serait utile, pour ne pas dire indispensable, de poster le VI en question. Il s'agit très vraisemblablement d'une erreur triviale mais nous risquons de perdre beaucoup de temps en tentant de la deviner.

0 Kudos
Message 6 of 14
(357 Views)

Ok je vais reprendre en Français alors ^^

 

D'abord merci pour vos réponses.

 

Je joins à ce message la partie du programme en question. Celui-ci est très long et fastidieux (en tout cas pour moi, peut être qu'il va être beaucoup plus instinctif pour vous...).

 

Quelques petites indications s'imposent : 

 

* version Labview 6.1

( * le programme permet de contrôler un moteur qui fait déplacer un détecteur gamma le long d'un échantillon )

* globalement, chaque sous-vi fonctionnent indépendamment, mais quand j'exécute EtalonnageMecanique.vi, je tombe à un moment sur une boucle infini à l'appel de AttenteReponseMIP.vi.

* après plusieurs tests, c'est Litports.vi qui semble poser problème à l'appel de AttenteReponseMIP.vi. 

* pourtant, AttenteReponseMIP et Litports fonctionnent parfaitement au début de l'exécution

* la commande ASCII envoyée au moteur est bien correcte

 

* concernant ma question initiale qui était l'absence d'entrée dans le vi, il s'agit de Litports.vi. Initialement, il y a une entrée de commande pour renseigner le port COM utilisé. Je l'ai changé en constante. Je n'arrive maintenant plus à reconnecter une commande au vi.

 

Voila, je ne sais pas a quel point vous allez pouvoir m'aider sachant que vous ne pourrez pas vérifier les communications avec le moteur...

 

0 Kudos
Message 7 of 14
(353 Views)

Si vous ouvrez "Litportsrs.vi", vous constaterez que le contrôle "port number" n'est pas relié à "Bytes At Serial Port.vi". Ceci étant, peu importe la sélection du port par ce contrôle, "Bytes At Serial Port.vi" va utiliser la valeur par défaut, à savoir 0. C'est d'ailleurs un bon exemple d'une mauvaise configuration des entrées des connecteurs d'un VI. Cette entrée étant essentielle, il faut la définir comme obligatoire et non recommandée. Ainsi, le code ne sera pas fonctionnel tant qu'elle n'est pas reliée.

 

Dans "AttenteReponseMIP.vi", le même cas de figure apparaît pour "Litportsrs.vi" dont l'entrée n'est pas reliée.

0 Kudos
Message 8 of 14
(273 Views)

Bonjour, merci beaucoup pour votre temps consacré pour me répondre. J'ai compris une notion importante grâce à vous.

 

Malheureusement, les problèmes ne s'arrêtent pas là. Il me semble avoir bien pris en compte votre remarque mais j'ai toujours un soucis avec ce même vi "Litports.vi" (voir pièce jointe). Celui-ci fonctionne correctement mais toujours une seule fois. Dès le deuxième appel de ce sous-vi, celui renvoi 0. Je n'arrive pas à identifier le problème, c'est comme si le port recevait une seule information avant de se désactiver...

 

 

 

 

 

0 Kudos
Message 9 of 14
(260 Views)

Petite précision : c'est toujours au deuxième appel de EnvoiMIP.vi (ci-joint) que le programme plante. Le moteur est sensé renvoyer un certain message (X0) lorsque tout est ok, comme ce n'est pas le cas, je me retrouve avec une boucle infinie.  (pourtant au premier appel de EnvoiMIP.vi, tout marche correctement...)

 

J'ai vu dans des topics de ce forum que certains ont eu des problèmes de communications en série car les fonctions VISA n'ont pas été fermées. Ici, je n'ai pas des VISA mais des écriture/lecture sur port série. Dans le doute, j'ai quand même essayé de fermer les ports mais ça ne change rien.

 

Je vous serai très reconnaissant si quelqu'un pouvait m'aider, ça fait 4 semaines que je bloque la dessus je commence à perdre patience... 

 

Toute idée / conseil / remarque serai la bienvenue !!

0 Kudos
Message 10 of 14
(253 Views)