Zeitsynchronisation-einfachster Weg

2young

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Mitstreiter,

ich bin frisch ausgelernter Elektroniker für Betriebstechnik und sitze jetzt in Tschechien in einem Standort meiner Firma und soll alle Anlagen an ein Netzwerk zur Produktionsüberwachung anschliesen.

Da ich hier auch Stückzahlen erfasse und diese zu jedem Schichtbeginn zurücksetzten will benötige ich die interne Modul Uhr, die aber leider völliger Schrott ist und nach ein paar Wochen nicht unerheblich falsch geht.

Habe nun versucht die Uhren im NTP-Verfahren zu synchronisieren. Problem hierbei ist das ich nur die UTC bekomme.

Habe in einem FB einen entsprechenden Offset programmiert mit Sommer Winterzeit Umstellung. (erhlicher weise muss ich zugeben das ich den Baustein von einem Techniker erhalten habe und nur für meine Zwecke modifiziert habe)

Stückzahlen lassen sich damit prima zurücksetzten aber die Modul Uhr geht nach wie vor falsch, was sich suboptimal auf die Zeit auf den Etiketten verschiedener Drucker und und auf die Zeit in den HMI's auswirkt .

Wie bekomme ich es hin, dass die Uhr im Modul richtig geht, gibt es eine möglichkeit meine errechnete Uhrzeit dahin zu übertragen ???

Ist es vlt besser eine Funkuhr von Siemens zu benutzen, und ist es möglich diese Zeit über das Ethernet-Netzwerk an alle anderen Steuerungen zu übertragen ???

Vielen Dank für euere Hilfe.

MfG aus Tschechien
2young
 
Suche mal nach SetClk in der S7-Libary, mit dem Baustein kann man die Interne Uhr aus dem Programm heraus setzen.

Edit: SFC 0 "Set_CLK"
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn man die integrierte Uhrzeitsynchronisation über NTP verwendet, läuft die Uhrzeit immer nach UTC. Lediglich eine Zeitzone lässt sich bei manchen CPs einstellen, bei den PN-CPUs gibt es das schon wieder nicht.
Wenn du versuchst wie von Deltal mit SetClk die Uhr wieder auf Lokalzeit umzustellen, würdest du andauernd an der Uhr stellen müssen, da du für das NTP-Verfahren ein festes Aktualisierungsintervall einstellen musst.

Wenn du das NTP-Verfahren beibehalten willst, müsstest du alle Aufrufe von ReadClk im Programm gegen eine neue Funktion deinerseits ersetzen, die nicht die reine Systemzeit sondern die Lokalzeit zurückgibt.

Am einfachsten wäre es aber, wenn es einen Leitrechner gibt der mit allen SPSen kommuniziert, und dieser in festen Abständen die aktuelle Lokalzeit an diese versendet. Dann kann man mit SetClk mit diesen Daten die Uhrzeit der SPS stellen, sodass diese auch immer nach Lokalzeit geht.

Wenn an der SPS Uhrzeit gestellt wird, habe ich festgestellt dass es sinnvoll ist den OB80 in der SPS zu haben, da dieser ab und an bei Vorstellen der Uhrzeit aufgerufen wird. Da der OB80 aber auch bei Zykluszeitüberschreitung aufgerufen wird, und es hier besser wäre doch in Stop zu gehen, würd ich im OB80 nur auf den entsprechenden Fehlercode reagieren, und bei anderen Fehlern die SPS in Stop setzen.
 
Danke erstmal für euere Hilfe.

Das mit dem Leitrechner hört sich gut an, darüber habe ich auch schon nachgedacht.

Aber wie kann ich diesen konfigurieren ???

Und was ist mit der Siclock 100/400 so wie ich das verstanden habe kann man dieses Modul auch als eine Art Leitrechner verwenden...habt ihr damit schon Erfahrungen gemacht?
Wie kompliziert ist die Konfiguration dieses Moduls ??
 
Danke erstmal für euere Hilfe.

Das mit dem Leitrechner hört sich gut an, darüber habe ich auch schon nachgedacht.

Aber wie kann ich diesen konfigurieren ???
Hängt von deinem Leitrechner ab, und welches System darauf läuft. Mit WinCC und nur Siemens SPS lassen sich die Uhrzeiten auch über ein Tool in WinCC synchronisieren.

Ansonsten müsstest du für jede SPS eine entsprechende Variable anlegen, und dann über zeitgesteuert die aktuelle Uhrzeit in diese Variablen schreiben.

Und was ist mit der Siclock 100/400 so wie ich das verstanden habe kann man dieses Modul auch als eine Art Leitrechner verwenden...habt ihr damit schon Erfahrungen gemacht?
Wie kompliziert ist die Konfiguration dieses Moduls ??
Die Siclock scheint nichts weiter zu machen als einen eigenen NTP-Server mitzubringen. Ich hatte schon andere Karten an PCs im Einsatz die genau so funktionierten (Meinberg, Hopf), mit Synchronisierung über DCF77 oder auch GPS.
Aber diese Karten (bzw. der Server) verteilen die Zeit immer noch als UTC, also du musst weiterhin in der SPS in Lokalzeit umrechnen.

Wenn dir die Genauigkeit der PC Uhr ausreicht, kannst du genau so gut nach einem NTP-Server für Windows suchen, und diesem auf den Leitrechner installieren.

Alternative Lösung:
Du schaust dir mal libnodave an. In der Bibliothek sind Funktionen enthalten um die Uhrzeit der SPS zu stellen, quasi so wie du es aus dem Simatic Manager heraus kannst. Die Uhrzeit die heruntergeschickt wird kannst du dann in deinem Programm festlegen (Lokalzeit oder UTC). Damit hättest du einmal etwas Programmieraufwand mit der entsprechenden Software, bräuchtest dann aber an den SPSen selber nichts mehr machen (evtl. wie oben erwähnt OB80 hochladen).
 
Zurück
Oben