Vai al contenuto
PLC Forum


Programmazione Encoder - Encoder e loro gestione


at404

Messaggi consigliati

Salve a tutti, sono nuovo ed ho un problema.....

Ho un CPM2A e ho colegato un encoder incrementale utilizzato con gli ingressi a contatori veloci.

Sono riuscito a vedere i valori nelle zone 248 e 249 IR ed effetture l'azzeramento con il flag 252.00

Le aree di memoria contengono un massimo FFFF e quindi al superare di questo numero mi scrive i successivi nella Word successiva.

Se io volessi ridurre la grandezza del numero ad una sola Word per poterlo meglio gestire e quindi ridurre la precisione di lettura che istruzioni dovrei usare ?

DIV (dividere) o SHIFT (spostare i bit delle WORD)

è corretto leggere direttamente la 248 e 249, visto che vengono azzerati ad ogni spegnimento del plc e quindi sono obbligato ad un azzeramento ad ogni spegnimento?

Grazie a tutti....

Link al commento
Condividi su altri siti


Ciao. Il valore è detto in gergo in 'doppia lunghezza'. Per gestirlo usa semplicemente tutte le istruzioni in doppia lunghezza tipo ADDL, CMPL, MULL ecc non è necessario ridurlo ad una word! Anche perchè perderesti la possibilità di gestirlo con istruzioni dedicate tipo la CTBL.... Per settare un valore diverso da zero all'accensione del PLC devi utilizzare l'istruzione INI con i dati 0,2, e il primo di due DM nei quali è presente il valore che vuoi impostare (magari quello copiato prima dello spegnimento dai canali 248 e 249 con una MOVL. Spero di essere stato d'aiuto. :rolleyes:

Ciao!

Link al commento
Condividi su altri siti

Ti ringrazio per la risposta,

Ma il CPM2A non supporta il set esteso per il confronto e la copia di 2 word alla volta,

Per semplicità di collegamento con la supervisione e per le molte operazioni che devo andare a fare sopra a questo encoder preferire lavorare con un a sola Word.

Con 2 Word il programma per la fermata in prossimità del punto di arrivo (+-10%) diverrebbe più complicato e avendo 10 posizioni diverse vorrei evitare di fare uno sproloquio di codice

Grazie ancora e ciao

Link al commento
Condividi su altri siti

ok, con la Xfer si può fare, ma se da remoto invii una aggiornamento ad una variabile, e ne aggiorno 1 alla volta (perchè l'aggiornamento è così .... ) c'è il rischio (la certezza) che il programma veda una delle 2 variabili cambiata, la macchina si muove e mentre si muove gli arriva il secondo valore di aggiornamento che obbliga la cmp a rivalutare la direzione di movimento. Si potrebbe mettere un flag che ablita l'esecuzione del comando.....

Ma resto dell'idea TUTTO QUELLO CHE NON C'E' NON SI ROMPE

Comunque con le istruzioni che mi avete dato sono riuscito a completare il programma vorrei qualche esplicazione sul funzionamento dell CTBL PRV BCMP perchè le vedo comaprire in molti programmi per la gestione degli encoder e forse potrebbero tornarmi utili il solo problema che la guida in linea non lascia trasparire granchè sul loro funzionamento e scopo finale.....

ciao a tutti

Link al commento
Condividi su altri siti

Ciao se vai sul sito Omron ti puoi scaricare il manuale di programmazione completo in italiano della serie CPM1 e 2.

Nelle varie sezioni vengono trattati INterrupt,ingressia conteggio veloce,uscite a treno di impulsi ecc.

Io l'ho trovato molto utile.....

Link al commento
Condividi su altri siti

Il manuale di programmazione l'ho mandato al forum, penso che molto presto lo puoi scaricare anche nella sezione "Archivio files - OMRON PLC"

Saluti

Link al commento
Condividi su altri siti

Ho letto il manuale, ma non essendo un addetto ai lavori ho avuto qualche problemino....

SE dovessi fare un confronto con l'encoder per potermi fermare dovrei usare una percentuale di errore

(non penso che il motore riesca fermarsi e così anche la meccanica in tempo zero) che istruzione posso usare

apparte quella di sommare il valore di arrotondamento e verificare se è MAggiore di e quindi fermarsi .... ???

Non c'è qualcosa di meglio per gestire la cosa???

Grazie a tutti e ciao

Link al commento
Condividi su altri siti

Puoi usare l'istruzione ZCP (o ZCPL se il numero è a doppio canale)

gli devi fornire come operandi un limite superiore e uno inferiore

e lei ti risponde con i flag di minore, maggiore o uguale

ciao

Link al commento
Condividi su altri siti

Se per fermarti devi fare una rampa di decelerazione con il CPM2 non puoi far altro che costriurti qualcosa che in base all'avvicinamento del punto di stop cominci a decelerare; altrimenti dovresti passare al CJ o CP1H e poi potremmo rivedere il tutto con istrizioni o FB molto più potenti di quelle del CPM2.

Saluti

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