Vai al contenuto
PLC Forum


Reset


verbaweb

Messaggi consigliati


Gianluca Caredda

Il bit TT è attivo se il timer è in fase di conteggio, ossia se le condizioni a sinistra del timer sono tutte attive e se il timer non ha finito di contare.

Quindi il bit TT si disattiva quando le condizioni di abilitazione del timer sono false. Usare l'istruzione RES non serve, in quanto con il reset viene disattivato il bit DN ed il timer riprende a contare se le sue condizioni di abilitazione sono verificate.

Ti consiglio di leggere la spiegazione dell'istruzione TON sul manuale di programmazione (o anche nella guida in linea), dove è spiegato con dettaglio il funzionamento del timer e di tutti i bit di stato relativi.

Link al commento
Condividi su altri siti

grazie,

il problema effettivamente non è quello,

il problema consiste nel fatto che quando cambio modalità di esercizio ovvero, da automatico a manuale, dei bit d'appoggio mi rimangono attivi, e Questo non mi sta bene

il bit vengono diseccitati ogni volta che finisce un ciclo di temporizzatori e funzionano, l'unica cosa che non funziona o quantomeno non sto riuscendo a programmarlo è che mi si devono diseccitare anche quando passo dalla modalità automatica a manuale

il programma per la visione + dettagliata lo potete trovare:qui

grazie mille spero tanto in un vostro aiuto!!!

Link al commento
Condividi su altri siti

Gianluca Caredda

Ciao,

il problema è legato al fatto che quando la subroutine non viene più eseguita (perchè il ciclo è in automatico), i bit dei temporizzatori (ma non solo, anche quelli soggetti a ritenuta, con comando OTL) rimangono al loro stato precedente. Quando ricommuti in Auto, ti troverai uno stato identico a quello che avevi lasciato.

Io in questi casi faccio in modo di resettare tutti i bit quando la subroutine non viene eseguita. Il modo più rapido che ho trovato consiste nel raggruppare tutti i bit relativi alla subroutine in questione in word attigue (ad es. dalla B3:5 alla B3:12), usando l'istruzione FLL 0 #B3:5 8 per porre a zero le prime 8 word a partire dalla B3:5.

Per resettare i timer puoi usare l'istruzione RES.

Link al commento
Condividi su altri siti

Gianluca Caredda

Cerco di spiegarmi meglio:

mi pare di aver capito che vorresti fare in modo che i bit di appoggio relativi al ciclo automatico vengano resettati quando commuti in modalità manuale.

Il programma che hai scritto non si conporta in questo modo perchè i PLC Allen Bradley, quando una subroutine non viene eseguita, lasciano tutti i bit nel loro ultimo stato (non li resettano).

Devi quindi essere a tu a fare in modo che, quando il Selettore Ciclo è in Manuale, tutti questi bit vengano resettati.

Puoi fare questa operazione in modo un pò asinino ma comunque funzionante, con una logica del tipo: XIC I:0.0/0 OTE B3:0/1 (ossia se il selettore non è in AUTO, poni il bit di appoggio del primo stream a zero), ripetuta per tutti i bit di appoggio. Attenzione che queste istruzioni vanno messe nella Main Routine.

Un modo più elegante consiste nel raggruppare tutti i bit di appoggio in word vicine, in modo da resettarli con un unico comando FLL (che permette ad esempio di mettere a zero tutti i bit di n word), sempre condizionato al fatto che il ciclo non sia in Automatico.

Spero di essere riuscito a spiegarmi.

Ciao

Link al commento
Condividi su altri siti

Gianluca forse è meglio usare il fll solo che, come si può ben noatre, ho delle lagune di base....

come faccio a spostare i bit b3:0/0......../12 in una word e poi fare l'fll???

grazie mille

Link al commento
Condividi su altri siti

Gianluca Caredda

Non ti funziona perchè i bit che stai resettando sono usati anche nella subroutine Manuale, che quindi non può funzionare. Puoi risolvere la cosa resettando i bit una sola volta nel momento della commutazione da Ciclo Automatico a Manuale. Ti consiglio quindi di inserire tra le condizioni del FLL anche un'istruzione One Shot (ONS) che attiva il FLL sol una volta.

Link al commento
Condividi su altri siti

:( non fungeeeeeeeeeeeeeeeeeeeeeeee :(

scusami forse sto chidendo troppo non è che potresti darmi la soluzione via email????????????????'

grazie!!!!!!

Modificato: da verbaweb
Link al commento
Condividi su altri siti

Gianluca Caredda

Spiega meglio cosa non funziona. Non abbiamo la sfera magica per capire come vorresti far funzionare il tuo programma.

Modificato: da Gianluca Caredda
Link al commento
Condividi su altri siti

quando passo da manuale ad automatico

il programma mi deve ricominciare dal primo "stream" inizio programma

e non da dove l'ho lasciato quando sono passato da automatico a manuale perche

ora come ora appena ripasso da manuale ad automatico mi ricomincia dal ciclo da dove l'ho lasciato.

Grazie mille

Modificato: da verbaweb
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...