SetRTCDrift : réglage l'horodateur chaque semaine
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 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 |
Jour du changement. |
|
Heure |
Heure du changement. |
|
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 |
Renvoie RTC_OK (00 hex) si la commande est correcte ou renvoie le code d'identification de l'erreur détectée. |
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