Jump to content
PLC Forum


TIMER TON NON FUNZIONA IN UNA FB


Recommended Posts

manuelflorio01
Posted

Buongiorno a tutti,

ho riscontrato un problema sul mio programma, in poche parole in una FB ho utilizzato dei timer con ritardo all'inserzione (TON) e quando hanno il bit in ingresso che li dovrebbe far iniziare a contare, loro rimangono a 0. 

Vi allego foto di uno dei segmenti

C'è una possibile soluzione?

ton_non_funziona.png


Posted

Sei sicuro che l'istanza del timer sia chiamata una sola volta?

Sei sicuro che il timer veda il fronte da on off? Magari rlc è a 1 già alla prima scansione.

manuelflorio01
Posted
6 minuti fa, STEU ha scritto:

Sei sicuro che l'istanza del timer sia chiamata una sola volta?

Sei sicuro che il timer veda il fronte da on off? Magari rlc è a 1 già alla prima scansione.

La DB del timer viene chiamata più volte perché lo utilizzo in una FB, quindi sia per il Gruppo 1 che per il Gruppo 2

Il fronte da off a on sono sicuro che lo vede

dina_supertramp
Posted

Consiglio, se usi timer dentro gli FB istanziali dentro l'FB.
Gli FB nascono per inglobare tutto al loro interno e se devi parlare con qualcosa fuori dall'FB utilizzi le apposite variabili IN/OUT dell'FB.
Non usare il DB5 come istanza del timer (DB esterno all'FB).
Nella tabella delle variabili dell'FB, sezione STATIC, dichiara li il DB d'istanza del timer.

Quasi sicuramente stai usando il DB5 d'istanza del timer da qualche altra parte come suggerito da @STEU

dina_supertramp
Posted (edited)
10 minuti fa, manuelflorio01 ha scritto:

La DB del timer viene chiamata più volte perché lo utilizzo in una FB, quindi sia per il Gruppo 1 che per il Gruppo 2

 

What is the difference between an instance data block and a global data block and ... - ID: 15360455 - Industry Support Siemens

Puoi avere mille timer, ma dovrai avere mille DB d'istanza, uno cad.timer.
Timer1, DB1
Timer2, DB2
Timer3, DB3


Puoi avere un FB, e avere mille DB d'istanze dell'FB, ma l'istanza dovrà essere richiamata univocamente
FB "Pompa", DB100 (dati pompa carico)
FB "Pompa"; DB101 (dati pompa scarico, uguale a quella di carico ma con velocità diverse)

Edited by dina_supertramp
manuelflorio01
Posted
14 minuti fa, STEU ha scritto:

Sei sicuro che l'istanza del timer sia chiamata una sola volta?

Sei sicuro che il timer veda il fronte da on off? Magari rlc è a 1 già alla prima scansione.

Quindi devo usare delle variabili interne della FB? ad esempio le static?

dina_supertramp
Posted
1 minuto fa, manuelflorio01 ha scritto:

Quindi devo usare delle variabili interne della FB? ad esempio le static?

E' buona norma, ma non è la causa del tuo errore, puoi continuare ad usare DB esterni all'FB, non ha senso, ma puoi.

La cause dell'errore è il fatto che hai usato lo stesso DB d'istanza su due differenti timer.

manuelflorio01
Posted
1 minuto fa, dina_supertramp ha scritto:

E' buona norma, ma non è la causa del tuo errore, puoi continuare ad usare DB esterni all'FB, non ha senso, ma puoi.

La cause dell'errore è il fatto che hai usato lo stesso DB d'istanza su due differenti timer.

Perfetto mi sono creato una variabile static IEC_Timer e ora funziona perfettamente.

Grazie mille😀

dina_supertramp
Posted
2 minuti fa, manuelflorio01 ha scritto:

Perfetto mi sono creato una variabile static IEC_Timer e ora funziona perfettamente.

Grazie mille😀

Una per timer, mi raccomando ... ahaha

manuelflorio01
Posted
4 minuti fa, dina_supertramp ha scritto:

Una per timer, mi raccomando ... ahaha

Sisi già fatto... 😄

 

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