Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Uhrzeit zwischen zwei Win10 Rechnern synchronisieren (https://www.delphipraxis.net/201181-uhrzeit-zwischen-zwei-win10-rechnern-synchronisieren.html)

Medium 29. Jun 2019 22:55

Betriebssystem: Win 10

Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Huhu DP!

Gibt es eine relativ einfache Möglichkeit zu garantieren, dass zwei Win10 (Prof.) PCs stets dieselbe Uhrzeit haben? Sekundengenau reicht völlig aus.

Das Problem ist, dass beide Rechner keine Internetverbindung haben (dürfen), womit ein Synchronisieren mit einem Online-Zeitserver weg fällt.

Besten Dank, und schönes sonntägliches Schwitzen schon mal!

Dalai 29. Jun 2019 23:49

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Statt mit einem Zeitserver im Internet zu synchronisieren, kann auch ein interner (im LAN) als Quelle benutzt werden. Jede Fritzbox bietet NTP an, und andere Plasterouter sicherlich auch. Das lässt sich mit OS-Bordmitteln nutzen. Mit Windows mag das zwar etwas tricky sein (wie üblich), aber es geht. Ich nutze das selber zuhause, damit nicht jeder Client einzeln im Internet nachfragen muss (wäre ja Unfug).

Grüße
Dalai

samso 30. Jun 2019 06:09

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Bei Meinberg.de gibt es einen NTP-Server/Client für Windows zum Download. Damit dürfte dieses Projekt sehr einfach umzusetzen sein.

mjustin 30. Jun 2019 08:37

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Indy enthält eine TIdDayTimeServer und eine TIdDayTime (und für UDP TIdDayTimeUDPServer / TIdDayTimeUDP).

Bei nur zwei Clients müsste man allerdings überlegen, wie man Differenzen behandelt.

Codehunter 1. Jul 2019 07:06

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Zitat:

Zitat von Medium (Beitrag 1435634)
Gibt es eine relativ einfache Möglichkeit zu garantieren, dass zwei Win10 (Prof.) PCs stets dieselbe Uhrzeit haben? Sekundengenau reicht völlig aus.

Gar nicht. Per NTP kann man sich dem mit einer gewissen Wahrscheinlichkeit annähern aber mehr auch nicht. Windows 10 ist kein Realtime-OS.

Medium 1. Jul 2019 11:27

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Danke für die Hilfe! Ich habe mal bei dem Kunden angefragt, und Tatsache: Deren Gateway (ob das eine FritzBox ist weiß ich nicht) bietet tatsächlich einen NTP Server den ich nutzen kann. Und wie es scheint, ist es auch genau genug. Ich lasse aber zur Sicherheit stündlich neu synchronisieren.

Codehunter 1. Jul 2019 12:00

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Zitat:

Zitat von Medium (Beitrag 1435723)
Danke für die Hilfe! Ich habe mal bei dem Kunden angefragt, und Tatsache: Deren Gateway (ob das eine FritzBox ist weiß ich nicht) bietet tatsächlich einen NTP Server den ich nutzen kann. Und wie es scheint, ist es auch genau genug. Ich lasse aber zur Sicherheit stündlich neu synchronisieren.

Fritzboxen tröten das für gewöhnlich als DHCP-Flag ins LAN an jeden der fragt. In dem Fall wärs eine reine Client-Konfiguration, dass die das auch nutzen.

Was auch immer dein Programm tun soll, du solltest vorsichtshalber eine Toleranz von +/- 1 Sekunde einbauen. Denn davon augehen, das beide Rechner IMMER sekundengenau gleich laufen, kannst du nicht. Selbst wenn, kann einer von beiden durch höhere Auslastung mehr Zeit benötigen zwischen Systemzeitabfrage und dem, was dein Programm sonst noch so tut.

Medium 1. Jul 2019 13:51

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Ja, das habe ich mittlerweile auch bemerkt. Sekundengenau bringt leider nicht so viel, wenn beide Rechner zwar innerhalb einer Sekunde das gewünschte tun, aber genau dazwischen die Diskrepanz zwischen den Uhren liegt. Aber ich hab da schon Ideen...

raichad0 23. Okt 2019 07:58

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Zitat:

Zitat von Medium (Beitrag 1435733)
Ja, das habe ich mittlerweile auch bemerkt. Sekundengenau bringt leider nicht so viel, wenn beide Rechner zwar innerhalb einer Sekunde das gewünschte tun, aber genau dazwischen die Diskrepanz zwischen den Uhren liegt. Aber ich hab da schon Ideen...


Bitte teilen Sie Ihre Ideen mit?

samso 23. Okt 2019 09:22

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Ein vernünftiger NTP-Client schafft es die Uhren von Rechnern auf +/-10ms genau zu halten. Wir haben das mittlerweile über viele Jahre beobachtet. Dazu sollte man einen fertigen Client benutzen. Der ist frei verfügbar und in dessen Konstruktion ist viel Erfahrung eingeflossen. Ich kann beispielsweise den Client/Server von Meinberg empfehlen. Der Zeit-Dienst von Windows ist unterirdisch und kann für diese Zwecke nicht genutzt werden.

Aviator 23. Okt 2019 09:26

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Zitat:

Zitat von samso (Beitrag 1450114)
Der Zeit-Dienst von Windows ist unterirdisch und kann für diese Zwecke nicht genutzt werden.

Also ich habe bei uns per GPO den NTP eingerichtet und nutze den PTB Zeitserver. Funktioniert hier seit Jahren hervorragend und ist auch genau. Zumindest sekundengenau, wie es nach dem Komma aussieht kann ich nicht sagen, spielt bei uns aber auch keine große Rolle.

samso 23. Okt 2019 09:43

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Zitat:

Zitat von Aviator (Beitrag 1450115)
Also ich habe bei uns per GPO den NTP eingerichtet und nutze den PTB Zeitserver. Funktioniert hier seit Jahren hervorragend und ist auch genau. Zumindest Sekundengenau, wie es nach dem Komma aussieht kann ich nicht sagen, spielt bei uns aber auch keine große Rolle.

Das hängt u.U. auch mit Nutzungsprofil der Geräte zusammen. Auch die Qualität der eingebauten Echtzeituhr spielt eine Rolle. Unsere Geräte laufen 24/7 und werden nicht jeden Tage neu eingeschaltet. Bei einem normalen Bürocomputer der jeden Morgen neu eingeschaltet wird, verhält sich der Zeitdienst vielleicht besser.

Sherlock 23. Okt 2019 09:58

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Standard Installationen von Windows Clients aktualisieren alle 7 Tage oder beim Einschalten. Man kann aber die Pollzeit über die Registry konfigurieren:
In HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Services \W32Time\TimeProviders\NtpClient kann man SpecialPollInterval anpassen und das Intervall in Sekunden angeben.

Sherlock

freejay 23. Okt 2019 10:06

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Wozu braucht man eigentlich sowas? Dass die Uhren auf verschiedenen Rechner genau gleich gehen?

p80286 23. Okt 2019 11:28

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Wenn zB der erfassungszeitpunkt von Daten für eine DB vom Client und nicht von der DB generiert wird.

Gruß
K-H

Aviator 23. Okt 2019 11:41

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Zitat:

Zitat von samso (Beitrag 1450118)
Zitat:

Zitat von Aviator (Beitrag 1450115)
Also ich habe bei uns per GPO den NTP eingerichtet und nutze den PTB Zeitserver. Funktioniert hier seit Jahren hervorragend und ist auch genau. Zumindest Sekundengenau, wie es nach dem Komma aussieht kann ich nicht sagen, spielt bei uns aber auch keine große Rolle.

Das hängt u.U. auch mit Nutzungsprofil der Geräte zusammen. Auch die Qualität der eingebauten Echtzeituhr spielt eine Rolle. Unsere Geräte laufen 24/7 und werden nicht jeden Tage neu eingeschaltet. Bei einem normalen Bürocomputer der jeden Morgen neu eingeschaltet wird, verhält sich der Zeitdienst vielleicht besser.

Naja bei uns wird die Uhrzeit alle 3600 Sekunden (also 1 Stunde) abgeglichen. Mein Rechner lief letztens 80 Tage durch ohne Neustart. Da konnte ich keine Differenzen feststellen.

freejay 23. Okt 2019 12:12

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Zitat:

Zitat von p80286 (Beitrag 1450128)
Wenn zB der erfassungszeitpunkt von Daten für eine DB vom Client und nicht von der DB generiert wird.

Gruß
K-H

Aber dann wäre doch die sauberste Lösung, dass der Datenbank zu überlassen, oder?

Klaus01 23. Okt 2019 12:41

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Zitat:

Zitat von freejay (Beitrag 1450133)
Zitat:

Zitat von p80286 (Beitrag 1450128)
Wenn zB der erfassungszeitpunkt von Daten für eine DB vom Client und nicht von der DB generiert wird.

Gruß
K-H

Aber dann wäre doch die sauberste Lösung, dass der Datenbank zu überlassen, oder?

Wenn alles in einer Zeitzone liegt - sehe ich da keine Probleme.

Grüße
Klaus

Aviator 23. Okt 2019 12:41

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Zitat:

Zitat von freejay (Beitrag 1450133)
Aber dann wäre doch die sauberste Lösung, dass der Datenbank zu überlassen, oder?

Und was wäre, wenn der Zeitpunkt dann gespeichert muss an dem die Aktion ausgeführt wurde, der Datenbankserver aber gerade nicht zur Verfügung steht und die Daten zwischengespeichert werden?

Dann gäbe es in der Datenbank totales Chaos.

dummzeuch 23. Okt 2019 12:44

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Zitat:

Zitat von p80286 (Beitrag 1450128)
Wenn zB der erfassungszeitpunkt von Daten für eine DB vom Client und nicht von der DB generiert wird.

Es gibt diverse kryptographische Protokolle, die nicht mehr funktionieren, wenn die Zeit auf beiden Seiten zu weit auseinanderläuft.

Auch wenn man Daten, die auf beiden Rechner automatisch erfasst werden miteinander vergleichen will, ist ein möglichst genauer Zeitstempel wichtig.

Es gibt sicherlich noch jede Menge andere Anwendungsfälle.

Ups, das sollte eigentlich eine Antwort an freejay sein.

twm

Sherlock 23. Okt 2019 12:47

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Zitat:

Zitat von Klaus01 (Beitrag 1450135)
Zitat:

Zitat von freejay (Beitrag 1450133)
Zitat:

Zitat von p80286 (Beitrag 1450128)
Wenn zB der erfassungszeitpunkt von Daten für eine DB vom Client und nicht von der DB generiert wird.

Gruß
K-H

Aber dann wäre doch die sauberste Lösung, dass der Datenbank zu überlassen, oder?

Wenn alles in einer Zeitzone liegt - sehe ich da keine Probleme.

Das tut doch gar nichts zur Sache, dank UTC. Dem Server sollte immer so viel Arbeit wie möglich überlassen werden, dafür ist er ja da.

Sherlock

Dalai 23. Okt 2019 15:39

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Zitat:

Zitat von Sherlock (Beitrag 1450120)
Standard Installationen von Windows Clients aktualisieren alle 7 Tage oder beim Einschalten.

Also meine Systeme holen sich die Zeit alle paar Stunden, bei größerer Abweichung auch häufiger (aktuell fragt mein neues System den NTP-Server alle 17 Minuten).

Grüße
Dalai

p80286 23. Okt 2019 17:50

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Zitat:

Zitat von dummzeuch (Beitrag 1450137)
Ups, das sollte eigentlich eine Antwort an freejay sein.

Ich denke es ist alles da angekommen wo's ankommen sollte:wink:

Gruß
K-H

Medium 24. Okt 2019 08:00

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Zitat:

Zitat von freejay (Beitrag 1450133)
Zitat:

Zitat von p80286 (Beitrag 1450128)
Wenn zB der erfassungszeitpunkt von Daten für eine DB vom Client und nicht von der DB generiert wird.

Gruß
K-H

Aber dann wäre doch die sauberste Lösung, dass der Datenbank zu überlassen, oder?

Genau das wollte ich. Allerdings ist meine Datenbank auf 2 PCs, weil redundant. Dafür nutze ich gegenseitige Replikation von MariaDB. Aber es sollte nicht nur die DB redundant sein, sondern auch unsere hauseigene Software, die die Verbindung zwischen der SPS und der DB herstellt. Diese macht u.a. auch die Signal-Meldungserzeugung für die Anlagensteuerung. Also gab es 2 "Connectors" die in ihre jeweils lokale DB Meldungen geschrieben haben. Selbst bei Nutzung des DBMS-Seitigen NOW() entstanden hier haufenweise doppelte Einträge, die im schlimmsten Fall dann sogar eine falsche Reihenfolge einnahmen und die Meldungslisten effektiv unbrauchbar gemacht haben. (Bei Sätzen mit gleichen Schlüsseln hat die Replikation diese ignoriert. Ich wollte genau dies mit der Synchronisierung erreichen.)

Meine Lösung war am Ende, dass ich dann doch davon abgerückt bin beide Connectors gleichwertig zu behandeln, und es nun immer nur einen gibt, der in die DB schreiben darf. War zwar ein wenig Gehampel es zu schaffen, dass die Instanzen verlässlich ihre gegenseitige Existenz bzw. Nichtexistenz erkennen (insbesondere auch ob sie überhaupt noch Verbindung zur SPS haben), aber das System läuft jetzt seit ein paar Monaten bereits stabil. Und den Krampf mit der Synchronisierung bin ich los. (Jetzt sind nur ggf. Meldungen für wenige Sekunden "verschränkt", wenn tatsächlich der aktuell schreibende PC ausfällt. Das ist eh der Ausnahmefall, und zu verschmerzen.)

Sherlock 24. Okt 2019 08:51

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Zitat:

Zitat von Dalai (Beitrag 1450145)
Zitat:

Zitat von Sherlock (Beitrag 1450120)
Standard Installationen von Windows Clients aktualisieren alle 7 Tage oder beim Einschalten.

Also meine Systeme holen sich die Zeit alle paar Stunden, bei größerer Abweichung auch häufiger (aktuell fragt mein neues System den NTP-Server alle 17 Minuten).

Grüße
Dalai

In einer Domäne wird mit Domänenbeitritt 60 Minuten eingestellt.

Sherlock

Dalai 24. Okt 2019 14:38

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
@Sherlock:
Meine Rechner sind aber kein Domänenmitglied (und es gibt auch keine Domäne hier im LAN). 17 Minuten scheint das Standardintervall zu sein, solange die Abweichung der Uhr größer ist, denn das hab ich bislang auf so ziemlich allen Windows-Versionen gesehen (alles ab XP). Wenn die Abweichung dann nicht mehr so stark ist, werden die Abfrageintervalle größer.

Grüße
Dalai

Sherlock 24. Okt 2019 15:13

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren
 
Das ist interessant. Nach dem was ich so zum Thema gefunden hatte, wäre das nicht normal. Andererseits sind die Artikel ja schnell veraltet.

Sherlock


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz