TOF

Temporizzatore con ritardo allo spegnimento

Il Function Block TOF vi permette di programmare un ritardo allo spegnimento, p.es. per spegnere il ventilatore di una macchina in un secondo momento rispetto alla macchina stessa.

Parametri

Ingresso

IN (BOOL)

temporizzatore attivo

un temporizzatore interno viene avviato se viene rilevato un fronte di discesa in IN. Se viene rilevato un fronte di salita in IN prima che PT abbia raggiunto il suo valore, Q non verrà impostato su FALSE

PT (TIME)

ritardo allo spegnimento (PT = tempo preimpostato)

valore a 16 bit: 0–327.27s

valore a 32 bit: 0–21,474,836.47s (valore a 32 bit non è disponibile per FP3, FPC, FP5, FP10/10S)

risoluzione 10ms ciascuno

Uscita

Q (BOOL)

uscita segnale

resettata (FALSE) se PT = ET

ET

tempo trascorso

indica il valore attuale del tempo trascorso

Il valore può essere cambiato durante il conteggio scrivendo sulla variabile dall’editore di programmazione.

Note

  • Q viene impostato su FALSE con un ritardo corrispondente al tempo definito in PT. L'impostazione su TRUE avviene senza ritardo.

  • Se IN (come nel diagramma tempi t3 a t4) viene impostato prima che sia trascorso il tempo di ritardo PT, Q rimane impostato (diagramma tempi per t2 a t3).

Diagramma tempi

Esempio

Intestazione del POU

Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU. La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.

	VAR
		copy_name: TOF;
		start: BOOL:=FALSE;
		set_value: TIME:=T#0s;
		signal_output: BOOL:=FALSE;
		current_value: TIME:=T#0s;
	END_VAR

Corpo del POU

Se start viene resettato, questo segnale viene trasferito a signal_output con un ritardo corrispondente al periodo di set_value.

Corpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 6 ;
        NETWORK_BODY
B(B_FB,TOF!,copy_name,9,1,14,5,,?BIN?BPT?AQ?AET);
B(B_CONTACT,,start,3,2,5,4,);
B(B_VARIN,,set_value,7,3,9,5,);
B(B_VAROUT,,current_value,14,3,16,5,);
B(B_COIL,,signal_output,21,2,23,4,);
L(1,3,3,3);
L(5,3,9,3);
L(14,3,21,3);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo ST

copy_name( IN:= start ,
        PT:= set_value ,
        Q=> signal_output ,
        ET=> current_value );

Corpo IL

Se desiderate chiamare il Function Block in una lista istruzioni, inserite quanto segue:

CAL

copy_name(IN:= start,, PT:= set_value,, Q:= signal_output,, ET:= current_value,)

L'ultima revisione: 2021-07-05Feedback su questa paginaPanasonic hotline