Real Time Clock (RTC)

Die Real Time Clock (RTC) wird über die Funktionsbausteine FB_LocalSystemTime ausgelesen und kann mit dem Baustein NT_SetLocalTime eingestellt werden (siehe TcUtilities.lib). Die RTC wird über die Batterie versorgt und kann so im ausgeschalteten Zustand weiterlaufen.

Real Time Clock (RTC) läuft zu langsam

TwinCAT verwendet einen eigenen Real-Time-Treiber. Dieser hat den Vorteil, dass die Qualität der Echtzeit um ein Vielfaches verbessert wurde und dadurch der Jitter der Task auf ein Minimum reduziert werden konnte. Damit wird das Betriebssystem von TwinCAT aufgerufen. Die RTC auf dem Betriebssystem wird über TwinCAT gesteuert und muss zu gewissen Zeiten aufgerufen werden.

Wenn die Taskzykluszeit auf der TwinCAT-Seite sehr lang und die CPU Auslastung hoch ist, wird das Betriebssystem nicht mehr genügend oft aufgerufen. Die RTC auf dem Betriebssystem geht dadurch nach. Wenn Sie festgestellt haben, dass die RTC zu langsam läuft und die Uhrzeit auf dem CX8190 nachgeht, können Sie die folgende Problembehandlung anwenden:

Abhilfe

Der Aufruf der RTC wird immer mit einem Auslesen der Hardware-RTC verknüpft. Dies hat zwar den Nachteil einer etwas höheren CPU-Auslastung, da aber die CPU Auslastung durch Ihre Applikation eh schon hoch ist, kann dies vernachlässigt werden. Passen Sie die Einstellungen in der Registry an:

[HKEY_LOCAL_MACHINE\Platform]
    “SoftRTC"=dword:0

Beschreibung des SoftRTC-Registrykeys

Wert

Beschreibung

0

Es wird immer die Hardware-RTC ausgelesen, wenn die Windows-Zeit angefragt wird.

1

Es wird einmal beim Start die Hardware-RTC ausgelesen. Ab dann läuft die Windows-Uhr über den internen System-Tick weiter.

Standardeinstellung: "SoftRTC"=dword:1