Questa funzione accelera o rallenta la frequenza dell'RTC per controllare l'applicazione per la compensazione RTC, in funzione dell'ambiente operativo (temperatura, ...). Il valore di compensazione è specificato in secondi per settimana. Può essere positivo (accelerazione) o negativo (rallentamento).
Per la rappresentazione generale in linguaggio IL o ST, fare riferimento al capitolo Rappresentazione di funzioni e blocchi funzione.
Questa tabella descrive i parametri di ingresso:
Ingressi |
Tipo |
Commento |
---|---|---|
RtcDrift |
SINT (-36..73) |
Correzione in secondi per settimana (−36 - +73). |
La seguente tabella descrive la variabile di uscita:
Uscita |
Tipo |
Commento |
---|---|---|
SetRTCDrift |
Restituisce |
In questo esempio, la funzione è chiamata solo una volta durante il primo ciclo del task MAST. Accelera l'RTC di 4 sec alla settimana (18 sec al mese).
VAR
MyRTCDrift : SINT (-36..+73) := 0;
MyDay : sec.DAY_OF_WEEK;
MyHour : sec.HOUR;
MyMinute : sec.MINUTE;
END_VAR
IF IsFirstMastCycle() THEN
MyRTCDrift := 4;
MyDay := 0;
MyHour := 0;
MyMinute := 0;
SetRTCDrift(MyRTCDrift, MyDay, MyHour, MyMinute);
END_IF