multiplexage des sorties

Forum traitant des automates industriels de marque Siemens.
Répondre
VincentL
Apprend le binaire
Apprend le binaire
Messages : 2
Enregistré le : 30 mai 2018, 20:38

multiplexage des sorties

Message par VincentL »

Bonjour,

j'ai un petit projet qui fonctionne sous arduino avec un shift register 74hc595 qui me permet de commander de nombreuse led avec seulement 3 sorties.
Exemple http://www.zem.fr/decouverte-du-composa ... -register/

Est il possible de commander le shift register avec un automate siemens ?
pour les tensions de sorties, il suffit de faire un pont diviseur mais je n'arrive pas à trouver comment coder les impulsions sous step7

Vincent
GG10
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 147
Enregistré le : 15 sept. 2016, 14:35

Re: multiplexage des sorties

Message par GG10 »

Bonjour

un peu de mal a comprendre le fonctionnement du shift register 74hc595
peux tu en dire plus !!!
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: multiplexage des sorties

Message par philou77 »

Salut.
VincentL a écrit : 30 mai 2018, 20:43 Est il possible de commander le shift register avec un automate siemens ?
Réponse oui bien sûr.

Il te suffit de relier les pins qui vont bien à des sorties..
puis d'appeler ces fonctions comme tu le désires.
En fait, refaire en siemens les fonctions que tu vois en exemple en arduino.
Sâche que l'arduino pédale certainement plus vite qu'un automate...quoique les automates pédalent fort quand même !
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
VincentL
Apprend le binaire
Apprend le binaire
Messages : 2
Enregistré le : 30 mai 2018, 20:38

Re: multiplexage des sorties

Message par VincentL »

Bonjour,

Merci déjà pour vos réponses.
La plus grande difficultée et de coder un signal carré en sortie qui correspond à un nombre en binaire
exemple je veux allumer la lampe 1 4 7 il me faut le signal 1001001 -__-__- et un signal clock.

je n'ai pas d'idée pour générer ce signal, j'ai regardé avec le générateur d'impulsion mais il ne donne qu'un signal carré

Vincent
GG10
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 147
Enregistré le : 15 sept. 2016, 14:35

Re: multiplexage des sorties

Message par GG10 »

ah ca c pas très complique, il faut

- créer un top horloge

- tu prend le bit zéro du mot que tu transfert dans le signal
- a chaque top horloge tu fait un décalage a droite sur ton mot
- tu prend le bit zéro du mot que tu transfert dans le signal
etc.....
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: multiplexage des sorties

Message par philou77 »

VincentL a écrit : 31 mai 2018, 11:44 La plus grande difficultée et de coder un signal carré en sortie qui correspond à un nombre en binaire
exemple je veux allumer la lampe 1 4 7 il me faut le signal 1001001 -__-__- et un signal clock.
comme je te l'ai dit, il te suffit de créér une fonction d'écriture..
tu passe ta valeur (1 4 7 dans ton exemple) dans un mot (la led 1 vaut 1, la led 2 vaut 2, la led 3 vaut 4, etc...)
t'additionne les leds à 1 pour avoir ta valeur.

Tu appelles ta fonction qui :
1 - descend le Rclk à 0 (attention, les automates n'activent réellement les sorties qu'à la fin du cycle ! )
2 - positionne ta 1ere sortie (bit 0 de ton mot) (SER) (attention, les automates n'activent réellement les sorties qu'à la fin du cycle ! )
3 - Remonte le Rclk à 1(attention, les automates n'activent réellement les sorties qu'à la fin du cycle ! )
4 Décale ton mot d' bit vers la droite...

Recommence 8 fois !

et voilà
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: multiplexage des sorties

Message par itasoft »

slts,
autre exemple (Unity)

(*
Si chaque bit du mot %MW2 représente une lampe
mettre dans %MW0 le n° de la lampe à allumer (0à15)
*)

%MW2 := REAL_TO_INT(EXPT_REAL_INT(2.0,%MW0));
Automaticien privé (de tout)
itasoft@free.fr
Répondre