Questo blocco funzione esegue la temporizzazione su impulso di attivazione, attivando l’ingresso IN l’uscita Q si attiva, in uscita ET è ritornato il tempo trascorso dall’impulso di attivazione.
Raggiunto il tempo impostato PT indipendentemente dallo stato dell’ingresso IN, l’uscita Q si azzera, mentre il tempo in uscita su ET si azzera solo se ingresso IN non è più attivo.
Se ingresso IN si attiva/disattiva più volte nel tempo impostato in PT l’uscita Q rimarrà comunque attiva per il tempo impostato.

Sostituisce eTP
Gli oggetti obsoleti sono inseriti nella libreria eLLabObsoleteLib fare riferimento al relativo manuale ed al manuale programmazione in formato pdf.
Sostituisce il FB eTP modificando il tipo di PT ed ET da UDINT a TIME.
// La precedente dichiarazione:
PWidth(IN:=PIn, PT:=2000); //Pulse width timer
// Diventa:
PWidth(IN:=PIn, PT:=T#2s); //Pulse width timer
Approfondimenti
- In questo topic sono riportate informazioni sul formato TIME.
- In questo topic utilizzo del FB per gestire una luce scala.
Descrizione
IN (BOOL) Ingresso timer, attivandolo si attiva l’uscita Q ed inizia il conteggio, dopo il tempo definito in PT indipendentemente dallo stato dell’ingresso IN, l’uscita Q si azzera.
PT (TIME) Preset tempo, definisce il tempo di attivazione dell’uscita Q.
Q (BOOL) Uscita timer, si attiva all’attivazione dell’ingresso IN per il tempo definito in PT.
ET (TIME) Tempo timer, inizia conteggio da attivazione ingresso IN, raggiunto tempo impostato in PT si arresta conteggio.

Esempi
Come utilizzare gli esempi.
Nell’esempio viene generato un impulso POut la cui durata è di 2 secondi indipendentemente dalla durata dell’impulso PIn.
LogicLab (Ptp115, LD_TP)
PROGRAM LD_TP
VAR
PIn : BOOL; (* Pulse input *)
POut : BOOL; (* Pulse output *)
PWidth : TP; (* Pulse width timer *)
END_VAR

LogicLab (Ptp115, IL_TP)
PROGRAM IL_TP
VAR
PIn : BOOL; (* Pulse input *)
POut : BOOL; (* Pulse output *)
PWidth : TP; (* Pulse width timer *)
END_VAR
(* ************************************************************************** *)
(* PROGRAM "IL_eTP" *)
(* ************************************************************************** *)
(* This program generates a pulse with fixed width. *)
(* ------------------------------------------------------------------------- *)
(* ---------------------------------------------------------------------- *)
(* PULSE WIDTH *)
(* ---------------------------------------------------------------------- *)
LD PIn (* Pulse input *)
ST PWidth.IN
LD T#2s
ST PWidth.PT (* Set the delay time *)
CAL PWidth (* Call the function block *)
LD PWidth.Q
ST POut (* Pulse output *)
(* [End of file] *)
LogicLab (Ptp115, ST_TP)
PROGRAM ST_TP
VAR
PIn : BOOL; (* Pulse input *)
POut : BOOL; (* Pulse output *)
PWidth : TP; (* Pulse width timer *)
END_VAR
// *****************************************************************************
// PROGRAM "ST_eTP"
// *****************************************************************************
// This program generates a pulse with fixed width.
// -----------------------------------------------------------------------------
// -------------------------------------------------------------------------
// PULSE WIDTH
// -------------------------------------------------------------------------
// Generates a pulse.
PWidth(IN:=PIn, PT:=T#2s); //Pulse width timer
POut:=PWidth.Q; //Pulse output
// [End of file]