RTC
Mit dem Funktionsbaustein "RTC" ( Real Time Clock ) kann eine interne Uhr in einem SPS Controller ( BCxxxx ) realisiert werden. Die Uhr muss mit einem Anfangsdatum und einer Uhrzeit initialisiert werden. Nach der Initialisierung wird die Uhrzeit und das Datum nach jedem Aufruf des Funktionsbausteins zyklisch aktualisiert. Um die aktuelle Uhrzeit und das Datum zu berechnen, wird ein Systemtakt des Controllers benutzt. Der Systemtakt hat eine Auflösung von einer Millisekunde. Damit die aktuelle Zeit berechnet werden kann, sollte der Funktionsbaustein in jedem Zyklus der SPS einmal aufgerufen werden. Der RTC hat eine Abweichung von ca. 1 Minute pro 24 Stunden. Um größere Abweichungen zu vermeiden, kann der RTC zyklisch ( z.B. mit einer Funkuhr oder über den Feldbus mit einem TwinCAT-PC ) synchronisiert werden. Am Ausgang des Funktionsbausteines steht das aktuelle Datum und Uhrzeit in dem gängigen DATE_AND_TIME (DT) Format zur Verfügung. In einem SPS-Programm können mehrere Instanzen von dem RTC-Funktionsbaustein erzeugt werden.
VAR_INPUT
VAR_INPUT
EN : BOOL;
PDT : DATE_AND_TIME;
END_VAR
EN: Bei einer steigenden Flanke an diesem Eingang wird der Funktionsbaustein mit einer vorgegebenen Uhrzeit und Datum neu initialisiert.
PDT: ( Preset Date and Time ) Die Initialisierungswerte für das Datum und Uhrzeit des Funktionsbausteins. Bei einer steigenden Flanke an dem EN-Eingang wird dieser Wert von dem Funktionsbaustein übernommen.
VAR_OUTPUT
VAR_OUTPUT
Q : BOOL;
CDT: DATE_AND_TIME;
END_VAR
Q: Wurde der Funktionsbaustein mindestens einmal initialisiert, wird dieser Ausgang gesetzt. Ist dieser Ausgang gesetzt, dann sind die Werte für das Datum und Uhrzeit am PDT-Ausgang gültig.
CDT: ( Current Date and Time ) Aktuelles Datum und Uhrzeit vom RTC. Der CDT-Ausgang wird nur dann aktualisiert, wenn der Funktionsbaustein aufgerufen wurde. Daher sollten die Instanzen des Funktionsbausteines einmal in jedem Zyklus der SPS aufgerufen werden.
Beispiel für einen Aufruf in FUP:
PROGRAM MAIN
VAR
RTC1 : RTC;
Init_RTC : BOOL;
RTC_DataValid : BOOL;
RTC_DateAndTime: DT;
END_VAR
Voraussetzungen
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v2.7.0 und höher | BCxxxx (165) | Standard.Lb6, PlcSystemBC.Lb6, TcPlcUtilitiesBC.Lb6 |