Passa al contenuto principale

TP, timer pulse

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.

Diagramma FB TP

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.
  • In questo topic un esempio di visualizzazione tempo da inizio e tempo al termine durata timer.

Descrizione​

Immagine FB TP

ParametroTipoDescrizione
INBOOLIngresso 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.
PTTIMEPreset tempo, definisce il tempo di attivazione dell'uscita Q.
QBOOLUscita timer, si attiva all'attivazione dell'ingresso IN per il tempo definito in PT.
ETTIMETempo 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

Immagine programma LD_TP

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]