Vai al contenuto
PLC Forum


Omron CJ1W-CT021


chinellatomarco

Messaggi consigliati

chinellatomarco

Ciao ragazzi,

volevo chiedervi una conferma su un'applicazione che devo realizzare ossia un semplice asse controllato in posizione che si ferma a seconda della quota che raggiunge (salvata in precedenza).

Ho un Plc CJ1M-CPU11 e non avendo nessun ingresso encoder mi devo prendere questa scheda. Ho letto bene il manuale e mi sono estrapolato le cose che mi servono:

Lo utilizzo come Simple counter (pin1 Off - counter1) data la semplicità del mio utilizzo per cui nelle DM dedicate non serve configurare nulla.

Collegamento PNP alimentazione encoder 24 Vdc: A - pin b9; B pin b11; Z pin b13; a8/a10/a12 a 0 Vdc

                    

 

CIO Output words Counter1:

N+2, 1° bit = open gate 0 to 1(abilita il conteggio del counter – ad ogni accensione il gate è chiuso e bisogna aprirlo), 2° bit = close gate 0 to 1; 3° bit = trasferisce un valore di preset al contatore (n+3 e n+4); 5° bit = il valore del conteggio è scritto in un registro e leggibile tramite IORD - 0 to 1;

N+2, 4° bit = reset counter  0 to 1;

CIO Input words Counter1:

N+22, N+23 (2062, 2063) = counter1 value (2 words);

N+24, 1° bit = overflow (1), no overflow (0); 2° bit = underflow (1), no underflow (0) ;3° bit = counter running/gate open (1),  counter stop/gate close (0); 6° bit = reset activated (1); 16° bit = Simple(1), circular/linear(0)

A502.04 (in caso di rotary switch su “4”) = riavvia l’unità (es dopo la correzione di un errore);

Io ho subito dopo la cpu 4 Schede ingressi 16 bit per cui il rotary switch va messo su 4 se pongo la ct021 dopo queste, giusto?

In teoria una volta abilitato il bit 1 della CIO word n+2 ossia il gate open (in questo caso 2042 giusto?) a 1 il counter1 è abilitato.

Con le CIO words n+22 e n+23 (2062 e 2063) leggo il valore del conteggio e col bit 4 della CIO word n+2 resetto il conteggio, è corretto?

Ho trovato anche l'istruzione IOWR(223) per sovrascrivere il valore di conteggio del counter1:

IOWR(223)

#1C01

D….

#00020004

#1C01 = 1C (counter1), 01 (counter value);

D…. = nuovo valore da sovrascrivere a counter1;

#00020004 = #0004 (machine number), #0002 (numero di words).

E' corretto che con questa istruzione posso forzare il valore del conteggio e metterne uno a mio piacimento?

 

Ora a PLC dovrei fare dei semplici paragoni tra il valore del conteggio e il valore da me impostato e abilitare un bit nel caso i valori corrispondano...L'unico dubbio che ho è: Le istruzioni tipo "=" o "CMP" riescono a confrontare i valori (e abilitare di conseguenza dei bit) data la velocità di cambiamento del valore dell'encoder? Tenete conto che l'asse è molto lento (2mt/min)

Spero di aver fatto tutto giusto...Vi prego non cazziatemi :-)

Grazie!!!

 

Link al commento
Condividi su altri siti


ce' chi usa tabelle di confronto o camme ( questa scheda gia dovrebbe gestirle )

io non saprei come spiegartele

qualcuno sara' in grado sicuramente

se usi il tuo metodo onde evitare di perdere il singolo ( bit ) momento quota ok

meglio se usi    =>  oppure  =<

Modificato: da gianff
Link al commento
Condividi su altri siti

Ciao chinellatomarco,

puoi usare l'istruzione CTBL che viene utilizzata per registrare una tabella di confronto e per eseguire confronti tra un valore attuale del contatore ad alta velocità ed un valore impostato.

Per maggiori informazioni fai riferimento alla guida istruzioni del CX-Programmer.

Ciao.

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