From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discussions au sujet de NI LabVIEW

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

discrétisation sur labview

Bonjour,

je suis actuellement en stage et je travaille sur labview qui m'est totalement nouveau. Je veux controler le mouvement d'un actionneur sur le plan XY en précisant des pas de déplacement selon les deux axes, X et Y. tout d'abord je crée le chemin qui est des coordonnés en X et en Y sur un fichier texte, je calcul entre chaque deux points la différence delta ( un delta X, un delta Y), je discrétise ces deltas avec des pas, dX et dY et je registre ces nouvelles valeurs dans un tableau, afin de reproduire le meme chemin mais cette fois avec des pas. Mais le problème c'est que je n'arrive pas à reproduire le meme trajet. S'il vous plait j'ai besoin de votre aide. Merci d'avance. 

 

Comme chemin non complexe, au début j'ai choisi un carré. Veuillez trouvez s'il vous plait ci-joint le programme.

0 Compliments
Message 1 sur 14
3 425 Visites

Impossible d'ouvrir votre code car je ne suis pas encore passé à LV 2016. Envisageable de le poster dans une version antérieure de LV ?

 

La détermination des pas se fait par une interpolation entre les points provenant du fichier "carré.txt".

 

0 Compliments
Message 2 sur 14
3 398 Visites

D'abord, merci beaucoup pour votre réponse. je le poste à présent sur LV2012 si ça vous arrange .

 

0 Compliments
Message 3 sur 14
3 394 Visites

Malheureusement pas eu le temps de reprendre ce sujet.

La question est-elle encore d'actualité ?

0 Compliments
Message 4 sur 14
3 343 Visites

Pas grave 🙂

En fait oui, je n'ai pas encore réussi à discrétiser quelque soit la courbe. à chaque fois que je change le pas ou la forme à discrétiser, j'obtiens autres choses qu'il faut. 

 

0 Compliments
Message 5 sur 14
3 337 Visites

Bonjour,

j'ai regardé ton code et voulu faire les modifications nécessaires afin que ton code fonctionne. J'ai des questions:

tu mets des pas X à 10000 or ta différence maximale n'est que de 7000 dans ton exemple, tu veux faire 10000  pas ou le pas est de 10000.

Je pense qu'il y a une sérieuse erreur de conception en traitant à part les variations de X et Y, si les pas X et Y sont différents et/ou si les variations de X et Y sont différentes, on constate que l'on ne génère pas la même taille de tableau ce qui entraine des difficultés a créé les couples de points X et Y. Si je ne suis pas dans l'erreur je pense que tu donnes les coordonnées X ET Y pour les déplacements.

Rectifie mon analyse avant qu'on ne puisse continuer.

Bonne journée.

0 Compliments
Message 6 sur 14
3 303 Visites

Rebonjour,

Essaye de faire ton code pour un déplacement simple d'un point A à B.

tu appliques un pas ( le plus petit disons X pour notre exemple) pour X, tu calcules Y par l'équation de la droite que tu as établi pour l'intervalle et tu arrondis à la valeur Y la plus proche correspondant à ton pas Y [arrondi (Y - Y0)/ Pas Y.

Bon codage

0 Compliments
Message 7 sur 14
3 301 Visites

Voici un exemple que je vous laisse tester. Il a été réalisé rapidement et le soin de le finaliser est vôtre s'il vous est utile.

 

Les déplacements (variations entre les paires de coordonnées XY) doivent être des multiples de l'incrément. Dans le cas contraire, les positions ne sont pas atteintes car on s'arrête au multiple inférieur de l'incrément. Avec les valeurs définies par défaut pour X et Y, mettez par exemple l'incrément à 2000 pour voir ce qui se passe.

 

Cet exemple effectue une interpolation linéaire entre les paires de coordonnées successives selon l'incrément désiré. Il ne permet donc pas des déplacements plus complèxes.

 

 Je me tiens à disposition pour toute question.

0 Compliments
Message 8 sur 14
3 292 Visites

Bonjour,

merci pour vos réponses. En fait oui on ne peut pas imposer un pas supérieur à la différence entre les points, c'est évident. et on doit aussi trouver à chaque coordonnée (x,y) une relation entre x et y, donc je calcule D=sqrt(x^2+y^2), deltaX=X(i+1)-X(i-1)=D*cos(teta), tel que teta=atan(x/y), de la même manière pour y, et on imposant un pas inférieur à deltaX et deltaY j'arrive à discrétisé les deux axes avec le même nombre de points.

 

Merci.

0 Compliments
Message 9 sur 14
3 265 Visites

Bonjour,

Merci pour votre code. ça marche bien sauf pour la question des multiples de pas comme vous l'avez dit, donc il est mieux d'imposer un pas, chercher le nombre de pas en X et en Y, prendre le plus grand d'entre eux et le mettre en commun, ainsi on aura le même nombre de points dans les deux axes et les derniers points seront atteints.

c'est ce que j'ai fait dans mon code qui est un peu plus compliqué.

Merci beaucoup.

0 Compliments
Message 10 sur 14
3 263 Visites