Questo blocco funzione esegue la temporizzazione sulla attivazione, attivando l’ingresso IN inizia il conteggio e dopo il tempo definito PT si attiva l’uscita Q. Sulla uscita ET viene ritornato il tempo trascorso dalla attivazione dell’ingresso.
Disattivando l’ingresso IN l’uscita Q si disattiva istantaneamente ed il valore di tempo su uscita ET si azzera.
Se l’ingresso IN è attivo per un tempo inferiore al tempo impostato in PT non si ha attivazione uscita Q.

Sostituisce eTON
Gli oggetti obsoleti sono inseriti nella libreria eLLabObsoleteLib fare riferimento al relativo manuale ed al manuale programmazione in formato pdf.
Sostituisce il FB eTON modificando il tipo di PT ed ET da UDINT a TIME.
// La precedente dichiarazione:
OnDelay(IN:=LPBlink, PT:=500); //On time delay
// Diventa:
OnDelay(IN:=LPBlink, PT:=T#500ms); //On time delay
Approfondimenti
- In questo topic sono riportate informazioni sul formato TIME
Descrizione
IN (BOOL) Ingresso timer, attivandolo inizia il conteggio e dopo il tempo definito in PT, si attiva l’uscita Q. Disattivandolo l’uscita Q si disattiva immediatamente ed il tempo in uscita ET si azzera.
PT (TIME) Preset tempo, definisce il tempo di ritardo dalla attivazione dell’ingresso IN alla attivazione dell’uscita Q.
Q (BOOL) Uscita timer, si attiva dopo il tempo definito in PT dalla attivazione dell’ingresso IN e si disattiva su disattivazione dell’ingresso.
ET (TIME) Tempo timer, inizia conteggio da attivazione ingresso IN, raggiunto tempo impostato in PT si arresta conteggio. Si azzera su disattivazione ingresso IN.

Esempi
Come utilizzare gli esempi.
Riportiamo un esempio che gestisce il lampeggio della variabile LPBlink, sono utilizzati 2 timers uno per determinare il tempo in cui la variabile è spenta (Settato ad 1 secondo) ed uno per determinare il tempo in cui la variabile è accesa (Settato a 100 mS).
LogicLab (Ptp115, LD_TON)
PROGRAM LD_eTON
VAR
LPBlink : BOOL; (* Blink lamp *)
OnDelay : TON; (* On time delay *)
OffDelay : TON; (* Off time delay *)
END_VAR

LogicLab (Ptp115, IL_TON)
PROGRAM IL_TON
VAR
LPBlink : BOOL; (* Blink lamp *)
OnDelay : TON; (* On time delay *)
OffDelay : TON; (* Off time delay *)
END_VAR
(* ************************************************************************** *)
(* PROGRAM "IL_TON" *)
(* ************************************************************************** *)
(* This program manages the blink of a variable. *)
(* ------------------------------------------------------------------------- *)
(* ---------------------------------------------------------------------- *)
(* BLINK VARIABLE *)
(* ---------------------------------------------------------------------- *)
LDN LPBlink (* Blink lamp *)
ST OffDelay.IN
LD T#1s
ST OffDelay.PT (* Set the delay time *)
CAL OffDelay (* Call the function block *)
LD OffDelay.Q
S LPBlink (* Blink lamp *)
LD LPBlink (* Blink lamp *)
ST OnDelay.IN
LD T#500ms
ST OnDelay.PT (* Set the delay time *)
CAL OnDelay (* Call the function block *)
LD OnDelay.Q
R LPBlink (* Blink lamp *)
(* [End of file] *)
LogicLab (Ptp115, ST_TON)
PROGRAM ST_TON
VAR
LPBlink : BOOL; (* Blink lamp *)
OnDelay : TON; (* On time delay *)
OffDelay : TON; (* Off time delay *)
END_VAR
// *****************************************************************************
// PROGRAM "ST_eTON"
// *****************************************************************************
// This program manages the blink of a variable.
// -----------------------------------------------------------------------------
// -------------------------------------------------------------------------
// BLINK VARIABLE
// -------------------------------------------------------------------------
// Delay with variable Off.
OffDelay(IN:=NOT(LPBlink), PT:=T#1s); //Off time delay
IF (OffDelay.Q) THEN LPBlink:=TRUE; END_IF;
// Delay with variable On.
OnDelay(IN:=LPBlink, PT:=T#100ms); //On time delay
IF (OnDelay.Q) THEN LPBlink:=FALSE; END_IF;
// [End of file]