Temporizzatore a 32 bit
L'istruzione F183 attiva un temporizzatore a 32 bit con conteggio in avanti funzionante con accensione ritardata. L'unità minima di conteggio è 0.01s. Durante l'esecuzione di F183 (start = TRUE), il tempo trascorso viene sommato al valore corrente d. L'uscita del temporizzatore verrà abilitata quando il valore corrente dè pari al valore target s. Se la condizione di avvio start all'ingresso EN è impostata su FALSE, l'esecuzione verrà interrotta e il valore corrente d verrà resettato a zero. Il valore target s può essere modificato durante l'esecuzione di F183.
Ingresso
valore target, intervallo da 0 a 2147483647
Uscita
valore corrente, intervallo da 0 a 2147483647
Il tempo di ritardo del temporizzatore può essere calcolato utilizzando la seguente formula: (Valore target s) * (0.01s) = ritardo all'accensione
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
Start: BOOL:=FALSE;
SetValue: DINT:=0;
TimerOutput: BOOL:=FALSE;
ElapsedValue: DINT:=0;
END_VAR
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_VARIN,,SetValue,7,3,9,5,);
B(B_VAROUT,,ElapsedValue,16,3,18,5,);
B(B_F,F183_DSTM!,Instance,9,1,16,5,,?DEN?D@'s'?AENO?Cd);
B(B_CONTACT,,Start,3,2,5,4,);
B(B_COIL,,TimerOutput,17,2,19,4,);
L(5,3,9,3);
L(1,3,3,3);
L(1,0,1,5);
L(16,3,17,3);
END_NETWORK_BODY
END_NET_WORK
END_BODY