Vai al contenuto
PLC Forum


Encoder Con Cpm2a - Quali Istruzioni di programma?


Scavir

Messaggi consigliati

Buongiorno,

il mio è un piccolo problema…….. vorrei cominciare ad utilizzare un encoder per determinare una posizione di un tappeto.

Preciso…….. ad un certo momento devo dare lo Start al tappeto e, dopo un determinato numeri d’impulsi devo dare lo Stop.

Non pretendo una precisione estrema, so che dopo che avrò dato lo stop il tappeto per inerzia andrà oltre la corsa.

Quindi pensavo di usare un encoder tipo E6B2-CWZ5B 100P/R 0.5M con un piccolo plc CPM2A, ho letto sul manuale che gli ingressi 00 01 02 si possono settare come contatori veloci, quindi volevo collegare l’encoder fase A ing 00, fase B ing 01, e Z0 ing 02.

Quello che non riesco a capire, e come si fa a settare questi ingressi in modalità Veloce.

Purtroppo non sono molto esperto in programmazione, tendenzialmente utilizzo il plc programmandolo come se stessi utilizzandolo come una logica elettromeccanica, so anche che la fase B in questo tipo d’applicazione non mi serve, come non mi serve nemmeno l’ingresso Z dell’encoder ma, in seguito, una volta che mi sarà chiaro quali siano le istruzioni (Funzione) da usare poi riuscirò a proseguire da solo ma………. non c’è nessuno a cui possa rivolgermi che mi spieghi quali siano le istruzioni da programmare il PLC e leggendo il manuale non ho trovato un esempio pratico.

Grazie a chi potrà dare un consiglio.

Ciao,

Virginio

Dimenticavo, utilizzo CX-ONE Vers. 6.0

Link al commento
Condividi su altri siti


Leggi bene il manuale anche perchè dipende come vuoi settare gli ingressi veloci del PLC fasi differenziali, bidirezionale, incrementale,impulso e direzione,reset fase Z, reset Software ecc. non ricordo se il cx programmer 6.0 puoi settare gli ingressi veloci nelle impostazioni del PLC dal 7.0 in avanti è possibile, altrimenti devi settare i DM manualmente ricorda il plc in stop! poi spegni e riaccendi.

Ciao

Link al commento
Condividi su altri siti

Grazie,

allora l'encoder è di tipo BiDirezionale, quindi lo lascerei così anche se non girerà mai in senso contrario, mentre per il reset lo farei io con il programma dopo che a tappeto fermo mi si caricherà il pezzo.

Per il Sw dispongo anche della versione 7.3 su un portatile.

Ma cosa sono e a cosa servono i DM???

Grazie ancora,

Virginio

Link al commento
Condividi su altri siti

I DM sono locazioni di memoria retentive.

Oltre alla memorizzazione dei dati in omron ci sono particolari locazioni che consentono di settare le configurazioni del PLC. Quali e come si utilizzano sono specificate nei manuali.

In ogni caso, se in cx - programmer apri la finestra di impostazioni trovi tutto quello che ti serve per impostare il modulo cpu. Queste locazioni saranno poi settate da cx-programmer e l'operazione di configurazione risulterà per te trasparente rispetto ai DM.

Link al commento
Condividi su altri siti

Quello che non riesco a capire, e come si fa a settare questi ingressi in modalità Veloce

Da Cx-Prog, apri la finestra delle impoastazioni e seleziona "Contatore veloce". Poi trasferisci le impostazioni sul plc.

ci rinuncio, così non ci arriverò mai, probabilmente non mi sono spiegato bene

Noooo dai secondo me ce la puoi fare!!!

Ma hai valutato tra i PLC i nuovi CP1L? Hanno costi contenuti ed un set di istruzioni molto più ricco

Link al commento
Condividi su altri siti

OK, OK,

in parte ci siamo..........

sono andato su impostazioni e si è aperta la finestra............ clicco su contatori e.............. spettacolo Eccolo Là.

Bene, allora sul sottomenù della pagina fisso il reset "Fase 0 e reset software"

Mentre su Controllo contatore veloce/impulsi sincronizzatore setto "Utilizza come contatore veloce"

Mentre su Modalità Contatore "Mod. Ingresso Bidirezionale 20KHz"

E adesso come mi hai scritto vado sempre sulla stessa pagina e apro la finestroa OPZIONI il menù a tendina però la scritta Trasferisci su PLC appare Grigia e NON cliccabile, mentre invece la scritta Trasferisci DA PLC è cliccabile, penso........... forse perchè sono OnLine non me lo permette ma............... al contrario se passo OffLine diventa grigio anche l'opzione Trasferisci DA PLC. pOrC ZoZz :angry:

Sono andato a vedere i Plc CPL1, non sembrano male, farò un'eseme prestazioni/costi, magari li proverò alla prossima occasione.

Grazie Ancora,

Virginio

Link al commento
Condividi su altri siti

Ciao. Poi iniziare a provare mettendo incrementale o bidirezionale, + reset software (Vedrai poi se ti serva la fase z ), con reset software l'ingresso 0.02 lo puoi usare come un ingresso normale. Poi

- Scrivi un programma con

LD 1.00

OUT 252.00

END(01)

- Mandi dentro un programma.

- Ti metti in modalità monitor.

- Attivi la finestra di controllo

- Visualizzi l'indirizzo 248 in formato lunghezza doppia

- Visualizzi l'indirizzo booleano 252.00 (Bit di sistema plc che quando va ad on azzera il registro 248)

- Muovi l'encoder e vedrai il 248 i numeri che corrono.

- Mandando ad on 252.00 tramite ingresso 1.00 vedrai che il conteggio si azzera, Fin tanto che 252.00 riamne ad 1 il conteggio è sempre azzerato.

- La parametrizzazione Giri/encoder = mm la devi fare a manina o puoi sempre usare La ctbl(63) per farti una o + camme.. non mi spingo troppo in là.

Link al commento
Condividi su altri siti

forse perchè sono OnLine non me lo permette ma

per trasferire le impostazioni devi essre online ma prima devi mettere il plc in modalità stop.

Ciao

Link al commento
Condividi su altri siti

OK, in realtà non ho trovato il modo per mettere il PLC in stop :blink: tuttavia ho fatto trasferisci il programma al PLC poi ho chiuso salvandolo e alla riapertura le impostazioni le ha mantenute.

Per Gix

- Attivi la finestra di controllo

- Visualizzi l'indirizzo 248 in formato lunghezza doppia

- Visualizzi l'indirizzo booleano 252.00 (Bit di sistema plc che quando va ad on azzera il registro 248)

Me lo puoi spiegare per step operativi??

Ho qualche difficoltà a comprendere così

Grazie a tutti,

Virginio

Link al commento
Condividi su altri siti

Guarda questo esempio

post-207317-0-42700800-1395746669_thumb.

- Attivi la finestra di controllo

- Visualizzi l'indirizzo 248 in formato lunghezza doppia

- Visualizzi l'indirizzo booleano 252.00 (Bit di sistema plc che quando va ad on azzera il registro 248)

La finestra di controllo è quell' icona con i due occhialini (devi essere on line con il plc)

fai doppio click sul primo campo sotto la colonna indirizzo si apre una finestra, nec campo Nome/Indirizzo ci metti 248 che è il tuo contatore, nel campo formato tipo dati prova a mettere DINT poi click su ok dovresti visualizzare il valore del contatore a 32 bit (doppia lunghezza) allo stesso modo puoi visualizzare lo stato dei bit esempio il 252.00 solo che devi mettere BOOL nel campo Nome/Indirizzo

Spero di non averti fatto troppa confusione

Ciao

Modificato: da bele
Link al commento
Condividi su altri siti

Siiiiiiiiiiiiiii,

ho fatto alcune prove ma............ mi da un errore come si vede nel file allegato.

Invece con l'ingresso che dovrebba azzerare non si azzera ma il conteggio mi pare vada all'indietro.

mentre il 249 passa da -4xxx a 0

Una cosa che non ho detto è che purtroppo l'encoder mi arriverà, se tutto va bene il 5 novembre in questo momento sto lavorando a Mano.

Grazie,

Virginio

Link al commento
Condividi su altri siti

.....Come hai scriito quel flag p_on....???

l'errore secondo me sta li..

Premi C

appare nuovo contatto

sulla finestra premi la freccia e scegli il flag sempre on (p_on)..

saluti

Link al commento
Condividi su altri siti

e sbagliata impostazione della funzione move, come hai fatto tu Muovi il canale 21 dentro al contatore veloce 248 così non può funzionare devi eventualmente fare viceversa muovere il contatore veloce dentro al canale 21 dentro al 248, se non hai l' encoder non riesci ad incrementare il 248/249.

Ciao

Link al commento
Condividi su altri siti

Ciao........

Porc Z zz [at]#

E' vero che Pir a

Va bè, ho sistemato il tutto o almeno lo spero.

Grazie, nell'allegato che ho messo ora è tutto ok ma, adesso se non sbaglio devo comparare il dato dell'encoder per eseguire un'azione............. o sbaglio??

Ciao,

Virginio

Link al commento
Condividi su altri siti

se non sbaglio devo comparare il dato dell'encoder per eseguire un'azione............. o sbaglio??

Direi che è meglio, così vedi fisicamente il contatore girare, considera che se utilizzi il contatore a fasi differenziale avrai il numero impulsi giro dell' encoder moltiplicato x 4 cioè se l' encoder è 1000 impulsi giro il contatore legge i quattro fronti dei due canali A e B quindi il contatore incrementa 4000 impulsi giro.

ciao

Link al commento
Condividi su altri siti

Bè, pensavo fosse una cosa semplice, invece è un gran casino................

Ho collegato l'encoder e.............. effettivamente conta ma cosa non mi è chiaro.

Un giro encoder = 100 impulsi ma............. non è così, non solo ma non sono nemmeno 400.

Allora il canale di origine 249 funge così:

La destinazione (DM100)se giro l'encoder in senso orario dopo che passa lo zero encoder segna 0 in antiorario dopo lo zero encoder va a -4096

Il canale di origine 248 conta ma da 0 a 257 (in realtà è lineare sino a 153 poi passa direttamente a 256, 257 e poi si azzera) ma se l'encoder 1giro sono 100 impulsi come fa???

Il la destinazione (DM100)se giro l'encoder in senso orario dopo che passa lo zero encoder segna 0 in antiorario dopo lo zero encoder va a -4096

Ho provato anche a scollegare l'uscita dello 0 encoder che avevo collegato sull'ingresso 00.02 e facendo ruotare l'encoder e simulando con un cavo lo 0 si azzera quando vuole lui (come se sapesse dove dovrebbe essere lo 0 meccanico dell'encoder)

Personalmente pensavo che, dopo averlo azzerato facendolo girare anche per più giri ma, arrivato al N° che voglio io, fermo il motore e semplicemente lo resetto nuovamente.

E' una cosa così banale ma.......... niente da fare UFFA :angry:

Ciao,

Virginio

Link al commento
Condividi su altri siti

Ciao.

Dunque ti 6 letto sto manule?

per il dwnld parti

da qui

Un giro encoder = 100 impulsi ma............. non è co[cut]...er segna 0 in antiorario dopo lo zero encoder va a -4096

Scrissi:

- Visualizzi l'indirizzo 248 in formato lunghezza doppia

- Visualizzi l'indirizzo booleano 252.00 (Bit di sistema plc che quando va ad on azzera il registro 248)

così che dice. Non ricordo a memoria il conteggio in lunghezza doppia fino a quando va, ma devi prenderlo in lunghezza doppia, a meno che non riesci a rimanere nel registro singolo 248 allora da li lo vedi. In un senso crese nell'altro decresce.

Uhm. Tipo di encoder !

collegamenti elettrici Fase A B su 0.00, 0.01 se invertirti inverte il conteggio.

Personalmente pensavo che, dopo averlo azzerato facendolo girare anche per più giri ma, arrivato al N° che voglio io, fermo il motore e semplicemente lo resetto nuovamente.

scrissi

La parametrizzazione Giri/encoder = mm la devi fare a manina.
.

Segui gli esempi sul manuale, tieni conto che l'ultimo encoder su cpm2a l'ho installato circa 20 mesi fa ed ora per le info che ti dò, sto andando a memoria.

Comunque io per il set point della quota da raggiungere ho sempre preferito comparare il valore del doppio registro "248 & 249", usando la Ctbl o una volgare comparazione a doppia lunghezza.

Ciao

Link al commento
Condividi su altri siti

Ok Ok,

ho fatto e nell'allegato si vede tutto ma.......... perchè continua a contare più di 150 se l'encoder conta 100 perchè, perchè, perche.

E' tutto illogico..................

ma non era più semplice una funzione????

Ingresso a, ingresso b, ingresso 0(z) ed un semplice conta?????

Poi delle funzioni stupide tipo "if xx => 56, on out 10.01"

Sarà che sono abituato con excel ma sto sistema non lo comprendo e se non lo comprendo, il manuale non mi aiuta....... a capire.

il 248 cosa caspita è tecnicamente il 252 cos'è, il DM100 cosè? se non comprendo ogni cosa non posso capire tutto il resto, Purtroppo.

Ciao,

Virginio

Link al commento
Condividi su altri siti

ciao.

E' tutto illogico..................

Eh.. comandano sempre le macchine! noi ci dobbiamo adattare alle loro abitudini.

ma non era più semplice una funzione????

Qui è ancora meglio perchè (senza nessuna funzione) e dopo la configurazione l'encoder scrive nel 248 + 249 gli impulsi che tu hai scelto in fase di configurazione e che hai mandato dentro con le impostazioni assieme al programma.

A proposito non si era detto:

- collegamenti elettrici Fase A B su 0.00, 0.01 se invertirti inverte il conteggio.

Allora che ci fa!

LD 0.01

OUT 252.00 ???

Allora TOGLI da ste 2 righe di software 0.01.

Controlliamo il collegamento fase Encoder _ Ingressi plc:

Fase A, su 0.00| Fase B su 0.01.

Dopo una nuova accensione "248+249" vale 0.

Quando "248 + 249"va in overFlow ricomincia da capo.

252.00 e un flag (bit interno) che azzera il conteggio che sta in "248 + 249!"

Devi decidere nelle impostazioni se vuoi azzerare il conteggio via software .

Se così è allora mandi ad uno il bit 252.00 con una memoria o con un ingresso come + gradisci ma non PUOI SCRIVERE 0.01= 252.00 perchè ogni volta che passa la fase B ti azzera il conteggio quindi se usi l'encoder nelle righe di sofware non troverai mai l'ingresso 0.00 o 0.01 perchè se li smappa già lui per scrivere nel 248+249.

Buona continuazione. Ciao

Link al commento
Condividi su altri siti

Ciao e grazie, allora fase A encoder su ing 0.00, fase B encoder su 0.01 e fase 0Z su ing 0.02

riavvio il PLC è tutto a zero, faccio ruotare l'encoder, il conteggio sale fino a 153 e poi passa direttamente a 253 l'impulso di 0 passa ma non si resetta niente.............

E' corretta l'impostazione dell'ingresso???

Reset contatore > fase Z e reset software.

Controllo contatore veloce/impulsi sincronizzati > Utilizza come contatore veloce

Modalità cont. >Modalità ingresso BiDirezionale 20KHz

P.S.: anche se utilizzo un'altro ingresso del plc es.: 0.03 e manualmente lo mando ON non si resetta, casualmente con lui ON se ruoto e lo passo ad off si resetta il conteggio.

:angry::angry::angry:

Link al commento
Condividi su altri siti

Ciao, e grazie,

no non l'ho provata e poi proverò, anche perchè ho scollegato l'encoder per provarlo con uno Stupido contatore della Omron H7CX e............. spettacolo dei spettacoli, senza tante storie funziona, conta avanti e anche indietro e funfiona pure il reset, senza nessun problema se non quello di fare 2 settaggi stupidi..................... che nervi invece se lo collego al PLC non va come vorrei........

Più tardi riprovo altrimenti lascio perdere e smonto tutto........

Ciao,

Virginio

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