SetRTCDrift: ajusta el reloj de tiempo real cada semana
Esta función suma o resta del Reloj de tiempo real (RTC) un número determinado de segundos, cada semana, en el día de la semana y la hora especificados (hora:minuto).
NOTA: La función SetRTCDrift debe programarse para ejecutarse sólo durante el primer ciclo Mast.
Para ver la representación general en lenguaje IL o ST, consulte el capítulo Representación de funciones y de bloques de funciones.
Descripción de variables de E/S
En esta tabla se describen los parámetros de entrada:
Entradas |
Tipo |
Comentario |
---|---|---|
RtcDrift |
SINT(–29...+29) |
Corrección en segundos (-29 a +29) |
Día |
Día del cambio. |
|
Hora |
Hora del cambio. |
|
Minuto |
Minuto del cambio.
|
NOTA: Si los valores introducidos para RTCDrift, Día, Hora, Minuto sobrepasan los valores límite, el firmware del Logic Controller definirá todos los valores en el máximo.
En esta tabla se describe la variable de salida:
Salida |
Tipo |
Comentario |
---|---|---|
SetRTCDrift |
Devuelve RTC_OK (00 hex) si el comando es correcto; en caso contrario, devuelve el código ID del error detectado. |
En este ejemplo, la función solo se invoca una vez durante el primer ciclo de la tarea MAST y se añaden 20 segundos al RTC cada martes a las 5:45
VAR
MyRTCDrift : SINT (-29...+29) := 0;
MyDay : DAY_OF_WEEK;
MyHour : HOUR;
MyMinute : MINUTE;
END_VAR
IF IsFirstMastCycle() THEN
MyRTCDrift := 20;
MyDay := TUESDAY;
MyHour := 5;
MyMinute := 45;
SetRTCDrift(MyRTCDrift, MyDay, MyHour, MyMinute);
END_IF