Mit dieser Funktion wird die Frequenz der Echtzeituhr beschleunigt bzw. verlangsamt, damit die Anwendung die Kompensation der Uhr in Abhängigkeit von der Betriebsumgebung (z. B. von der Temperatur) durchführen kann. Der Kompensationswert wird in Sekunden pro Woche angegeben. Er kann positiv (Beschleunigung) oder negativ (Verzögerung) sein.
Die allgemeine Darstellung in den Sprachen AWL (IL) oder ST finden Sie im Kapitel Darstellung von Funktionen und Funktionsbausteinen.
In der folgenden Tabelle werden die Eingangsparameter beschrieben:
Eingänge |
Typ |
Kommentar |
---|---|---|
RtcDrift |
SINT (-36..73) |
Korrektur in Sekunden pro Woche (-36 bis +73). |
In der folgenden Tabelle wird die Ausgangsvariable beschrieben:
Ausgang |
Typ |
Kommentar |
---|---|---|
SetRTCDrift |
Gibt den Wert |
In diesem Beispiel wird die Funktion nur einmal während des ersten MAST-Task-Zyklus aufgerufen. Sie beschleunigt die Echtzeituhr um 4 Sekunden pro Woche (18 Sekunden pro Monat).
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