le 05-26-2021 05:14 AM
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 !
Résolu ! Accéder à la solution.
05-26-2021 06:33 AM - modifié 05-26-2021 06:35 AM
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…
le 05-27-2021 01:22 AM
Si j'ai bien compris votre question :
05-27-2021 03:00 AM - modifié 05-27-2021 03:01 AM
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 ?
le 05-27-2021 01:36 PM
@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. 😉
le 05-28-2021 12:54 AM
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.
le 05-28-2021 03:31 AM
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...
le 05-31-2021 02:56 AM
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.
le 06-02-2021 04:20 AM
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...
le 06-02-2021 08:09 AM
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 !!