TC3: DC-Uhr Zeitzone/Synchronisierung

clumsi

Level-1
Beiträge
137
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi!

Mit F_GetCurDcTaskTime64 lese ich die aktuelle DC-Time aus. Diese wird beim Start der TC3-Runtime einmalig mit der Windows-Uhr synchronisiert, jedoch ohne Zeitzone. Die Uhr läuft aktuell also 2 Stunden hinterher: -1 Stunde wegen Zeitzone UTC+1 und -1 Stunde durch die Sommerzeit.

Kann man für die DC-Zeit eine Zeitzone festlegen, oder wie würde man das manuell verrechnen?

Gibt es eine Möglichkeit, den Abgleich zwischen Windows-Zeit und DC-Zeit auch manuell anzustoßen und nicht erst beim Restart der TC3-Runtime?

Grüße,
clumsi
 
Benötigst du unbedingt die DC Zeit oder einfach nur die Windows Zeit im PLC Programm?

Ich benötige bei mir einfach nur die aktuelle Zeit im PLC Programm und mache es wie folgt:

Mit Tc2_Utilities.RTC_EX2 erstelle ich eine RealTimeClock und synchronisiere sie aller 5s mit der Betriebssystem Uhrzeit (Tc2_Utilities.NT_GetTime).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Benötigst du unbedingt die DC Zeit oder einfach nur die Windows Zeit im PLC Programm?
Ich würde schon gerne die DC-Zeit verwenden, da ich sie für weitere Anwendungen auf jeden Fall taktsynchron benötige.

Gibt es für die DC-Zeit denn ähnliche Wege wie du es für die RTC beschrieben hast?

Und wo kommt überhaupt der Offset von 2 Stunden her? Wenn sich die DC bei TwinCAT-Start synchronisiert, warum dann nicht gleich mit Zeitzone? :unsure:
 
Naja in der IT Welt wird intern immer mit UTC gearbeitet und nur für die Anzeige für den Menschen in Ortszeit umgerechnet.

Mir fällt leider auch gerade kein Anwendungsfall ein, bei der man die DC Zeit benötigt. Ich benutze sowas halt nur für um mein Melderegister mit einen Zeitstempel zu versehen.
 
@clumsi: Ein bisschen einfach machst du es dir schon indem du deinen Anwendungsfall als HauptUseCase definierst.
UTC ist de-facto der Standard.
Du kannst aber deinen Offset im System abfragen (tc2_utilities.FB_GetTimeZoneInformation) und dann den DC-Datentyp umrechnen.

Aber willst du wirklich einheiten mit 1ns? Filetime ist hier de-facto der IT-STandard und nur wenn man es genauer braucht weicht man davon ab.
Konkret: Ich hätte deinen DC-Zeitstempel in den Filetime umgewandelt und dann eben den Bias / Offset noch hinzugefügt.
 
Zurück
Oben