Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 32

Thema: Uhrzeitsyncro - Fehler bei vollen Zahlen

  1. #11
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    9.535
    Danke
    816
    Erhielt 2.812 Danke für 2.266 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von sleepless Beitrag anzeigen
    2. Um die Sommer/Winterzeit zu bekommen muss die Stunde verstellt werden.

    Nichts anderes habe ich eingepflegt. Ich bearbeite nur die Stunde und bleibe trotzdem synchron.
    Die Uhr muß nicht verstellt werden. Die Sommerzeit kann aus der unverstellten Uhrzeit berechnet werden. Die Uhr verstellen ist schlichtweg der falsche Weg.

    Du scheinst wohl auch bei Deinem eigentlichen Problem keinen Plan zu haben, was Du da eigentlich machst...
    Oder erkläre uns mal, wie bei Dir die Uhrzeitsynchronisation und die Winter/Sommerzeitzeitumstellung per Verstellen der SPS-Uhr funktioniert (oder funktionieren soll). Spielst Du zum Umstellungszeitpunkt jedesmal eine geänderte HW-Konfig ein? Oder findet Deine NTP-Synchronisation nur zweimal im Jahr statt?

    Nochmal langsam: bei aktivierter Uhrzeitsynchronisation ist es sinnlos die Uhr zu verstellen, weil beim nächsten Synchronisationszeitpunkt die Uhr wieder auf die vom NTP-Server abgeleitete Uhrzeit gestellt wird. Ein einmaliges Verstellen hat keinen Bestand und ein zyklisches Verstellen würde zu einem zyklischen vor/zurück-Springen der Uhr führen. Kannst Du folgen?

    (Im übrigen reicht es bei (zyklischem) Verstellen nicht, nur die Stunde zu verstellen. Ab 23:00 müßte auch das Datum verstellt werden.)

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  2. #12
    Registriert seit
    07.10.2010
    Beiträge
    44
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Die Sommerzeit kann aus der unverstellten Uhrzeit berechnet werden. Die Uhr verstellen ist schlichtweg der falsche Weg.
    Und das funktioniert nicht. Die Uhr verstellen ist der einzige Weg.
    Warum?
    Weil es kein Trigger gibt, der mir sagt "So, jetzt wurde per NTP Synchronisiert". Wurde mir hier im Forum schon mehrfach bestätigt. Also, wat willst dann wie berechnen lassen, wenn du nicht weißt, wann er rechnen soll?
    Bin jedenfalls offen für eine Lösung, um das synchron umrechnen zu lassen. Das war mein erster Ansatz - und darauf konnte mir niemand bis dato eine Lösung Präsentieren.

    Du scheinst wohl auch bei Deinem eigentlichen Problem keinen Plan zu haben, was Du da eigentlich machst...
    Oh, wohl mehr als du glaubst. Ich hab meine Variante seid zwei Wochen Astrein am laufen. NTP Synchron und um eine Stunde verstellt - Sommerzeit

    Ein einmaliges Verstellen hat keinen Bestand und ein zyklisches Verstellen würde zu einem zyklischen vor/zurück-Springen der Uhr führen. Kannst Du folgen?
    Vollkommen richtig. Nur wer sagt, das ich das einmalig mache?
    Mein Eingangs gezeigtes Script lässt eher auf eine Aktion / Reaktion Programmierung schließen.
    Um's ganz grob zu sagen habe ich es so realisiert: Stellt der Horst mir die Stunde um 1 während der Sommerzeit zurück (Aktion), so verstelle ich die Stunde wieder um 1 nach oben (Reaktion).
    Und es wird per NTP Stündlich Synchronisiert.

    Und dieses Prinzip funktioniert wunderbar. Um das ganze halt nur auf die Sommerzeit zu beschränken brauchte ich das fertige Script zur Ermittlung "Wann ist Sommer"...

    (Im übrigen reicht es bei (zyklischem) Verstellen nicht, nur die Stunde zu verstellen. Ab 23:00 müßte auch das Datum verstellt werden.)
    Reicht, wenn man das auf Tag & Monat beschränkt...

  3. #13
    Registriert seit
    06.10.2003
    Beiträge
    3.188
    Danke
    408
    Erhielt 462 Danke für 371 Beiträge

    Standard

    Zitat Zitat von sleepless Beitrag anzeigen
    .. Reicht, wenn man das auf Tag & Monat beschränkt...
    Kannst du sicherstellen dass die CPU zu dem gewünschten Zeitpunkt läuft?
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  4. #14
    Registriert seit
    07.10.2010
    Beiträge
    44
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    In meinem Fall rennt die Kiste 365 Tage 24/7...

  5. #15
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.302
    Danke
    682
    Erhielt 591 Danke für 452 Beiträge

    Standard

    Zitat Zitat von sleepless Beitrag anzeigen
    Vollkommen richtig. Nur wer sagt, das ich das einmalig mache?
    Mein Eingangs gezeigtes Script lässt eher auf eine Aktion / Reaktion Programmierung schließen.
    Um's ganz grob zu sagen habe ich es so realisiert: Stellt der Horst mir die Stunde um 1 während der Sommerzeit zurück (Aktion), so verstelle ich die Stunde wieder um 1 nach oben (Reaktion).
    Und es wird per NTP Stündlich Synchronisiert.
    Gut hast du nix am laufen, dass zu einer bestimmten Zeit etwas tun muss.
    Ist dir klar dass diese krude Programmierung z.B. bei den Neuen CPUs und Panels dann auch zu einem Zeitspringen im Panel führen kann? Völlig unvorhergesehen?

    Wann Syncht eigentlich NTP synch die ZEIT? am Anfang des Zyklus? am Ende? Mittendrin?

    mfG René

  6. #16
    Registriert seit
    07.10.2010
    Beiträge
    44
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von vollmi Beitrag anzeigen
    Ist dir klar dass diese krude Programmierung z.B. bei den Neuen CPUs und Panels dann auch zu einem Zeitspringen im Panel führen kann? Völlig unvorhergesehen?
    Diese Programmierung ist bei den neuen Panels auch nicht mehr notwendig, da die Panels am Netzwerk hängen, selbst syncen und weil Betriebssystem auch fein selber die Sommerzeit bilden.
    Und dann synct man sowieso vom Panel zur sps und nicht anders herum.

    Deshalb verstehe ich deine Frage nicht...

    Wann Syncht eigentlich NTP synch die ZEIT? am Anfang des Zyklus? am Ende? Mittendrin?
    Kein Plan. Habs in den Dokumentationen gesucht und net gefunden. Und dafür extra etwas zu basteln schien mir zu aufwendig. Ich teste lieber... Und bis jetzt alles top.
    Selbst den logs, die auf dem Panel geschrieben werden, stört das net, da zu träge...

  7. #17
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.302
    Danke
    682
    Erhielt 591 Danke für 452 Beiträge

    Standard

    Wie Harald schon gesagt hat

    Zitat Zitat von PN/DP Beitrag anzeigen
    Die Uhr muß nicht verstellt werden. Die Sommerzeit kann aus der unverstellten Uhrzeit berechnet werden. Die Uhr verstellen ist schlichtweg der falsche Weg.
    Es ist auch für die 300er ein völlig sinnloses unterfangen die uhrzeit entgegen die NTP synchronisation zu verstellen. Ich sehe auch überhaupt keine Notwendigkeit drin, denn für alles was man im Programm macht, kann man die lokalzeit errechnen (inkl. Sommerzeit) da man ja die Zeit eh erst in eine Variable kopieren muss. kann man da auch gleich eine globale Lokalzeitvariable erstellen.

    Das einzige das bei der 300 direkt mit der Systemzeit arbeitet ist die Diagnose. Da könnte man ja die Lokalzeit wollen, nur so wie du das jetzt machst weiss man in der Diagnose überhaupt nie welche zur Lokalzeit abgelegt wurde und welche zu UTC (oder GMT). Weil du ja frischfröhlich azyklisch an der Systemzeit rumschraubst.

    Aber vielleicht fehlt uns auch der Durchblick und du kannst uns auch nur einen sinnvollen Grund für deine Vorgehensweise nennen?

    Zitat Zitat von sleepless Beitrag anzeigen
    Und das funktioniert nicht. Die Uhr verstellen ist der einzige Weg.
    Warum?
    Weil es kein Trigger gibt, der mir sagt "So, jetzt wurde per NTP Synchronisiert". Wurde mir hier im Forum schon mehrfach bestätigt. Also, wat willst dann wie berechnen lassen, wenn du nicht weißt, wann er rechnen soll?
    Bin jedenfalls offen für eine Lösung, um das synchron umrechnen zu lassen. Das war mein erster Ansatz - und darauf konnte mir niemand bis dato eine Lösung Präsentieren.
    Wozu brauchst du einen Trigger um zu merken jetzt wurde per NTP synchronisiert? Es reicht doch das du weisst die Systemzeit wird regelmässig synchronisiert.
    Mir read_clk liest du die Zeit addierst die ggf Zeitzone (wenn Systemzeit auf UTC synchronisiert wird) ggf noch die Sommerzeit und schon hast du die Lokalzeit welche du in einer Variable hast. Und mit der Variable kannst du immer arbeiten weil da immer die korrekte Lokalzeit drin steht, scheissegal wann NTP das letzte mal synchronisiert hat.
    Rechnen tust du also immer. In jedem Zyklus. Nur schreibst du nicht die Systemzeit zurück sondern arbeitest mit der Lokalzeit in der Variable.

    mfG René

  8. #18
    Registriert seit
    07.10.2010
    Beiträge
    44
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von vollmi Beitrag anzeigen
    Nur schreibst du nicht die Systemzeit zurück sondern arbeitest mit der Lokalzeit in der Variable.
    Richtig, demnach wäre der Mist überflüssig.

    Nur WinCC arbeitet nicht mit selbst erstellten Variablen zusammen. Das verkorkste Programm ever nimmt für Kurvendarstellungen, Fehlerlogs etc. immer die Systemzeit der CPU. Und darin liegt der Grund meiner Auswahl.
    Es seidenn, ich hab irgendwo im WinCC Flex. eine Einstellung übersehen, in der man dafür eine Individuelle Variable nehmen kann...

  9. #19
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.302
    Danke
    682
    Erhielt 591 Danke für 452 Beiträge

    Standard

    Aber du synchronisierst doch die CPU Zeit mit dem NTP Server. Nicht das Panel.
    Dem panel schickst du dann die Lokalzeit zum Synchronisieren.
    Ich nehme an mit Fehlerlogs meinst du die Meldebehandlung. Da nimmt er die Panelzeit, nicht die CPU Zeit. Die ist dem Panel egal.

    mfG René

  10. #20
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.064
    Danke
    396
    Erhielt 612 Danke für 461 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Bekommt man auf der 300/400, in Verbindung mit Uhrzeit-OBs wie OB10-17 keine Uhrzeitfehler?
    Wenn die Systemzeit der CPU vom NTP auf UTC+1 und dann erst irgendwo im Zyklus auf CEST gestellt wird,
    müsste, sofern man die OBs nutzt, doch wahrscheinlich jedesmal ein Fehler kommen wenn die Systemzeit sich ändert.

    Gibt's dafür nicht sogar ein Diagnoseereignis wegen "Uhrzeitsprung" mit OB80-Aufruf?

    Wenn per NTP und die CPU nicht auf UTC laufen darf, dann würd ich auch eher NTP->Panel->CPU machen bevor ich da ständig Uhrzeitsprünge hab.

    Edit: Hatte das Problem vor einiger Zeit sogar schon mal...
    CPU-Stop durch Uhrzeitsprung
    Geändert von RONIN (10.08.2016 um 11:27 Uhr) Grund: Nicht OB35 sonder OB10-17....
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

Ähnliche Themen

  1. Step 7 Problem bei Berechnung von REAL Zahlen
    Von Erema im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 30.05.2015, 13:04
  2. exponentielle Zahlen verursachen Fehler
    Von Stromtier im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 02.02.2014, 11:16
  3. nicht vollen Zugriff im Logomenü
    Von ouzo im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 08.02.2013, 10:35
  4. Wandeln von IEEE 754 Zahlen bei der Modbus-RTU Biliothek
    Von WaEv im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 14.01.2010, 19:26
  5. Impuls zur vollen Stunde
    Von thotrix im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 12.12.2006, 09:57

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •