SetRTCDrift : réglage l'horodateur chaque semaine

Description de la fonction

Toutes les semaines, le jour et à l'heure spécifiés (heure:minute:), cette fonction ajoute ou soustrait à l'horodateur (RTC) une durée spécifiée en secondes.

NOTE : La fonction SetRTCDrift doit être programmée pour être exécutée uniquement durant le premier cycle Mast.

Représentation graphique

G-RU-0010362.2.gif-high.gif

 

 

Représentation en langage IL et ST

Pour voir la représentation générale en langage IL ou ST, consultez le chapitre Représentation des fonctions et blocs fonction.

Description des variables d'E/S

Le tableau suivant décrit les paramètres d'entrée :

Entrées

Type

Commentaire

RTCDrift

SINT(-29 à +29)

Correction en secondes (-29 ... +29)

Jour

DAY_OF_WEEK

Jour du changement.

Heure

HOUR

Heure du changement.

Minute

MINUTE

Minute du changement.

 

NOTE : Si les valeurs entrées pour RTCDrift, Day, Hour et Minute dépassent les limites, le micrologiciel du contrôleur les remplace par les valeurs maximales.

Le tableau suivant décrit la variable de sortie :

Sortie

Type

Commentaire

SetRTCDrift

RTCSETDRIFT_ERROR

Renvoie RTC_OK (00 hex) si la commande est correcte ou renvoie le code d'identification de l'erreur détectée.

Exemple

Dans cet exemple, la fonction n'est appelée qu'une seule fois pendant le premier cycle de tâche MAST, 20 secondes sont ajoutées à l'horodateur chaque mardi à 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