Step 7 Siemens S7-300 (Simatic Manager) NTP Zeitserver manipulieren

Burkhard

Level-2
Beiträge
161
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo S7-Freunde,

wir haben einen MES Baustein im Einsatz, der sich intern die Systemzeit abgreift und die erfassten Werte (Qualitätsdaten) mit diesem Zeitstempel versieht.

Nun haben wir die NTP Zeitsynchronisation eingeschaltet und die Zeitwerte sind nur in UTC Zeit. Das berücksichtigt weder unsere Zeitzone noch die Sommer / Winter-zeit.

Eine Umrechnung von BT in LT bringt mir gar nichts, da ich diese manipulierte Zeit nicht in den MES-Baustein reinbekomme. Denn dieser holt sich intern die Systemzeit der SPS.

Die Systemzeit der SPS kann ich aber nicht manipulieren.

Gibt es einen NTP Server, wo ich die UTC Zeit manipulieren kann?

Es muss doch eine verdammte Lösung für dieses Problem geben.

Grüße,
Burkhard.
 
Leider nicht. Der MES-Lieferant ist nicht dazu bereit. Wie du sicher weißt, sind größere Anbieter nicht bereit ihre Software flexibel zu ändern. Also muss ich eine andere Lösung finden.

Wenn es nicht möglich ist, die UTC Zeit vom Zeitserver zu manipulieren, dann muss ich die Zeitsynchronisation ausschalten und die Systemzeit der S7-CPU mit der Funktion SET_CLK zyklische setzen.

Die Sollzeit kommt dann allerdings nicht mehr als UTC-Zeit vom Zeitserver, sondern mittels eines selbstgeschriebenen Windows-Dienstes von einem PC in der Anlage. Ich werde dann mittels einer .NET Bibliothek die Windows-Systemzeit (inklusive Zeitzone und Sommer/Winterzeit) zur S7 rüber schreiben und dort dann zyklisch SET_CLK aufrufen.

Somit habe ich dann meine eigene Zeitsynchronisierung geschrieben.

Wenn es nicht anders geht, dann muss man es eben selber machen!
 
Hast du schonmal den geschützten Baustein eines großen Herstellers geändert?

Aber sicher doch. :ROFLMAO: Wenns nötig ist.

Ist das deine Alternative? NTP abschalten und Systemzeit von extern setzen?
S7 CPU Systemzeit setzen mit externer Hochsprachen-Bibliothek

Hast du ein HMI Gerät welches im Netz und die Uhrzeit über NTP synchronisiert und an deiner Steuerung hängt?
Dann könntest du folgendermaßen vorgehen.
Über den Aufgabenplaner rufst du z.B. stündlich ein script auf
Code:
Dim datum,zeit

hmi_datum = Date
hmi_zeit = Time
script_datum_zeit = true 'wird in der steuerung wieder zurückgesetzt
In der Steuerung (siehe Bild)
 

Anhänge

  • Zwischenablage02.jpg
    Zwischenablage02.jpg
    45,4 KB · Aufrufe: 30
Zuviel Werbung?
-> Hier kostenlos registrieren
Du könntest in die S7-300 einen CP343-1 einbauen, diesen auf GMT+1 einstellen und NTP-Sync und Weiterleitung zur CPU aktivieren, dann läuft die CPU-Uhr in GMT+1 (CET). Und wenn während der Sommerzeit die CPU-Uhr in Sommerzeit (CEST) laufen soll, dann stellst Du bei Beginn der Sommerzeit den CP auf GMT+2 um und beim Sommerzeit-Ende wieder zurück (Umstellung des CP erfordert STOP der CPU). (wer weiß, wie oft es noch Sommerzeit gibt?)

Harald
 
Frag den MES Hersteller doch mal, wie er bei einem Ereignis jetzt am 27.10.2019 02:30 Uhr entscheiden will, ob der das als Winterzeit oder Sommerzeit abspeichert. Und was er macht wenn es zu dieser Uhrzeit ein zweites Ereignis gibt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
vlt könnte man ja auch mit usend/urcv ein ntp-protokoll nachbilden und dann mit der antwort die cpu-zeit stellen.
aber damit kenne ich mich leider nicht genug aus.
 
nein. so meine ich das nicht. mit usend sende ich die anfrage an den ntp-server. von dem bekomme ich die antwort und stelle die cpu-zeit mit der 'verrechneten mez-zeit'
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du könntest eine andere im Netzwerk vorhandene 300/400 SPS mit CP als NTP Uhrzeit Empfäger benutzen ,dort einen Baustein laufen lassen der die Lokalzeit berechnet.
Diese dann über einen Datenbaustein an die SPS mit dem MES senden ,und dort mit der SFC 0 SET_CLK die Uhrzeit der CPU stellen.

MfG
 
Die Motherbox 3 von WuT kostet nur 298.-€ und kann unter anderem auch einen NTP-server darstellen. Der kann frei laufen und DEINE Zeit deinem Netzwerk zur Verfügung stellen.

Grüsse Corrado
 
Hallo,

ich weiß nicht, ob ich hier weiterhelfen kann, aber ich habe mal eine Lösung eines lokalen NTP-Servers mit einem Meinberg-Gerät mit der Option der lokalen Zeitverteilung (nicht UTC) gesehen, die richtig SPS synchronisiert hat (in SPS Hardwareconfig GMT wählen).
Noch weitere Option - Synchronisation mit dem WinCC-Clien, falls vorhanden.

Gruß

 
Zurück
Oben