Vai al contenuto
PLC Forum


TIMER TON NON FUNZIONA IN UNA FB


manuelflorio01

Messaggi consigliati

manuelflorio01

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

Link al commento
Condividi su altri siti


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.

Link al commento
Condividi su altri siti

manuelflorio01
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

Link al commento
Condividi su altri siti

dina_supertramp

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

Link al commento
Condividi su altri siti

dina_supertramp
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)

Modificato: da dina_supertramp
Link al commento
Condividi su altri siti

manuelflorio01
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?

Link al commento
Condividi su altri siti

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

Link al commento
Condividi su altri siti

manuelflorio01
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😀

Link al commento
Condividi su altri siti

dina_supertramp
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

Link al commento
Condividi su altri siti

manuelflorio01
4 minuti fa, dina_supertramp ha scritto:

Una per timer, mi raccomando ... ahaha

Sisi già fatto... 😄

 

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