TIA S7 1500 CPU Uhrzeit verändert sich sporadisch

Dublin

Level-2
Beiträge
25
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
hat jemand schon Erfahrung mit dem Problem, dass sich sporadisch die Systemzeit der SPS ändert?
Seit V17 stellen ist uns das Problem bekannt und wir haben noch keine Lösung gefunden.

Bei mir handelt es sich um eine 1516F-3PNDP mit TIA V18. Der Support kann das Problem nicht nachstellen.
Das Projekt ist seit V14 unverändert als Grundlage immer wieder übernommen worden.

Meine letzte Lösung wäre, den Vollschutz der SPS zu setzen, damit nichts und niemand mehr ohne Passwort auch nur irgendwas an der SPS verstellen kann.

Unsere KTP700 und der IPC477 greifen per "Globale Bereichszeiger des Bediengeräts" aud den DB zu, welcher in der SPS mit RD_LOC_T zyklisch gelesen wird.
Der Bereichszeiger am PC greift absolut auf den DBW18 mit Länge 6 zu.
Die KTP700 symbolisch auf den Typ Date_and_Time 18.0.

Ich kann mir das gar nicht erklären wo dieses Problem her kommt. Ich weiß nur, dass ich das so nicht lassen kann und eine Erkenntnis brauche.
Meine letzte Idee wäre noch ein PCAP und dann mühevoll den Datenverkehr analysieren um zu sehen, was die SPS Zeit setzt.

Hat jemand von euch noch eine rettende Idee??
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Unsere KTP700 und der IPC477 greifen per "Globale Bereichszeiger des Bediengeräts" aud den DB zu, welcher in der SPS mit RD_LOC_T zyklisch gelesen wird.
Mit "Globale Bereichszeiger des Bediengeräts" meinst Du den Bereichszeiger "Datum/Uhrzeit PLC"? Der muß natürlich mit der Lokalzeit der CPU gefüttert werden - RD_LOC_T ist also richtig. Dieser Bereichszeiger hat aber nichts mit dem Verstellen der CPU-Uhr zu tun.

Wird irgendwo im Programm der SPS WR_SYS_T oder WR_LOC_T aufgerufen? Sind da vielleicht Fehler im Code?
Wie oft ist "sporadisch"? Einmal im Monat? Alle paar Minuten? Um wieviel verstellt sich die Uhr? Genau um 1 Stunde?
Wird die SPS manchmal oder regelmäßig ausgeschaltet? Für wie lange?
Gibt es für die Uhr der CPU eine Uhrzeitsynchronisation? Was für eine?
Du hast anscheinend 2 HMI (KTP700 Basic Panel und IPC477)? Gibt es da eine Funktion um Datum/Uhrzeit zur CPU 1516 zu senden? Womöglich in beiden HMI und die stören sich manchmal gegenseitig?

Harald
 
Hallo Dublin,

wieso verwendet ihr Bereichszeiger für die Uhrzeit?
Bei der 1200 und der 1500 muss man zur Uhrzeitsynchronisation nur beim Terminal bei Verbindungen Master oder Slave einstellen.

Bei Einstellung Slave dann nur noch auf der Seite, wo man die Terminal Uhrzeit stellt, einen Button mit Ereignis bei Klicken SetzePLCDatumUhrzeit. Damit übertragt das Panel Datum / Uhrzeit zur SPS.
Bei Master braucht man diesen Button nicht.
1681796817359.png

Keine Bereichszeiger für Uhrzeit verwenden! Die brauchte man bei 300/400er SPSen.

Zeitzonen bei SPS und Panel sollten natürlich gleich sein, weil die Uhrzeit mit UTC0 übertragen wird.
 
Hallo,

die Uhrzeit verstellt sich sporadisch. Gefühlt, immer dann wenn Betrieb auf der Anlage ist, eigentlich nie, wenn keiner in der Firma ist.
Die Differenz ist auch nicht so, dass ich da irgendein System dran erkennen könnte.
Die SPS wird nicht ausgeschaltet. Uhrzeitsynchronisation in den Geräteeinstellungen ist deaktiviert.
WR_LOC_T wird genau ein Mal verwendet, und das beim manuellen Einstellen der SPS Zeit über HMI. Den WR_LOC_T habe ich jetzt aber per EN false deaktiviert.
WR_SYS_T - keine Verwendung.
Ich habe 7 Stk. KTP700 und 1 Stk. IPC477 - mein Kollege hat nur ein KTP700 mit einer kleineren 1500 SPS und die selben Probleme.
Mir ist, keine Funktion in WinCC Adv bekannt, mit der ich die SPS Zeit ändern könnte.

Am 13.04.2023 um 15:42 gab es eine z.B. Änderung auf 14.07.2004 4:22.
Es kam auch schon vor, dass es mal eine oder zwei Stunden mehr waren und das drei Mal am Tag.
Beim letzten Mal, hat sich die Uhrzeit direkt nach dem Einstellen über die SPS-Diagnose wieder verändert. Gefühlt zwei Mal.

Ich befürchte fast, dass irgendeine Fremd-Hard-/Software die SPS Zeit stellt.

IPC:
1681798244558.png


KTP700:1681797917579.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Peter,

mit der Uhrzeitthematik hat sich seit TIA keiner mehr beschäftigt :(.
Weil es bis jetzt funktioniert hat.
Trotzdem dürfte der Bereichszeiger keine Möglichkeit besitzen, die Systemzeit zu ändern.

Ich ändere das jetzt nach deiner Vorlage.
 
Hallo Peter,

mit der Uhrzeitthematik hat sich seit TIA keiner mehr beschäftigt :(.
Weil es bis jetzt funktioniert hat.
Trotzdem dürfte der Bereichszeiger keine Möglichkeit besitzen, die Systemzeit zu ändern.

Ich ändere das jetzt nach deiner Vorlage.
Ich hatte das Thema bei der ersten 1200 bzw. 1500 mal angepackt, scheint etwas einfacher zu sein. Wichtig ist: 1 Master, alle anderen Slave.

evtl. noch diesen Artikel beachten (weil ein IPC vorhanden):
 
und evtl. auch noch die Hilfe beachten:
Code:
Uhrzeitsynchronisation   
Einleitung
Um anlagenweit dieselbe Uhrzeit zu haben, synchronisieren Sie die Uhrzeit der unterschiedlichen Komponenten der Anlage mit Hilfe der Uhrzeitsynchronisation. Die Uhrzeitsynchronisation von WinCC wird als Master-Slave-System betrieben.
Damit alle Komponenten einer Anlage mit einer identischen Uhrzeit arbeiten, muss eine Systemkomponente Zeitgeber für alle anderen Komponenten sein. Die als Zeitgeber fungierende Komponente wird als Uhrzeit-Master bezeichnet. Die zeitempfangenden Komponenten sind die Uhrzeit-Slaves.
Eigenschaften der Uhrzeitsynchronisation
Das Bediengerät kann als Master die Uhrzeit vorgeben oder die Uhrzeit von der Steuerung als Slave übernehmen.
Im "Master-Mode" wird eine Uhrzeitsynchronisation bei jedem Verbindungsaufbau durchgeführt.
Im "Slave-Mode" wird bei jedem Verbindungsaufbau und danach alle 10 Minuten eine Uhrzeitsynchronisation durchgeführt.
Die erste Uhrzeitsynchronisation wird sofort nach dem Start der Runtime am Bediengerät durchgeführt.
Die Uhrzeitsynchronisation wird nur während des Betriebs der Runtime auf dem Bediengerät ausgeführt.
--------------------------------------------------------------------------------
 
Zuviel Werbung?
-> Hier kostenlos registrieren
wieso verwendet ihr Bereichszeiger für die Uhrzeit?
Vielleicht weil das zur Zeit die einzige wirklich funktionierende Art ist, die Uhr der HMI inklusive Sommerzeit automatisch und korrekt zu synchronisieren?
Oder funktioniert nun in TIA V18 endlich die TIA-"Modus HMI-Zeitsynchronisation" korrekt ohne zusätzliche Klimmzüge?

Am 13.04.2023 um 15:42 gab es eine z.B. Änderung auf 14.07.2004 4:22.
Könnte vielleicht eine fehlerhafte indirekte Adressierung im SPS-Programm den WR_LOC_T ausgelöst haben? Oder die auslösende Variable wurde auf andere Weise von einem HMI oder einem fremden Netzteilnehmer so überschrieben, daß ohne korrektes Datum/Uhrzeit WR_LOC_T ausgelöst wurde? Lege doch mal die auslösende Variable auf eine andere Adresse am besten in einem anderen DB und/oder gib ihr einen anderen Name (falls in "optimiertem" Speicher).

Harald
 
Vielleicht weil das zur Zeit die einzige wirklich funktionierende Art ist, die Uhr der HMI inklusive Sommerzeit automatisch und korrekt zu synchronisieren?
Oder funktioniert nun in TIA V18 endlich die TIA-"Modus HMI-Zeitsynchronisation" korrekt ohne zusätzliche Klimmzüge?

Da hast du natürlich recht, das Problem habe ich aber nicht, weil ich seit mehreren Jahren keine Sommerzeitumstellung mehr aktiviere, irgendwann kommen doch evtl. mal die dazu entscheidenden Politiker in Gänge und dann verlangt der Kunde überall die Umstellung zu deaktivieren, dann lieber bewusst ohne.
Aber die Synchronisation SPS<->Panel funktioniert immer, du darfst im Sommer nur nicht die SPS Zeit vom PG/PC übernehmen, sondern im Panel einstellen und dann mit SPS synchronisieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe bei allen KTPs und dem IPC die Zeitsynchronisation auf Slave gestellt und die Bereichzeiger entfernt.
Gleichzeitig habe ich die WR_LOC_T deaktiviert und mir einen klassischen Merker beim Triggerversuch der Funktion gesetzt.

Bis jetzt - keine Zeitverstellung mehr.

Vielen Dank für Eure Unterstützung!

Um die Ursache lokalisieren zu können, würde ich mal bei einem KTP wieder die Zeitsync deaktivieren und den Bereichszeiger nutzen.

Andere Frage bzgl. NTP:
Wenn ein NTP Server zur Verfügung steht, würdet ihr den NTP eher bei der SPS eintragen oder am IPC und diesen dann als Master setzen?
Ich sehe beim IPC mit dem Windows mehr Flexibiltät auch bezüglich der Sommerzeitproblematik. Bei der SPS wird auch mit einem Sicherheitsrisiko gewarnt, und bei einer NTP Server Änderung müsste ich die Hardware neu laden, was bei einer F-CPU(Master) nicht unbedingt schön ist.
 
Wenn ein NTP Server zur Verfügung steht, würdet ihr den NTP eher bei der SPS eintragen oder am IPC und diesen dann als Master setzen?
Sinnvollerweise macht man die Uhr der PLC zum Uhrzeit-Master und die HMI werden Slave der PLC Uhr. Und da macht es nur Sinn, die PLC-Uhr mit einem NTP-Server zu synchronisieren. Oder PLC und HMI synchronisieren sich unabhängig selbst mit einem NTP-Server. Aber nicht die HMI als Master setzen gegenüber der PLC.

Für mich macht es keinen Sinn, ein HMI zum Uhrzeit-Master gegenüber einer PLC als Uhrzeit-Slave zu machen. Normalerweise ist in einer Anlage eine PLC und eine oder mehrere HMI. Es kann nur einen Uhrzeit-Master geben. Bei mehreren HMI: welches soll da der Master sein und wer kann sich das merken, welches HMI anders als die anderen eingestellt werden muß? Es kann zum STOP der PLC führen, wenn ein HMI der Uhrzeit-Master ist und wenn beim Aufbau der HMI-Verbindung zur PLC die Uhr des HMI (noch) nicht stimmt.

Wir hatten hier im Forum schon mal eine Diskussion, was passieren kann wenn die HMI-Uhr der Master ist, die Forumssuche findet das Thema nur gerade nicht.

Harald
 
Gleichzeitig habe ich die WR_LOC_T deaktiviert und mir einen klassischen Merker beim Triggerversuch der Funktion gesetzt.

Du brauchst auch den WR_LOC_T nicht mehr (und auch keinen Merker), wenn du vom Panel die Zeit schreiben willst:
Mach das mit der Panel Funktion SetzePLCDatumUhrzeit.
 

Anhänge

  • 1682061799586.png
    1682061799586.png
    31 KB · Aufrufe: 32
  • 1682061819432.png
    1682061819432.png
    29,5 KB · Aufrufe: 30
  • 1682061844788.png
    1682061844788.png
    29 KB · Aufrufe: 30
SetzePLCDatumUhrzeit funktioniert nicht in der Sommerzeit.
Ich hatte ja schon in #10 geschrieben, dass (und warum) ich keine Sommerzeit verwende, und deshalb bei SPS und Panel die Sommerzeitumstellung deaktiviert habe. Ich habe bei beiden Geräten nur die selbe (und richtige) Zeitzone eingestellt.

Diese Auszug aus der Panel Anleitung könnte erklären, warum das ganze bei Sommerzeit nicht richtig funktioniert, man muss ja manuell in der Panel-Systemsteuerung den Haken bei "Daylight savings time currently in effect" aktivieren / deaktivieren.
Code:
Hinweis
Die Umstellung zwischen Winterzeit und Sommerzeit erfolgt nicht automatisch.
7. Wenn Sie von Winterzeit auf Sommerzeit umschalten wollen, aktivieren Sie das
Kontrollkästchen "Daylight savings time currently in effect".
Mit "Apply" wird die Uhrzeit um eine Stunde weiter gestellt.
8. Wenn Sie von Sommerzeit auf Winterzeit umschalten wollen, deaktivieren Sie das
Kontrollkästchen "Daylight savings time currently in effect".
Mit "Apply" wird die Uhrzeit eine Stunde zurückgestellt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hatte ja schon in #10 geschrieben, dass (und warum) ich keine Sommerzeit verwende
Deshalb kannst Du aber nicht davon ausgehen, daß Fragesteller das auch so machen, und Tipps geben ohne Hinweis, daß die nur bei deaktivierter Sommerzeit funktionieren.
 
Ich hatte ja schon in #10 geschrieben, dass (und warum) ich keine Sommerzeit verwende, und deshalb bei SPS und Panel die Sommerzeitumstellung deaktiviert habe. Ich habe bei beiden Geräten nur die selbe (und richtige) Zeitzone eingestellt.

Diese Auszug aus der Panel Anleitung könnte erklären, warum das ganze bei Sommerzeit nicht richtig funktioniert, man muss ja manuell in der Panel-Systemsteuerung den Haken bei "Daylight savings time currently in effect" aktivieren / deaktivieren.
Code:
Hinweis
Die Umstellung zwischen Winterzeit und Sommerzeit erfolgt nicht automatisch.
7. Wenn Sie von Winterzeit auf Sommerzeit umschalten wollen, aktivieren Sie das
Kontrollkästchen "Daylight savings time currently in effect".
Mit "Apply" wird die Uhrzeit um eine Stunde weiter gestellt.
8. Wenn Sie von Sommerzeit auf Winterzeit umschalten wollen, deaktivieren Sie das
Kontrollkästchen "Daylight savings time currently in effect".
Mit "Apply" wird die Uhrzeit eine Stunde zurückgestellt.
im FAQ vom Siemens steht, dass Du in der SPS n Bit generierst, ob grad Sommerzeit ist. Damit dann im Panel mit nem Script den Haken "Daylight savings time currently in effect" automatisch aktivieren...
 
im FAQ vom Siemens steht, dass Du in der SPS n Bit generierst, ob grad Sommerzeit ist. Damit dann im Panel mit nem Script den Haken "Daylight savings time currently in effect" automatisch aktivieren...
Das FAQ kenne ich (noch) nicht. Hast du da einen Link zu?
Lt. der Panel Anleitung muss das Panel auch nach Änderung dieses Bits neu gestartet werden.
Was ist bei Basic Panels ohne Script?
 
Zurück
Oben