le 06-08-2016 09:05 AM
Bonjour, Voilà j'ai un petit soucis avec mon programme voilà j'ai fait un sous vie qui me permet de retirer des valeurs d'un ficher texte.J'ai introduit ce sous-vi dans mon programme principale qui me permet de commander un moteur.J'ai donc rajouter dans ce programme permettant de piloter un moteur une partie automatique en gros ou je prend les valeurs du fichiers texte du sous vi afin de pouvoir deplacer l'axe du moteur automatiquement.Le problème est que j'ai un petit souci c'est que la sortie de mon vi est une sortie tableau et que la pour la bibliotheque de mon moteur le Vsa MOOve ne prend que les dbl simple j'aimerais savoir si il y aurais une manière de remédier à cela.je vous met un screen du programme en plus d'une verison 2015 et 2011.Merci de votre aide .
![]()
Résolu ! Accéder à la solution.
le 06-08-2016 09:25 AM
Le problème est plutôt de savoir quelle valeur du tableau de DBL doit être appliquée au moteur. S'il s'agit de la première, il suffit d'insérer la fonction "Indexer un Tableau" pour récupérer l'élément voulu (un scalaire, donc).
Cordialement,
Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.
le 06-09-2016 04:19 AM
Bonjour, en fait je vous utiliser toutes la valeurs du tableau vue qu'il s'agit de position de l'axe du moteur, utiliser une valeur de position une fois qu'elle l'a atteint aller à l'autre position ( avec une temporistaion par exemple)
Cordialement.
le 06-09-2016 04:31 AM
Ce sujet d'école a déjà été traité récemment sur le forum. Essaye de regarde, la réponse si trouve, je n'ai pas le temps de le chercher toute de suite, mais nous avions fourni un vi fonctionnel pour cela.
le 06-09-2016 04:37 AM
j'ai essayer de chercher avant de publier cette question et je n'ai pas toruver de question similaire 😕
06-09-2016 04:51 AM - modifié 06-09-2016 04:52 AM
Tiens j'ai retrouver le post 😉
par contre, essaye de bien comprendre le principe, car à vous pointez à 20 avec le même programme, votre responsable va être plus pointilleux sur la compréhension.
EDIT : En plus il venait avec le même soucis initialement :D...
C'est là que l'on voit qu'un bon titre de sujet est important, car même si la réponse existe déjà sur le forum, il est compliqué de la retrouver.
le 06-09-2016 05:17 AM
merci de votre aide j'ai tenu comptre de vos commentaire sur le poste mais j'ai une petite question , il n'y aurais t-il pas une manière de dire a labview que le verrin à atteint la cible avant d'en atteindre une autre ? car la vitesse de mon moteur est très faible et j'ai peur que de mettre un temporisation ne soit pas approprié pour tout les déplacement (sauf si j'en met une de plusieurs secondes là oui) Je suis preneur d'une solution ![]()
06-09-2016 05:37 AM - modifié 06-09-2016 05:40 AM
Regarde le programme que j'ai fourni dans le sujet cité 😉
J'avais mis en place un contrôle, on ne passe à la position suivante que lorsque l'on a atteint la consigne à une tolérance prêt.
Pour m'adapter justement en fonction de la vitesse du verrin utilisée 😉
EDIT : Zut, j'avais mis cela en place dans un autre fil de discussion ......, mais bon si j'ai le tmeps je cherche, sinon le principe est simple.
Après avoir envoyé ta consigne, tu viens relire la position de ton moteur dans une boucle while avec tempo, et tu quittes la boucle sur la condition que ton moteur soit en position de consigne +/- 1% par exemple pour tenir compte des incertitudes de mesure.
06-09-2016 05:51 AM - modifié 06-09-2016 05:58 AM
Si j'ai bien saisi je met tous ça dans le même evenement Dabord la bouclue for juste apres la boucle while ? 😕
Ou est ce que l'on trouve le +/-1%?
le 06-09-2016 06:24 AM
Non il faut que tu mettes ta boucle while dans la for, pour qu'elle s'exécute à chaque envoi de consigne, juste après ton Move.
Le +/-1% tu le fais toi avec une opération x*.99 et x*1.01, et tu utilses la fonction de comparaison dans la gamme.
Si tu as le courage, regarde au travers de mon profil, les fils de discussion auquel j'ai participé, cela ne doit pas dater de plus d'un mois.
Tu pourrais retomber sur la réponse que j'avais fourni. Malheureusement, j'ai vérifié j'ai plus le VI sur disque dur, et pas le tmeps pour l'instant de chercher.