Uhrzeitsynchronisation über Netzwerk

holgero

Level-1
Beiträge
255
Reaktionspunkte
30
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo SPS-Programmierer,

ich betreue mehrere 300er CPUs in Russland und in Deutschland.
Ich möchte die Zeit der CPU’s Synchronisieren. Die Lokale Zeit ist z.B. für angeschlossene Markiersysteme wichtig.

Wenn ich in einer CPU unter PN-IO .. Eigenschaften .. Uhrzeitsynchronisation einen Server angebe,
bekommt die CPU immer die „Greenwich Mean Time“.

Theoretisch könnte ich mit dem SFC 100 "SET_CLKS" den Uhrzeitstatus setzen. Dort sehe ich aber folgende Probleme:

- Russland schafft meines Wissens im Herbst die Sommerzeit endgültig ab,
- In der Hilfe zum SFC100 steht
Setzen Sie die SFC 100 nur dann ein, wenn bei Ihrer CPU die Uhrzeit nicht synchronisiert wird. Andernfalls wird bei jeder Synchronisation der Uhrzeitstatus der Master-Uhr übernommen. Ein per SFC vorgegebener Wert wird dadurch überschrieben.

Jetzt will ich die Zeit von einem eigenen Zeitserver zu holen. Das geht, aber den muss ich dann immer manuell stellen, denn wen er sich einmal Synchronisiert gibt er auch nur noch „Greenwich Mean Time“ ab.

Wie würdet ihr vorgehen? Gibt es eine bessere Lösung?

Vielen Dank im Voraus
Holger

 
Da das NTP Protokoll immer mit der UTC läuft wird es schwierig. Du müsstest einen NTP Server erstellen, der die Zeit der internen Uhr nimmt. Die wiederum müsste von einem NTP aus dem Internet gestellt werden und zusätzlich müsste deine Verschiebung X draufgerechnet werden.

Ob man soetwas von der Stange bekommt.. naja.

Einen PC vor Ort hast du nicht oder? (WinCC o.Ä.)
 
Und wenn du die Zeit der CPU auf UTC laufen lässt, diese im Programm auswertest und entsprechend der Lokalen Zeit korrigierst?
Brauchst nur irgendwo die Zeitzone hinterlegen und danach dann korrigieren.
 
Genau das macht der Baustein von J.Kühner.
Die UTC-Zeit wird Systemweit synchronisiert.
Da es bei der UTC-Zeit keine Sommer-Winterzeitumstellung gibt,
wird durch den Baustein eine Systemzeit erzeugt.

Gruß
Klaus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also mir gefällt die Variante von Deltal am besten.


Da das NTP Protokoll immer mit der UTC läuft wird es schwierig. Du müsstest einen NTP Server erstellen, der die Zeit der internen Uhr nimmt. Die wiederum müsste von einem NTP aus dem Internet gestellt werden und zusätzlich müsste deine Verschiebung X draufgerechnet werden.

Ob man soetwas von der Stange bekommt.. naja.


Ich hab da eine NTP-Delphi-(Indy-)Komponente, mit der könnte ich evtl. einen eigenen NTP-Server programmieren.
Allerdings hab ich beim letzten Versuch auf die Komponente geschaut, wie die Sau ins Uhrwerk :sb8:

bis bald ... Grüße aus Kaluga
Holgero
 
Zurück
Oben