Vai al contenuto
PLC Forum


Conta impulsi Encoder


Messaggi consigliati

Inserito:

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? 


Inserita:

con l'ultima versione di logo sono i3 i4 i5 e i6

Inserita:

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. 

Inserita:

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

Inserita:

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

Inserita:

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

Inserita:

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

Inserita:

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?

Inserita:

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

Inserita:

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.

Inserita:

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 

Inserita:

quindi uso un blocco interruttore a valore di soglia per confrontare se è maggiore e uno per confrontare se è minore

Inserita:

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.

Inserita:

ti posso mandare il programma e quando hai un po' di tempo gli dai un'occhiata? Se puoi scrivimi in pm. Grazie

Inserita:

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

Inserita:

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

Inserita:

ho trovato quest'altra soluzione e sembra funzionare. 

Funzione Imposta Parametri.jpg

Inserita:

Ma hai provato in simulazione o hai collegato  l'encoder e quindi hai fatto una prova reale?

Inserita:

per ora ho provato solo in simulazione e va bene, ma oggi conto di provarlo realmente e vediamo cosa accade

Inserita:

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.

Inserita:

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

  • 4 months later...
Inserita:

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

Inserita:

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

 

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...