Vai al contenuto

Messaggi consigliati

Inserita:

domattima faccio la prova a bassa velocità sullo zelio, lo sheet dell' encoder fa pena, non c'é scritto niente...non ce altro motivo per cui lo zelio non becca lo zero, perché ripeto non abbiamo frequenze eccessive

Inserita:

oggi ho misurato l'ampiezza dell'onda quadra dello zero, agendo sull' alimentazione dell'encoder e facendo girare il motore più lentamente possibile, siamo arrivati alll'ampiezza massimq di 200 microsecondi, e non riesce a beccarla, poi ho provato con uno dei 2 canali A B, che hanno ampiezza 400 microsecondi e riuscivo a beccarli ma non riuscivo a contarli tutti a causa della frequenza.

Inserita:

ho parlato gia con loro, mi hanno detto, e poi ho verificato io stesso, che il modulo ha la predisposizione per la lettura di un encoder, gli ho spiegato il mio problema e mi hanno detto che non avrò problemi.

Inserita:

mi è arrivato il PLC in questione, conta alla grande, ha delle uscite apposite per l'encoder, sono riuscito a fare tutti i conteggi, ora mi serve un idea, perchè a me non sta venendo, io ho in uiscita un valore di quota( che corrisponde al numero di tacche dell'encoder), ora vi spiego quello che voglio fare, vorrei che a ogni tot passi mi si attivi uno stato on, avete qualche idea voi che siete di sicuro più esperti di me?

Inserita:

Beh, credo che una semplice operazione di confronto possa fare al caso tuo... Prendi il tuo valore, lo interroghi e ci fai quello che vuoi...

Giuseppe Signorella
Inserita:

ha delle uscite apposite per l'encoder,

Volevi forse dire Ingressi?

Beh, credo che una semplice operazione di confronto possa fare al caso tuo... Prendi il tuo valore, lo interroghi e ci fai quello che vuoi...

Si, ma gestisci il tutto mediante interrupt. altrimenti rischi che il tuo programma non funzioni come si deve.

Ciao

Inserita:

no pultroppo non posso mediante il confronto perche' ho un valore in continuo imcremento, quindi non posso comfrontarlo con una costante

volevo dire ingressi

Giuseppe Signorella
Inserita:

Perchè non puoi con un confronto?

Se hai un encoder connesso al tuo plc, è ovvio che hai un valore in continuo incremento. (E' questo che fa un encoder, altrimenti non si chiamerebbe encoder incrementale :lol: )

Se vuoi che ad ogni tot passi, si verifica un evento, con una semplice operazione matematica ti calcoli la successiva quaota che il tuo encoder dovrà assumere per eseguire l'operazione, ed una volta che i due valori coincidono, (Quota calcolata e quota rilevata dall'encoder) esegui la tua operazione.

Come detto nel mio precedente post, tutto ciò va eseguito mediante interrupt.

Ciao

Inserita:

mi pare di averla fatta questa prova ma non andava...avrò sbagliato la logica...

Inserita:

Di usare interrupt era volutamente sottointeso...

In pratica, al verificarsi di un determinato valore di conteggio da te impostato, il programma principale viene momentaneamente interrotto e viene richiamata la parte di codice contenente le istruzioni da eseguire nel caso di raggiungiumento del valore(interrupt), dopodiché riprende il programma principale da dove lo aveva lasciato.

Inserita:

Di usare interrupt era volutamente sottointeso...

Sempre che il plc in questione gestisca "interrupt" da parte dell'utente.

Per prima cosa il contatore veloce dovrà essere azzerato o presettato in qualche modo visto che si vuole usare una misura nota in unità ingegneristiche (mm) per il confronto ed essendo l'encoder "incrementale" l'operazione di azzeramento o preset è obbligatoria.

In questa discussione sono sempre approssimative le specifiche di funzionamento del "macchinario" da automatizzare.

Pertanto inviterei l'autore ad essere più preciso e dettagliato.

bigalex :blink:

Inserita:

devo semplicemente azionare un motore collegato a una ruota, la ruota spinge un listello di legno, quindi a me serve che la ruota fermi il listello ogni tot cm, tutto qui, non ho bisogno di resettare il contatore, piuttosto incremento sempre di un tot la variabile di confronto.

Inserita:

la logica che stavo applicando io non funziona, perchè ovviamente la variabile della quota arrivato a 4.294.967.295 ripartirà da 0, quindi bigalex ha ragione devo per forza inserire un preset nella funzione che mi sono fatto, a questo punto non dovrei avere più problemi perchè collegherò il preset all'uscita logica e prenderò due piccioni con una fava...mi metto all'opera...vi terrò aggiornati, grazie

Inserita:

alla fine ci sono riuscito...col metodo sucitato

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