Esta función acelera o ralentiza la frecuencia del RTC para dar control a la aplicación para compensar el RTC, en función del entorno de funcionamiento (temperatura, etc.). El valor de compensación se indica en segundos por semana. Puede ser positivo (acelerar) o negativo (ralentizar).
Para ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.
En esta tabla se describen los parámetros de entrada:
Entradas |
Tipo |
Comentario |
---|---|---|
RtcDrift |
SINT (-36..73) |
Corrección en segundos por semana (de –36 a +73). |
En esta tabla se describe la variable de salida:
Salida |
Tipo |
Comentario |
---|---|---|
SetRTCDrift |
Devuelve |
En este ejemplo, la función únicamente se invoca durante el primer ciclo de la tarea MAST. Acelera el RTC 4 segundos a la semana (18 segundos al mes).
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