eliomacc Inserito: 14 dicembre 2002 Segnala Share Inserito: 14 dicembre 2002 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 More sharing options...
ifachsoftware Inserita: 16 dicembre 2002 Segnala Share Inserita: 16 dicembre 2002 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 DM0Attenzione 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 More sharing options...
eliomacc Inserita: 16 dicembre 2002 Autore Segnala Share Inserita: 16 dicembre 2002 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 More sharing options...
Dario Valeri Inserita: 16 dicembre 2002 Segnala Share Inserita: 16 dicembre 2002 ciaosi infatti per caricare realmente il contatore devi anche resettarlodario Link al commento Condividi su altri siti More sharing options...
bonibellid Inserita: 15 aprile 2006 Segnala Share Inserita: 15 aprile 2006 Non ho ben capito cosa dovevi fare ma in una applicazione del tuo tipo ti convenivaUtilizzare un istruzione di INC per il tempo e di CMP per attivare le uscite. In questo modo riesci a gestirticome 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 More sharing options...
bitstop Inserita: 15 aprile 2006 Segnala Share Inserita: 15 aprile 2006 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 More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora