manuelflorio01 Posted March 6, 2024 Report Posted March 6, 2024 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?
STEU Posted March 6, 2024 Report Posted March 6, 2024 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 March 6, 2024 Author Report Posted March 6, 2024 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 March 6, 2024 Report Posted March 6, 2024 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 March 6, 2024 Report Posted March 6, 2024 (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 March 6, 2024 by dina_supertramp
manuelflorio01 Posted March 6, 2024 Author Report Posted March 6, 2024 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 March 6, 2024 Report Posted March 6, 2024 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 March 6, 2024 Author Report Posted March 6, 2024 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 March 6, 2024 Report Posted March 6, 2024 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 March 6, 2024 Author Report Posted March 6, 2024 4 minuti fa, dina_supertramp ha scritto: Una per timer, mi raccomando ... ahaha Sisi già fatto... 😄
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now