Cette fonction accélère ou ralentit la fréquence de l'horodateur afin de donner la main à l'application pour compenser l'horodateur en fonction de l'environnement de fonctionnement (temperature, …). La valeur de compensation est donnée en secondes par semaine. Elle peut être positive (accélération) ou négative (ralentissement).
Pour voir la représentation générale en langage IL ou ST, consultez le chapitre Représentation des fonctions et blocs fonction.
Le tableau suivant décrit les paramètres d'entrée :
Entrées |
Type |
Commentaire |
---|---|---|
RtcDrift |
SINT (-36..73) |
Correction en secondes par semaine (-36 à +73). |
Le tableau suivant décrit la variable de sortie :
Sortie |
Type |
Commentaire |
---|---|---|
SetRTCDrift |
Renvoie |
Dans cet exemple, la fonction est appelée une seule fois pendant le premier cycle de tâche MAST. Elle accélère l'horodateur de 4 secondes par semaine (18 secondes par mois).
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