Strumenti Utente

Strumenti Sito


timer-troubleshooting

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
timer-troubleshooting [2018/01/29 18:30] admintimer-troubleshooting [2020/07/03 15:57] (versione attuale) – modifica esterna 127.0.0.1
Linea 3: Linea 3:
 ===== Timer e variabili dei DB associati ===== ===== Timer e variabili dei DB associati =====
  
-Nell'utilizzo dei timer e delle variabili ad essi associate nei rispettivi blocchi dati (DB) può capitare di osservare un comportamento apparentemente sbagliato e imprevisto. +Nell'utilizzo dei timer e delle variabili ad essi associate nei rispettivi blocchi dati (DB) può capitare di osservare un comportamento apparentemente sbagliato e imprevisto. Consideriamo ad esempio il programma in figura: 
 + 
 +{{::timer_troubleshooting.png|comportamento imprevisto del timer}}  
 + 
 +Il timer TON è abilitato da un contatto normalmente chiuso comandato dalla variabile Q del blocco dati del timer. Questa variabile assume il valore logico 1 quando il timer esaurisce il conteggio quindi il timer risulta inizialmente abilitato. Quanto il tempo trascorso ET raggiunge il tempo preimpostato PV l'uscita viene attivata e sarebbe logico aspettarsi: 
 +  *che il timer si disattivi 
 +  *che il contatto NA del secondo segmento comandato dalla variabile Q del DB del timer permetta di settare l'uscita Q0.0 
 + 
 +Questo invece non avviene: il timer ricomincia il conteggio e l'uscita non viene settata.  
 + 
 +Questa situazione si verifica perché la variabile Q del DB del timer viene aggiornata più volte nello stesso ciclo e quando si arriva al secondo segmento il suo valore, che da 0 è passato a 1, è già tornato a 0. 
 + 
 +Questo comportamento è descritto nel manuale di sistema alla voce "Programmazione del temporizzatore" e, nonostante produca un comportamento imprevisto, rispecchia le specifiche dei timer IEC standard (non è un bug). Per evitare questo tipo di comportamento è sufficiente utilizzare l'uscita del timer per pilotare una bobina e associare i contatti a questa bobina, come in figura: 
 + 
 +{{::timer_troubleshooting_2.png|comportamento normale del timer}}
timer-troubleshooting.1517250653.txt.gz · Ultima modifica: 2020/07/03 15:58 (modifica esterna)