Vai al contenuto
Vai all indice del manuale di programmazione

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.

FB TON timing diagram
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.

Immagine FB_TON

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
Immagine programma LD_TON
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]