[M221] positionnement axe via un codeur incrémental

Forum traitant des automates industriels de marque Schneider - Telemecanique
pitsoun
Asservi son premier moteur
Asservi son premier moteur
Messages : 23
Enregistré le : 14 oct. 2022, 11:15

[M221] positionnement axe via un codeur incrémental

Message par pitsoun »

Bonjour à tous,

Pourriez vous me débloquer svp ?
Je désire commander un moteur accouplé à un codeur incrémental.
J'aimerai que le tout fonctionne de la manière suivante :
- lorsque je tape sur mon IHM une valeur, celle ci est comparée à la position de mon codeur et mon moteur se déplace en fonction.
- le moteur est commandé via un variateur. Je solliciterai les entrées LI1, LI2, etc.

Je n'arrive pas à bien écrire le programme.

J'ai commencé des bouts de ladder, mais j'ai l'impression de trop bricoler. Pourriez vous m'aider svp.
Existe t-il un bloc fonction pour ça ?
Est ce que mon bout de programme Ladder est juste ?

Merci
Fichiers joints
Sans titre.gif
pitsoun
Asservi son premier moteur
Asservi son premier moteur
Messages : 23
Enregistré le : 14 oct. 2022, 11:15

Re: [M221] positionnement axe via un codeur incrémental

Message par pitsoun »

Lorsque je simule :
Ma variable MW1 supposée être celle entrée via l'IHM n'est pas correctement comparée à celle du compteur...
Fichiers joints
Sans titre2.gif
MiGaNuTs
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1573
Enregistré le : 12 nov. 2015, 21:02
Localisation : 45 - Loiret
Contact :

Re: [M221] positionnement axe via un codeur incrémental

Message par MiGaNuTs »

Les impulsions de ton codeur sont probablement (beaucoup) trop rapides pour utiliser un compteur "standard". L'automate ne 'voit' certaine qu'une partie des impulsions et compte n'importe quoi.
Il faut utiliser le "high speed coder" intégré a l'automate en reliant les sorties A et B de ton codeur aux entrées dédiées a de HSC intégré.
https://www.se.com/fr/fr/faqs/FA275709/

Vu que tu a un variateur de vitesse je pense que c'est une bonne idée d'asservir la consigne de vitesse de ton moteur a la distance restant a parcourir avant le 'point' visé. Utiliser les fonctions PID de l'automate te donnera surement le meilleur résultat, mais tu peut peut aussi le faire avec des consignes différentes en fonction de paliers de distance restante, ce qui est plus facile pour un novice.
pitsoun
Asservi son premier moteur
Asservi son premier moteur
Messages : 23
Enregistré le : 14 oct. 2022, 11:15

Re: [M221] positionnement axe via un codeur incrémental

Message par pitsoun »

Pour le moment je suis en mode simulation.
Les lignes de code sont justes ?

J’ai pensé à améliorer en modifiant les consignes de vitesse dans un second temps. Si tout fonctionne je m’attaquerai au pid. Il y a tellement peu de tuto que j’y vais à tâtons uniquement…
MiGaNuTs
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1573
Enregistré le : 12 nov. 2015, 21:02
Localisation : 45 - Loiret
Contact :

Re: [M221] positionnement axe via un codeur incrémental

Message par MiGaNuTs »

Bonjour.

C'est normal qu'il n'y ai pas beaucoup de tutos sur internet, il y'a quasiment toutes les infos dans la doc de l'automate, et en plus Schneider a publié des vidéos youtube complémentaires aux docs qu'ils fournissent. Qui irait perdre son temps a redire la même chose ?

Je n'ai peut être pas été assez clair dans mon premier message, du coup je vais me répéter plus clairement :
dès la première ligne de ton programme tu n'utilise pas la bonne fonction, et ton câblage est faux. Ton codeur ne comptera jamais correctement a l'état.

Du coup le reste de ton programme est inutile, qu'il soit correct ou pas.
Jambe
Créateur de langage
Créateur de langage
Messages : 749
Enregistré le : 28 mai 2020, 18:38

Re: [M221] positionnement axe via un codeur incrémental

Message par Jambe »

Et automaticien c’est un métier, ça ne s’apprend pas avec un tutoriel…
pitsoun
Asservi son premier moteur
Asservi son premier moteur
Messages : 23
Enregistré le : 14 oct. 2022, 11:15

Re: [M221] positionnement axe via un codeur incrémental

Message par pitsoun »

Ok pour le bloc fonction non adaptée mais la fréquence de comptage de ce bloc est compatible avec mon codeur.
Après effectivement, je ne peux pas exploiter l'ensemble des caractéristiques de mon codeur.

Pour la personne qui dit qu'être automaticien c'est un métier, je suis tout à fait d'accord. Cependant, je pensais que l'entraide et l'auto apprentissage était possible.
Je suis enseignant et je trouve votre réponse incroyable...Je pense que les forums sont des lieux de conseils et d'entraide et votre remarque je ne la comprends pas.
pitsoun
Asservi son premier moteur
Asservi son premier moteur
Messages : 23
Enregistré le : 14 oct. 2022, 11:15

Re: [M221] positionnement axe via un codeur incrémental

Message par pitsoun »

Je vais refaire le programme avec le bon bloc et essayer de voir dans la bibliothèque du bloc ce que je pourrais mettre en œuvre.
Autant utiliser la fonction adaptée.
MiGaNuTs
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1573
Enregistré le : 12 nov. 2015, 21:02
Localisation : 45 - Loiret
Contact :

Re: [M221] positionnement axe via un codeur incrémental

Message par MiGaNuTs »

Bonjour,
pitsoun a écrit : 05 avr. 2023, 15:50 Je vais refaire le programme avec le bon bloc et essayer de voir dans la bibliothèque du bloc ce que je pourrais mettre en œuvre.
Autant utiliser la fonction adaptée.
Même en supposant que ton codeur ai une résolution suffisamment faible pour être compatible avec des entrées normales, ça ira quand même beaucoup mieux en utilisant les outils adaptés.
De toutes façons tu ne trouvera aucune info/aide pour utiliser un codeur avec des entrées normales. Personne de censé ne fait ça.
Peut être dans des donjons spécialisés pour automaticiens masochistes ? Du coup je suppose qu'ils le font avec des S5 ou des M241. Voire des LOGO! pour les plus hardcore.

Concernant le reste de ton programme, le soft de programmation te mets des /!\ sur la plupart de tes rungs. Il t'averti qu'ils ne fonctionneront jamais.
Tu n'a le droit d’écrire une sortie (ou n'importe quel bit en fait) qu'une seule fois. Sinon la 2eme équation écrase la première.

Pour compléter ton autoformation je te partage encore un peu de lecture via des liens donnés par des collègues du forum :
http://www.forum-automatisme.net/viewto ... 637#p40637

Au passage il y'a une section du forum dédiée a la présentation des nouveaux membres...
pitsoun
Asservi son premier moteur
Asservi son premier moteur
Messages : 23
Enregistré le : 14 oct. 2022, 11:15

Re: [M221] positionnement axe via un codeur incrémental

Message par pitsoun »

Merci des conseils.
Dernière chose comment je fais pour stocker ma variable max du compteur. Dans un premier temps je veux que mon moteur fasse un aller pour connaître la valeur max de mon codeur et ensuite stocker cette valeur dans un bit mémoire.
Le problème c’est lorsque mon codeur a une autre valeur , je n’arrive pas à travailler avec cette nouvelle valeur ou la comparer avec ma consigne.
Répondre