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
Codeur Absolu Telemecanique
-
philou77
- Mi homme - Mi automate

- Messages : 2142
- Enregistré le : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: Codeur Absolu Telemecanique
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! 
-
agea28
- Code son premier grafcet

- Messages : 47
- Enregistré le : 04 mai 2019, 23:07
- Localisation : Eure et Loir
Re: Codeur Absolu Telemecanique
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.
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
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
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
