Codeur Absolu Telemecanique

Forum traitant des automates industriels de marque Schneider - Telemecanique
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Codeur Absolu Telemecanique

Message par philou77 »

Salut !

Ca serait bien de poster déjà ce que tu as fait !

de plus, si c'est un codeur absolu en sortie Binaire code Gray...
- il n'y a qu'à déclarer la carte entrée en fast !
Puis en tâche fast
- Lire le mot d'entrée concerné (au besoin enlever les bits non significatifs, masque ou décalage)
- Transformer le code gray en décimal
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
agea28
Code son premier grafcet
Code son premier grafcet
Messages : 47
Enregistré le : 04 mai 2019, 23:07
Localisation : Eure et Loir

Re: Codeur Absolu Telemecanique

Message par agea28 »

Bon je te mets sur la voie :
1)Ds Unity, tu crées un tableau de EBOOL (type DDT).
2) Tu crées une variable qui a pour type ton tableau et comme adresse la première entrée codeur.
3) Tu crées une variable de type INT.
4) Dans un bloc programme, tu insères l'instruction MOVE_AREBOOL_INT avec en entrée ton tableau et en sortie ta variable INT.
comme expliqué précédemment.
5) Je ne sais pas s'il y a une instruction pour convertir du code Gray en binaire mais c'est assez simple Tu fais un XOR de ton mot GRAY avec lui-même décalé d'un bit vers la droite. Exemple ici :
http://isartec.com/Documents/Fiche_tech ... e_Gray.pdf

Ceci dit comme dit avant, postes ce que tu as fait avant de demander la solution, c'est toujours mieux vu et tu auras plus d'aide.
yann39
Apprend le binaire
Apprend le binaire
Messages : 8
Enregistré le : 15 mars 2020, 10:18

Re: Codeur Absolu Telemecanique

Message par yann39 »

Bonjour messieurs,

Tout d'abord merci pour votre aide ,
Voici ce que j'ai fait , je n'ai toujours pas testé mon programme : en espérant que cela fonctionne;
j'ai réalisé ce programme dans la tâche mast : ( apparemment c’était plutôt dans la tache Fast d'après filou77)
je n'arrive pas a coller une image de mon programme donc je vous détaille :j'ai utiliser une fonction disponible : MOVE_AREBOOL_INT : entrées de mon codeur absolu emplacement 6 de mon API M340
1) %I0.6.0:9 move arebool_INT dans un mot %MW190 (récupération du code absolu dans un mot)
2) %MW180 := GRAY_TO_INT(%MW190); conversion code gray en binaire
3) j'ai utiliseé des blocs compare pour définir la position de mon panier au dessus de mon bac %MW180 = ....1 ou 2 ou 3 etc

merci pour vos reponses
yann 39
Répondre