TIA Uhrzeitsynchronisation OPC Server Tia V20

Peter_Lober

Level-2
Beiträge
15
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo



Wir haben bei unserer s7 1214DCDCDC einen unterschied zwischen der eingestellten SPS local time (abgelesen über den baustein RD_SYS_T ) und dem Zeitstempel den der opc -ua server der SPS an UAExpert weitergibt. Der Zeitstempel der im UAExpert übermittelt wird ist genau eine Stunde voraus, also vermute ich mal irgendeine UTC einstellung. Ich finde aber in Tia Portal V20 Basic nichts wo ich einstellen kann dass sich die beiden Zeiten synchronisieren sollen bzw. keine Möglichkeit den Zeitstempel des opc servers überhaupt zu beeinflussen. Welche Möglichkeiten gibt es da. (Das ganze system ist aktuell nur über einen Switch verbunden ohne kontakt zu Internet o.ä.)



Mit freundlichen Grüssen

Peter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wir haben bei unserer s7 1214DCDCDC einen unterschied zwischen der eingestellten SPS local time (abgelesen über den baustein RD_SYS_T )
Das klingt irgendwie falsch. Die Local Time liest man mit RD_LOC_T. Wenn in der 1214C die richtige Zeitzone korrekt eingestellt ist, dann liefert RD_SYS_T UTC
 
Also RC_LOC_T und RD_SYS_T zeigen beid die gleiche Zeit... gibt es da noch weitere einstellmöglichkeiten oder kann ich dem OPC Server auch sagen er soll keinen Zeitstempel mitschicken oder so ?
 
Ich musste mich mal mit dem Thema Zeitzonen intensiv beschäftigen. In der Praxis verwendet man dafür Bibliotheken. Siemens hat das, soweit ich weiß, auch richtig umgesetzt.

Unabhängig ob es nun Steuerungen, HMIs oder IT-Infrastruktur sind, Zeitstempel werden generell ohne Zeitzone intern geführt und auch übertragen. Zeitstempel in Datenbanken sind auch UTC. Wer davon abweicht, macht es falsch und sorgt für zukünftige Beschäftigung. OPCUA folgt diesem Standard offensichtlich auch. Wenn ich z.B. via Python den SourceTimestamp abfrage, bekomme ich ein naives DateTime-Objekt ohne Zeitzone (UTC). Bei UaExpert wird die eingestellte lokale Zeitzone angewandt, was man abstellen kann: General.ShowUTCTimestamps

D.h. wenn man alles richtig einstellt und z.B. auch noch NTP nutzt, wird es richtig angezeigt. Wenn es eine Abweichung gibt, hat man meistens die Lokale Uhrzeit der SPS falsch eingestellt. Alternativ ist die Zeitzone auf dem PC falsch, was aber eigentlich sofort auffällt, da dann auch die Uhrzeit falsch angezeigt wird. Da ich für einen anderen Versuch die SPS bereits am Internet hängen habe, hab ich das mit NTP getestet.

Bei mir (S7-1500 <> UaExpert) stimmt der Zeitstempel.

Die Zeitzone ist für Menschen gedacht. D.h., wenn eine lokale Uhrzeit angezeigt werden soll, wird die eingestellte Zeitzone angewandt.

Das hat gleich mehrere Vorteile:
  • Zeitsprünge finden ohne Zeitzone nicht statt, d.h. Datum/Uhrzeit sind monotonisch. Das trifft nicht auf die lokalisierte Zeit zu (Zeitzonen mit Normal-/Sommerzeit).
  • Die Zeitsynchronisation findet via NTP statt und auch dort wird UTC verwendet. Keine Zeitzone.
  • Die Umstellung Normal-/Sommerzeit hat sich seit 1996 nicht mehr geändert. Selbst diese Einstellung ist bis zum Untergang der EU sicher.
  • Zeitspannen zwischen zwei Zeitpunkten lassen sich ohne Zeitzone leichter berechnen.


Harmonisierung in der EU:​


  • ab 1996 gilt EU-weit die einheitliche Regel:
    • Beginn: letzter Sonntag im März
    • Ende: letzter Sonntag im Oktober
      Deutschland nutzt seither MEZ (UTC+1) im Winter und MESZ (UTC+2) im Sommer.

*) Winterzeit wird auch als Normalzeit bezeichnet.
 
Hallo
vielen Dank für die gute Erklärung. Ich habe jetzt mit Hilfe von General.ShowUTCTimestamps=TRUE in UAexpert als Zeitstempel utc und jetzt ist die Stunde Unterschied weg. Bei grafana ist es allerdings immer noch da das Problem, aber dann forschen wir mal in der Richtung weiter
LG
Peter
 
Zurück
Oben