Vai al contenuto
PLC Forum


Impostazioni CNT Omron


eliomacc

Messaggi consigliati

vorrei se possibile un suggerimento per impostare il valore di alcuni contatori che debbo utilizzare come timer in un programma che prevede diverse variabili , io ho impostato come preset dei contatori dei DM dove vado via via ad inserire con istruzioni MOV i valori che mi occorrono , il sistema funziona con il limite che tali impostazioni diventano effettive con un ciclo di ritardo(mi spiego meglio se io imposto CNT 1 con il valore 10 questo alla prima esecuzione dell'istruzione rimane a zero menter invece

alla successiva tutto si aggiusta)Dove ho sbagliato ?

Grazie per l'aiuto

Eliomacc

Link al commento
Condividi su altri siti


eliomacc+Dec 14 2002, 05:13 PM-->
CITAZIONE(eliomacc @ Dec 14 2002, 05:13 PM)

Scusa ma non capisco l'uso dei contatori come timers.

Nei PLC Omron i timer ed i contatori hanno in comune solo gli indirizzamenti ossia non puoi avere nello stesso programma il TIM1 e il CNT1 ma puoi avere un TIM1 e CNT2 o TIM2 e CNT1.

Con i Timer/Counter i valori impostati vanno espressi in decimi di secondo e massimo puoi contare fino a 9999.

Puoi usare una DM come valore da raggiungere es :

0.0 +-------+

--| |-----: TIM :

: 1 :

: DM0 :

+-------+

TIM1

--| |-------(100.0)

Per esempio con questo esempio l'uscita 100.0 si accendera' dopo xx

decimi di secondo impostati in DM0

Attenzione che per azzerare il valore corrente di un timer devi mettere OFF le condizioni che lo abilitano (in questo caso 0.0).

Il tempo viene incrementato da 0 fino a raggiugere il valore prefissato.

Cosa diversa sono i contatori che mantengono il conteggio in entrata e

verranno resettati solo mettendo a 1 il bit di reset o spegnendo e riaccendendo la macchina.

Volendo puoi fare delle comparazioni col valore corrente del Timer o del Counter

+-------+

--| |----: CMP :

: TIM1 : <- Legge Valore corrente (PV) del TIMER 1

: DM10 :

+-------+

Spero di esserti stato utile.

Un saluto al Forum

Link al commento
Condividi su altri siti

Grazie per la risposta ma il mio problema sorge dal fatto che ho bisogno di tempi molto lunghi perchè controllano degli essiccatori , per questo ho usato dei contatori che si decrementano con un clock della cpu .

Comunque ho risolto il problema facendo partire in modo fittizio e poi resettando il tutto un attimo prima dell'inizio del ciclo

Grazie tante Eliomacc

Link al commento
Condividi su altri siti

  • 3 years later...

Non ho ben capito cosa dovevi fare ma in una applicazione del tuo tipo ti conveniva

Utilizzare un istruzione di INC per il tempo e di CMP per attivare le uscite. In questo modo riesci a gestirti

come vuoi e ad essere più sincrono con il ciclo di scansione. Inoltre se vuoi contare tempi che arrivino a 8 cicfre BCD 999999999 sostituisci la INC con un ADDL e la CMP con CMPL che sono istruzioni in doppia WORD.

Ciao

Link al commento
Condividi su altri siti

Quando esegui la MOV devi anche lanciare un reset per il contatore associato. Solamente sul reset riporta il valore del contatore a quello di preset. Magari utilizzando una difu.

Con qualche informazione in più (magari il codice) si può dare qualche indicazione in più.

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