Vai al contenuto
PLC Forum


Conta impulsi Encoder


fausto198

Messaggi consigliati

salve ho un plc Logo 0BA8 e un Logo TDE. devo contare gli impulsi emessi da un encoder incrementale e visualizzarli su display tde. Ho collegato l'encoder all'ingresso veloce i3, ma quando vado a contare credo che si perdano degli impulsi. Collegando l'encoder a un contaimpulsi vengono emessi 64 impulsi ogni giro. Ho provato invece tramite un magnete a farlo girare manualmente. Se giro lentamente gli impulsi corrispondono ma se aumento la velocità gli impulsi si perdono. Avete qualche soluzione? 

Link al commento
Condividi su altri siti


con l'ultima versione di logo sono i3 i4 i5 e i6. Comunque ho provato anche ad usare solo l'ingresso I5 e comunque non conta al di sopra dei 37-40Hz. Molto Strano, forse sbaglio io qualcosa nella logica del programma. 

Link al commento
Condividi su altri siti

Se non sbaglio per i contatori veloci , nella programmazione l'ingresso del PLC deve essere direttamente collegato al blocco del contatore...senza essere interpolato tramite altri blocchi come AND ..OR...ecc

Link al commento
Condividi su altri siti

ti ringrazio infatti collegando degli ingressi in parallelo all'encoder non conta. Solo che io dovrei contare gli impulsi sia in senso orario che in senso antiorario. il contatore deve incrementare o decrementare a seconda se mi sposto in avanti o indietro. avete una soluzione? Grazie

Link al commento
Condividi su altri siti

Sinceramente è una delle tante cose che ancora non ho fatto , ma posso dirti con certezza che devi collegare i due canali a due ingressi poi siccome i due canali sono leggermente sfasati avrai priorità d'impulso in un senso su un canale mentre nel senso inverso sull'altro canale, e qui giochi con qualche altro blocco e il contatore , bye

Link al commento
Condividi su altri siti

A me è capitato e non ci sono riuscito col solo logo, alla fine ho collegato un ingresso all'inverter che mi diceva se il motore stava girando orario o antiorario e l'ho collegato

alla direzione del contatore mentre dell'encoder ho collegato un solo ingresso direttamente al contatore.

 

Ciao

Link al commento
Condividi su altri siti

allora ho collegato l'encoder all'ingresso veloce del plc e al blocco contatore. Sapendo però che in uscita ho due contattori, di cui uno fa muovere in avanti il braccio e quindi incrementare il contatore e i relativi impulsi, l'altro fa muover indietro il braccio. In questo modo posso far decrementare il contatore anche se ho collegato solo una fase dell' encoder all'ingresso del plc? Inoltre sapendo che l'encoder effettua 64 impulsi per giro come faccio a convertire questi impulsi in mm?

Link al commento
Condividi su altri siti

Secondo me devi prima misurare uno spostamento reale e poi leggere quanti impulsi hai ogni cm per esempio, poi farai un operazione matematica per convertire gli impulsi letti alla misura che ti serve, bye

Link al commento
Condividi su altri siti

Ti ringrazio. Un'altra domanda, con logo è possibile inserire un valore impostato da tastiera e successivamente confrontare questo valore con quello del contatore e se maggiore farlo incrementare, se minore farlo decrementare? In pratica imposto il valore manualmente, se questo valore è maggiore di quello presente nel contatore il braccio si sposta in avanti, se minore si sposta all'indietro, se uguale resta fermo.

Link al commento
Condividi su altri siti

Si può fare anche se ti sconsiglio di implementarlo proprio così, dovresti mettere almeno qualche unità di margine,

per esempio: fermi il motore quando il contatore raggiunge 5 impulsi in meno del setpoint, dipende da quanta strada fa in più il motore quando spegni il contattore.

Puoi usare due blocchi interruttore a valore di soglia, uno per l'avanti e uno per l'indietro.

 

Ciao 

Link al commento
Condividi su altri siti

Si, per forza, hai due teleruttori da comandare, uno (avanti) lo accendi quando sei sotto il setpoint meno mezza deadband e l'altro (indietro) lo accendi quando sei sopra il setpoint più mezza deadband. La deadband è il numero di conteggi dentro ai quali il motore non lo devi far muovere e di solito deve essere superiore all'isteresi del sistema.

Link al commento
Condividi su altri siti

Ho poco tempo, e onestamente anche poca voglia, però se il programma è a schema logico e non è complicato un'occhiata posso darla, mettilo qui sulla discussione, ciao

Link al commento
Condividi su altri siti

Ora te lo invio. In pratica funziona in parte. Imposto la misura tramite un contatore: se misura > contatore incremento (Attivo Q1), se misura < contatore decremento (Attivo Q2). Il problema è quando la misura coincide. Succede che se misura = contatore Q1 e Q2 dovrebbero essere spenti invece si accendono entrambe

 

Prova Encoder.jpg

Link al commento
Condividi su altri siti

scusate, quando arrivo al fondo scala conto 7800 impulsi che corrispondono a 625 mm; quindi 1 mm corrisponde a 12,48 impulsi. Con logo utilizzo l'operazione matematica collegata al contatore per convertire gli impulsi in mm però non posso inserire valori con la virgola ma solo numeri interi. Dovrei inserire 12 o 13 ma poi in fase di avvio gli impulsi non corrisponderebbero con i mm effettivi.

Link al commento
Condividi su altri siti

Moltiplica per 10 o per 100 ed ottieni la scala in decimi o centsimi di millimetro, così non hai problemi di decimali.

Link al commento
Condividi su altri siti

  • 4 months later...

Buongiorno, ho messo in funzione il riscontro con encoder e funziona bene. L'unico problema è fare in modo che dal display io non possa inserire una cifra superiore a 600mm. E' possibile fare una cosa simile? Inoltre è possibile modificare il numero di caratteri visulaizzati nel blocco contatore sul display logo TDE? Allego di seguito il mio programma. Grazie

 

Riscontro con encoder.jpg

Link al commento
Condividi su altri siti

Ciao,un semplice sistema per creare un limite è quello di usare un contatore su cui scrivere il valore (in esempio 0/600) sulla variabile "CONTATORE",impostare in VALORE INIZIALE a 600 e i limiti a 601.L'uscita del blocco contatore sarà il valore da confrontare nel tuo programma.

                                                                                               Cattura.PNG.c75287746f2326714a922de7ef65d530.PNG

 

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...