Page 2 sur 2
Re: Codeur Absolu Telemecanique
Posté : 30 mars 2020, 17:51
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
Re: Codeur Absolu Telemecanique
Posté : 01 avr. 2020, 13:13
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.
Re: Codeur Absolu Telemecanique
Posté : 15 avr. 2020, 20:37
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