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 17:50] admintimer-troubleshooting [2020/07/03 15:57] (versione attuale) – modifica esterna 127.0.0.1
Linea 1: Linea 1:
 ====== Problemi nell'uso dei timer ====== ====== Problemi nell'uso dei timer ======
  
 +===== 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. 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.1517248245.txt.gz · Ultima modifica: 2020/07/03 15:58 (modifica esterna)