Vai al contenuto
PLC Forum


Cp1h-x Encoder Letture Multiple


gianff

Messaggi consigliati

dovrei tramite plc cp1h-x e encoder 0

eseguire letture di spostamento di vari pezzi su di un trasportatore

l'encoder aumenta continuamente

a un carto punto arriva un pezzo lo rilevo

da qui dovrei in base all'encoder portarlo ad ina posizione xx..

ma poi ne arriva un altro e ancora sto misurando il primo ?

altro problema

l'encoder prima o poi va azzerato

quindi dovevo arrivare a 2000 e l'encoder riparte da 0 ?

in poche parole con encoder in movimento dovrei eseguire vari tratti di misure ?

come si aggangia un encoder lo si azzera e si rileva lo spostamento

per una volta ok

ma per piu volte in sequenza ?

se ogni volta azzero le misure in corso diventano superiori ?

in poche parole e' un prelivo al volo

Modificato: da gianff
Link al commento
Condividi su altri siti


Non ho capito bene cosa devi fare.

Tu hai l'oggetto sul nastro, lo rilevi in posizione yyy, e cosa succede quando raggiunge la posizione xx?

Io ho fatto un'applicazione di controllo flaconi su un nastro trasportatore con telecamere. Se il flacone era da scartare, memorizzavo in un buffer il valore di encoder che avrei nel momento di azionare la paletta scarto (facendo la somma della posizione encoder attuale al momento del rilevamento più la distanza in impulsi tra punto di rilevamento e paletta di scarto). Il buffer era a 5 valori, poiché capitavano fino a 5 flaconi rilevati prima che il primo raggiungesse la posizione di scarto.

Lavoro tutto in impulsi per evitare l'accumulo degli errori di arrotondamento nel calcolo della posizione.

Azzeravo l'encoder solo all'accensione, dato che il contatore mi garantisce 4 miliardi di impulsi, che erano pari a circa 1875 ore, cioè circa 78 giorni. E sicuramente almeno una volta a settimana spengono tutto...

Link al commento
Condividi su altri siti

dovrei proprio fare una specie di scarto

i pezzi avanzano continuamente dopo essere stati pesati

( da qui parte il rilevamento peso ok) encoder xxx

quindi li debbo scaricare al momento giusto varie posizioni in base all'encoder

non esiste il modo di incrementare una dm partendo da zero in base all'encoder

ogni pezzo avebbe il suo conteggio e la sua misura che dipende dal peso (posizione di scarico)

adesso lo faccio con contatore normale leggendo una fase dell'encoder

ma e' a rischio e debbo andare piano + encoder a bassa risoluzione

se non sbaglio si usa nei sitemi di taglio al volo in continuo

Link al commento
Condividi su altri siti

E' più o meno la mia applicazione. Vedrò di farti un esempio.

Sostanzialmente consiglio di usare l'istruzione FIFO (first in first out) per memorizzare le quote di scarico.

Oppure un buffer per ogni posizione di scarico, più comodo se sono poche e con poca distanza.

Utilizza tutte quote in impulsi per evitare accumuli di errore.

Avrai due routine, una che carica il buffer con le quote di scarico, in base alla pesata.

L'altra interroga le posizioni memorizzate nel buffer ogni tot tempo (dipendente dalla velocità del nastro) per verificare se hai un oggetto da scaricare in posizione.

Non so come fare a farlo a parole, vedrò se ci posso lavorare in questi giorni.

Quante posizioni di scarico hai? Quanti oggetti, nella peggiore delle ipotesi, avrai sul nastro tra la posizione di peso e quelle di scarico?

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