Jump to content

I Timer "serie 7"


Recommended Posts

Posted

Salve a tutti,

volevo in qualche maniera sondare i colleghi del forum circa l'utilizzo o meno dei timer "serie 7", cioè quelli che si utilizzavano nel vecchio PL7-3, ora che in PL7 Pro imperversano i nuovi TM.

Io personalmente utilizzo solo i timer vecchia serie per la loro duttilità, la comodità di avere due uscite distinte, e soprattutto l'ingresso di enable per l'arresto momentaneo della temporizzazione.

Continuo a trovarmi talmente bene che dalla configurazione software, molte volte, i timer nuovi li levo proprio riservando la loro memoria per altri utilizzi.

Per tutte le funzioni di temporizzazione tendenzialmente adopero i suddetti timer serie 7, i monostabili e se proprio mi trovo in ristrettezze o situazioni ambigue utilizzo delle word.

Voi? Che fate?

Claudio Monti
Posted

Io non li ho mai usati (quelli della serie 7)...

e solitamente uso poco anche i TM.

Quando devo fare cose un po' particolari (tipo l'arresto momentaneo, ecc...) sono abituato a scrivere un po' di codice per l'incremento di MW o MD (cosi' non sono limitato al valore 9999).

Non so a cosa ti riferisci x le due uscite distinte... qual'e' la loro funzione?

Se devo attivare 2 o piu' stati in base al valore del timer faccio semplicemente una comparazione con il TM.V... cosi' come con i contatori.

Cristina Fantoni
Posted
Io non li ho mai usati (quelli della serie 7)...

e solitamente uso poco anche i TM.

Quando devo fare cose un po' particolari (tipo l'arresto momentaneo, ecc...) sono abituato a scrivere un po' di codice per l'incremento di MW o MD (cosi' non sono limitato al valore 9999).

Idem: limito l'uso dei TM al minimo, utilizzo piu' spesso i merker di clock con qualche riga di codice, compatibilmente con l'applicazione ;)

:wub:

Posted (edited)

Chiaro, chiarissimo...

uso anch'io word o double word per effettuare conteggi, chiaramente utilizzando un apposito clock preventivamente implementato.

I timer li utilizzo in determinate parti di programma ma per ragioni varie.

I serie 7, giusto per fare chiarezza, hanno un ingresso di %Tx.E:"enable al conteggio" ed un ingresso di %Tx.C:"controllo conteggio".

Se entrambi gli input sono alti il timer conteggia. Se l'input di controllo va basso, il timer sospende il timing al valore raggiunto. Il reset del conteggio si effettua mandando basso l'input di enable. Le uscite sono, %T.R, attiva durante la temporizzazione, e %T.D attiva al termine della temporizzazione. Particolarità rispetto ai nuovi timer, questi contano all'indietro (da %t.p verso 0).

E' vero che un qualsiasi blocco FB è "sostituibile" con del codice ma ho posto la domanda in quanto, già memore dell'efficacia dei "serie 7", vedevo un po' superflua la "novità" dei %TM. Ma a questo punto penso sia un'uniformità richiesta dalla normativa IEC sui software di programmazione.

Edited by micheleb
Claudio Monti
Posted
Ma a questo punto penso sia un'uniformità richiesta dalla normativa IEC sui software di programmazione

Sicuramente, anche le tipologie TON, TOF e TP sono richieste dalla IEC

Stefano Sormanni
Posted

Io ne uso spesso di %TM sia come TON, TOFF, che %TP.... dato che tutti i miei allarmi sono ritardati spesso mi trovo con più di 200 timer utilizzati....

Non setto mai il preset del timer sul PL7, ma direttamente su una Word così ho la possibilità di impostarlo a piacere...

Posted

idem,

utilizzo timer con preset appoggiato su word ed impostabile da tastiera.

I timer serie 7 non li uso mai.

ciao

Posted

E' interessante comunque vedere che c'è chi fa uso massiccio degli FB di PL7 e come altri, invece, ne evitino l'impiego.

Personalmente limito l'utilizzo ai soli %T (serie 7) ed al massimo agli %MN qualora avessi bisogno di generare un impulso. Gli altri blocchi (%C, %R, i drums e quant'altro) non li utilizzo...

Posted

sormanni se hai 200 allarmi ed usi 200 timer immagino che avrai almeno 200 righe d'istruzione... Non credi che sia meglio indicizzare e non usare tutti quei timer??

  • 1 year later...
Posted

Buongiorno.

Inizio oggi a scoprire il mondo plc Schneider: mi aggancio alla discussione per chidervi alcuni chiarimenti:

mentre i timet serie 7 o TM sono limitati (se non sbaglio imposto il numero nella configurazione hardware

del progetto PL7 Pro), i timer realizzati tramite codice sono infiniti o comunque limitati dalla sola memoria

a disposizione? Mi spiego: Claudio Monti dice:

Io non li ho mai usati (quelli della serie 7)... e solitamente uso poco anche i TM.

Quando devo fare cose un po' particolari (tipo l'arresto momentaneo, ecc...) sono abituato a scrivere un po'

di codice per l'incremento di MW o MD (cosi' non sono limitato al valore 9999).

Ma questo come si può fare? Cioè posso crearmi un mio timer in un blocco in linguaggio IL e renderlo parametrico

in modo da poterlo richiamare quante volte voglio? Insomma, come i classici FC della Siemens? Grazie 1000 per

qualsiasi dritta.

Ciao a tutti!

Claudio Monti
Posted
Ma questo come si può fare? Cioè posso crearmi un mio timer in un blocco in linguaggio IL e renderlo parametrico

in modo da poterlo richiamare quante volte voglio?

Si', puoi fare anche cosi'... c'e' sempre la limitazione di memoria da considerare!

Ti crei un DFB con un timer interno (o una routine che ti controlla gli allarmi e prevedi la temporizzazione) e crei tante istanze quante te ne occorrono.

Oppure, come dicevo in precedenza, ti crei un timer sfruttando le Word, es:

%M6:=%S6;  (*Appoggio per clock da 1 secondo*)
IF (tua condizione) AND RE %M6 THEN

Claudio Monti
Posted (edited)
Ma questo come si può fare? Cioè posso crearmi un mio timer in un blocco in linguaggio IL e renderlo parametrico

in modo da poterlo richiamare quante volte voglio?

Si', puoi fare anche cosi'... c'e' sempre la limitazione di memoria da considerare!

Ti crei un DFB con un timer interno (o una routine che ti controlla gli allarmi e prevedi la temporizzazione) e crei tante istanze quante te ne occorrono.

Oppure, come dicevo in precedenza, ti crei un timer sfruttando le Word, es:

%M6:=%S6;  (*Appoggio per clock da 1 secondo*)
IF (tua condizione) AND RE %M6 AND %MW0 < valore di riferimento THEN
   INC %MW0;
ELSIF %MW0>= valore di riferimento THEN
   questa e' la condizione "temporizzata", fai cio' che ti pare;
   ricordati di azzerarla al mancare della condizione;
END_IF;

Edited by Claudio Monti
Posted

Grazie Claudio per l'esempio: funziona alla perfezione!

Per cortesia, avresti qualche documento (magari .pdf) riguardante

la creazione dei DFB? In Siemens vi erano certe limitazioni e/o

accorgimenti da prestare quando un timer veniva utilizzato

in modo parametrico e presumo che anche Schneider richieda

qualche accortezza all'inizio. Grazie ancora e buon lavoro!

Claudio Monti
Posted

Mi sembra che all'interno dei DBF tu non possa usare i %TM... come i %C, %MN ecc...

Pero' puoi sempre crearti un DFB dove all'interno ti gestisci i timer come ti ho spiegato sopra ;)

Per la documentazione sui DFB c'e' qualcosa sull'. online di PL7pro: cerca "Blocco funzione DFB", l'importante e' mettersi li' a testa bassa, provare e riprovare, fare dei test ed ottimizzare il risultato... buon lavoro!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...