RTC_EX
Mit dem Funktionsbaustein "RTC_EX" 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_EX-Funktionsbaustein hat eine Abweichung von ca. 1 Minute pro 24 Stunden. Um größere Abweichungen zu vermeiden, kann der RTC_EX-Funktionsbaustein zyklisch ( z.B. mit einer Funkuhr oder über den Feldbus mit einem TwinCAT-PC ) synchronisiert werden. Am Ausgang des Funktionsbausteins steht das aktuelle Datum und Uhrzeit in dem gängigen DATE_AND_TIME (DT) Format zur Verfügung. Im Gegensatz zu dem RTC-Funktionsbaustein hat RTC_EX eine Millisekunden-Genauigkeit. Da die DATE_AND_TIME-Variablen nur eine Sekunden-Genauigkeit besitzen, werden Millisekunden über die CMSEK-Ausgangsvariable ausgegeben. In einem SPS-Programm können mehrere Instanzen von dem RTC_EX-Funktionsbaustein erzeugt werden.
VAR_INPUT
VAR_INPUT
EN : BOOL;
PDT : DATE_AND_TIME;
PMSEK: DWORD;
END_VAR
EN: Bei einer steigenden Flanke an diesem Eingang wird der RTC_EX-Funktionsbaustein mit einer vorgegebenen Uhrzeit, Datum und Millisekunden 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.
PMSEK: ( Preset Milliseconds ) Der Initialisierungswert für die Millisekunden. 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;
CMSEK: DWORD;
END_VAR
Q: Wurde der Funktionsbaustein mindestens ein Mal initialisiert, wird dieser Ausgang gesetzt. Ist dieser Ausgang gesetzt, dann sind die Werte für das Datum, Uhrzeit und Millisekunden am PDT-Ausgang und CMSEK-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 ein Mal in jedem Zyklus der SPS aufgerufen werden.
CMSEK: (Current Milliseconds) Der Millisekunden-Ausgang.
Beispiel für einen Aufruf in FUP:
PROGRAM MAIN
VAR
RTC1 : RTC_EX;
Init_RTC : BOOL;
RTCDataValid : BOOL;
RTC_DateAndTime : DT;
RTC_Milliseconds : DWORD;
END_VAR
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v2.7.0 und höher | BCxxxx (165) | Standard.Lb6, PlcSystemBC.Lb6, TcPlcUtilitiesBC.Lb6 |