grmg2010
Goto Top

NTP Zeitsynchronisierung zwischen zwei Rechnern

Moin zusammen,

ich versuche gerade ein Zeitsynchrosierung zwischen einer Workstation mit Internetzugriff und einem Industrie-PC der per separaten Netzwerkkabel und ohne Internetzugriff mit dem Windows PC verbunden ist. Auf beiden läuft Windows 10 IoT 2019 LTSC.

Auf der Workstation habe ich nach der folgenden Anleitung den NTP-Server eingerichtet: Einrichtung NTP Server. Die Workstation synchronisiert sich mit dem externen Server ptbtime2.ptb.de. Auf dem Industrie-PC habe ich dann den Server mit dem synchronisiert wird, auf die IP der Workstation angepasst. Manchmal klappt die Synchronisierung, meistens bekomme ich allerdings entweder den Fehler "Es ist ein unerwarteter Fehler aufgetreten" oder, dass der Peer nicht gefunden wurde. Der Befehl w32tm stripchart /computer:[SERVER-IP] /dataonly /samples:5 kann erfolgreich durchgeführt werden, ich bekomme die Abweichung zwischen Workstation und Industrie-PC.

Ich habe mir daraufhin die Kommunikation zwischen den beiden per WireShark angesehen. Es ist zu erkennen, dass der Client beim Server anfragt und auch eine Antwort erhält. Dennoch bekomme ich eine Fehlermeldung und die Zeit wird nicht synchronisiert.

Nutzt jemand das von mir beschriebene Szenario erfolgreich? Wo könnte hier mein Fehler liegen, eine Kommunikation findet zumindest augeschscheinlich statt.

Gibt es eine zuverlässigere Möglichkeit für die Zeitsynchronisation zwischen beiden Geräten? Es können nur onboard Tools verwendet werden, Drittsoftware ist nicht möglich.

Gruß

Content-ID: 1445380709

Url: https://administrator.de/contentid/1445380709

Ausgedruckt am: 24.11.2024 um 14:11 Uhr

beidermachtvongreyscull
beidermachtvongreyscull 29.10.2021 um 14:33:34 Uhr
Goto Top
Zitat von @grmg2010:
Moin zusammen,
Mahlzeit!

ich versuche gerade ein Zeitsynchrosierung zwischen einer Workstation mit Internetzugriff und einem Industrie-PC der per separaten Netzwerkkabel und ohne Internetzugriff mit dem Windows PC verbunden ist. Auf beiden läuft Windows 10 IoT 2019 LTSC.

Auf der Workstation habe ich nach der folgenden Anleitung den NTP-Server eingerichtet: Einrichtung NTP Server. Die Workstation synchronisiert sich mit dem externen Server ptbtime2.ptb.de. Auf dem Industrie-PC habe ich dann den Server mit dem synchronisiert wird, auf die IP der Workstation angepasst. Manchmal klappt die Synchronisierung, meistens bekomme ich allerdings entweder den Fehler "Es ist ein unerwarteter Fehler aufgetreten" oder, dass der Peer nicht gefunden wurde. Der Befehl w32tm stripchart /computer:[SERVER-IP] /dataonly /samples:5 kann erfolgreich durchgeführt werden, ich bekomme die Abweichung zwischen Workstation und Industrie-PC.

Ich habe mir daraufhin die Kommunikation zwischen den beiden per WireShark angesehen. Es ist zu erkennen, dass der Client beim Server anfragt und auch eine Antwort erhält. Dennoch bekomme ich eine Fehlermeldung und die Zeit wird nicht synchronisiert.

Nutzt jemand das von mir beschriebene Szenario erfolgreich? Wo könnte hier mein Fehler liegen, eine Kommunikation findet zumindest augeschscheinlich statt.

Ich nehme an, dass die internetfähige Büchse nicht eine Netzwerkkarte drin hat, sondern zwei, also mulithomed ist.
Das kann funktionieren, muss aber nicht, denn nicht jeder Windowsdienst bindet sich an mehrere Pfade oder erlaubt den entsprechenden Netzwerkpfad zu selektieren. Der Zeitgeber ist nach meiner Kenntnis so einer. Das wäre eine Erklärung, warum es mal funktioniert und dann auch wieder nicht.

Eine weitere Möglichkeit ist fehlerhaftes Routing.

Zitat von @grmg2010:
Gibt es eine zuverlässigere Möglichkeit für die Zeitsynchronisation zwischen beiden Geräten? Es können nur onboard Tools verwendet werden, Drittsoftware ist nicht möglich.

Ich würde nen Raspberry PI mit einer DCF-77-Funkantenne dazwischen hängen und NTP konfigurieren.
erikro
Lösung erikro 29.10.2021 um 15:01:37 Uhr
Goto Top
Moin,

so wie das klingt, muss die Zeit zwischen den beiden Geräten exakt gleich sein. Ich würde es mal mit dem guten alten

net time \\Computername /set

versuchen und das per Aufgabenplanung so oft starte wie notwendig. Das hätte den Vorteil, wenn Du das Ganze in ein kleines Skript verpackst, dass Du eine Schleife programmieren kannst, die so lange läuft, bis der Befehl Erfolg zurückgibt.

Das Problem scheint mir, dass der Server manchmal nicht schnell genug reagiert. Da ist NTP sehr empfindlich. Dann läuft das gerne mal ins Leere. Macht man es sofort danach nochmal, dann geht es wieder.

hth

Erik
grmg2010
grmg2010 29.10.2021 aktualisiert um 15:32:48 Uhr
Goto Top
Ich nehme an, dass die internetfähige Büchse nicht eine Netzwerkkarte drin hat, sondern zwei, also mulithomed ist.
Das kann funktionieren, muss aber nicht, denn nicht jeder Windowsdienst bindet sich an mehrere Pfade oder erlaubt den entsprechenden Netzwerkpfad zu selektieren. Der Zeitgeber ist nach meiner Kenntnis so einer. Das wäre eine Erklärung, warum es mal funktioniert und dann auch wieder nicht.

Eine weitere Möglichkeit ist fehlerhaftes Routing.

Das ist richtig, es sind zwei unterschiedliche Netzwerkkarten um eine reale physische Trennung der beiden Rechner zu haben. Aber müssten dann die Anfragen, die ich in WireShark sehen kann, nicht ins leere laufen? ICh sehe aber auch eine Antwort die zurück kommt.
Eine Lösung mit dem RPI ist in diesem Fall leider nicht möglich.


Zitat von @erikro:

Moin,

so wie das klingt, muss die Zeit zwischen den beiden Geräten exakt gleich sein. Ich würde es mal mit dem guten alten

> net time \\Computername /set
> 

versuchen und das per Aufgabenplanung so oft starte wie notwendig. Das hätte den Vorteil, wenn Du das Ganze in ein kleines Skript verpackst, dass Du eine Schleife programmieren kannst, die so lange läuft, bis der Befehl Erfolg zurückgibt.

Das Problem scheint mir, dass der Server manchmal nicht schnell genug reagiert. Da ist NTP sehr empfindlich. Dann läuft das gerne mal ins Leere. Macht man es sofort danach nochmal, dann geht es wieder.


Das klingt grundsätzlich ganz gut, allerdings sollte gerne der Industrie-PC der Initiator sein.
jsysde
Lösung jsysde 29.10.2021 aktualisiert um 20:30:06 Uhr
Goto Top
N'Abend.

Zitat von @grmg2010:
[...]Das klingt grundsätzlich ganz gut, allerdings sollte gerne der Industrie-PC der Initiator sein.
Das wäre er ja auch - das
net time \\<computername> /set
führst du auf dem Industrie-PC aus, wobei <computername> durch den Namen oder die IP-Adresse deines NTP-Servers zu ersetzen ist.

Cheers,
jsysde
grmg2010
grmg2010 01.11.2021 um 08:34:20 Uhr
Goto Top
Moin,

ich hatte die Funktion falsch verstanden, ich dachte diese wird immer auf dem System ausgeführt, welches die Zeit bereitstellt. Es funktioniert aber so wie gewünscht.