[M221] positionnement axe via un codeur incrémental
[M221] positionnement axe via un codeur incrémental
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
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
Re: [M221] positionnement axe via un codeur incrémental
Lorsque je simule :
Ma variable MW1 supposée être celle entrée via l'IHM n'est pas correctement comparée à celle du compteur...
Ma variable MW1 supposée être celle entrée via l'IHM n'est pas correctement comparée à celle du compteur...
-
MiGaNuTs
- 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
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.
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.
Re: [M221] positionnement axe via un codeur incrémental
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…
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

- Messages : 1573
- Enregistré le : 12 nov. 2015, 21:02
- Localisation : 45 - Loiret
- Contact :
Re: [M221] positionnement axe via un codeur incrémental
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.
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.
Re: [M221] positionnement axe via un codeur incrémental
Et automaticien c’est un métier, ça ne s’apprend pas avec un tutoriel…
Re: [M221] positionnement axe via un codeur incrémental
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.
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.
Re: [M221] positionnement axe via un codeur incrémental
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.
Autant utiliser la fonction adaptée.
-
MiGaNuTs
- 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
Bonjour,
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...
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...
Re: [M221] positionnement axe via un codeur incrémental
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.
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.

