TIA Uhrzeitsynchronisation zwischen Basic Panel und S7-1500

PN/DP

User des Jahres 2011 - 2013; 2015 - 2017; 2020
Beiträge
17.088
Punkte Reaktionen
5.030
Die HMI Zeit kann ich ändern und wird auch übernommen.
Die SPS Zeit bleibt jedoch unverändert.
Ich hab das Siemens Beispiel und den FB210 mal nachgestellt (simuliert) so wie Du beschrieben hast. Bei mir wird die Uhr der simulierten CPU verstellt/gestellt - allerdings um eine Stunde zu hoch! Irgendwo ist da noch ein Kuddelmuddel mit der Sommerzeit... Die HMI-Zeit wird in Winterzeit angezeigt (16:04), dann wird die tatsächliche Uhrzeit genommen (17:04) und die Uhr der CPU dann auf 18:04 gestellt... !!!

Bei Deiner Verwendung des FB210 aus dem Siemens Beispiel wird anscheinend einfach nur nirgends etwas der Variablen zugewiesen, die im HMI angezeigt wird ("DB100_HMI_DataExchange".PLC_Time_RD_SYS_T an Adresse DB100.DBX0.0), daher bleibt da die Anzeige auf "01.01.1990..."

Aus der Beschreibung des Siemens Beispiels:
4.4 Funktionsbaustein „FB210_TimeSyn_HMI_To_PLC“
(...)
Der „FB210“ wurde in „SCL“ umgesetzt und hat die gleiche Funktionalität wie der „FB110_TimeSyn_HMI_To_PLC“. Aus diesem Grund erfolgt an dieser Stelle keine weitere Beschreibung des Bausteins.
Die Parametrierung des Bausteins erfolgt mit den gleichen Variablen wie beim „FB110“.
Derjenige der den FB110 in SCL als FB210 nachprogrammiert hat, hat allerdings den FB-OUTPUT "Current_PLCTime" weggelassen (vergessen?) und dadurch wird die PLC-Zeit nicht in die Variable fürs HMI kopiert. Oder ist dem Programmierer die Diskrepanz zwischen HMI-Uhrzeit und PLC-Uhrzeit aufgefallen und er wollte die unauffällig vertuschen ;) ?

PS: Die Querverweisfunktionen in dem TIA sind echt der letzte Scheixx...

Harald
 
Zuletzt bearbeitet:

PN/DP

User des Jahres 2011 - 2013; 2015 - 2017; 2020
Beiträge
17.088
Punkte Reaktionen
5.030
Zuviel Werbung?
->Hier kostenlos registrieren
:confused: Wie lange stromlos schalten? Die Uhr sollte auch bei stromloser CPU ein paar Wochen weiterlaufen. Laut technischen Daten der CPU: " 6 wk" (Was meint Siemens mit "wk"?)
Hält die Uhrzeitpufferung der 1500 CPUs vielleicht nur 6 "Wenigkeiten" ;) ? Der User ducati hatte mal dazu bemerkt:
Die Uhrzeit hält in ner 1500er nicht so wirklich lange im spannungslosen Zustand...

Harald
 
OP
R

reini

Well-known member
Beiträge
303
Punkte Reaktionen
17
Ich hab das Siemens Beispiel und den FB210 mal nachgestellt (simuliert) so wie Du beschrieben hast. Bei mir wird die Uhr der simulierten CPU verstellt/gestellt - allerdings um eine Stunde zu hoch! Irgendwo ist da noch ein Kuddelmuddel mit der Sommerzeit... Die HMI-Zeit wird in Winterzeit angezeigt (16:04), dann wird die tatsächliche Uhrzeit genommen (17:04) und die Uhr der CPU dann auf 18:04 gestellt... !!!
Vielen Dank Harald. Bei mir beträgt die Differenz zwischen HMI und CPU Zeit (online angeschaut) auch 2 Stunden 😩
Bei Deiner Verwendung des FB210 aus dem Siemens Beispiel wird anscheinend einfach nur nirgends etwas der Variablen zugewiesen, die im HMI angezeigt wird ("DB100_HMI_DataExchange".PLC_Time_RD_SYS_T an Adresse DB100.DBX0.0), daher bleibt da die Anzeige auf "01.01.1990..."

Aus der Beschreibung des Siemens Beispiels:

Derjenige der den FB110 in SCL als FB210 nachprogrammiert hat, hat allerdings den FB-OUTPUT "Current_PLCTime" weggelassen (vergessen?) und dadurch wird die PLC-Zeit nicht in die Variable fürs HMI kopiert. Oder ist dem Programmierer die Diskrepanz zwischen HMI-Uhrzeit und PLC-Uhrzeit aufgefallen und er wollte die unauffällig vertuschen ;) ?
Weisst du was im FB210 zu ergänzen ist damit die PLC Zeit ins HMI kopiert wird?
Bin mit SCL noch nicht so erfahren. Das Problem mit der 2 Stunden Differenz ist dann zwar noch nicht gelöst.
Aber ich hätte dann ein Beispiel wie das alles funktioniert.
PS: Die Querverweisfunktionen in dem TIA sind echt der letzte Scheixx...

Harald
 

PN/DP

User des Jahres 2011 - 2013; 2015 - 2017; 2020
Beiträge
17.088
Punkte Reaktionen
5.030
Weisst du was im FB210 zu ergänzen ist damit die PLC Zeit ins HMI kopiert wird?
Bin mit SCL noch nicht so erfahren. Das Problem mit der 2 Stunden Differenz ist dann zwar noch nicht gelöst.
Aber ich hätte dann ein Beispiel wie das alles funktioniert.
Ruf einfach außerhalb des FB210 in KOP oder FUP die Anweisung RD_SYS_T (oder RD_LOC_T) auf, mit "DB100_HMI_DataExchange".PLC_Time_RD_SYS_T am OUT.

Harald
 
OP
R

reini

Well-known member
Beiträge
303
Punkte Reaktionen
17
Zuviel Werbung?
->Hier kostenlos registrieren
Ruf einfach außerhalb des FB210 in KOP oder FUP die Anweisung RD_SYS_T (oder RD_LOC_T) auf, mit "DB100_HMI_DataExchange".PLC_Time_RD_SYS_T am OUT.

Harald
Danke. Hat mit RD_SYS_T funktioniert.

Die CPU online Zeit ist zwar immer noch um 2 Stunden voraus.
Bei programmierten Fehlermeldungen stimmt die Zeit, das ist wichtigste.

Mit CALL RD_LOC_T wird immer die falsche CPU Zeit angezeigt.

Das ist interessant!

Gruss Reini
CPU Zeit.PNG
HMI aktuell.PNG
 
Zuletzt bearbeitet:

DOD666

Well-known member
Beiträge
476
Punkte Reaktionen
80
Ihr müsst die local time beschreiben, nicht die System time.
Die local time entspricht der aktuellen Uhrzeit. Die System time entspricht UTC.

Schönen Abend
 

Michitronik

Well-known member
Beiträge
124
Punkte Reaktionen
40
Zuviel Werbung?
->Hier kostenlos registrieren
Kleiner Hinweis zu Systemzeit (UTC) und Lokaler Zeit. Die PLC intern arbeitet immer mit der Systemzeit. Wenn man die Zeit einstellen will und dies mit der aktuellen Lokalen Zeit machen will, muss dass mit WR_LOC_T gemacht werden. Die PLC wird dann die Systemzeit intern unter Berücksichtigung der Konfiguration bezüglich Zeitzone und Sommer/Winterzeitumschaltung setzen.
Die UTC Zeit braucht die PLC, damit z.B. das Prüfen von Zertifikaten funktionieren kann.
 

NBerger

Well-known member
Beiträge
662
Punkte Reaktionen
159
Warum stellst du die Uhrzeit/Datum nicht mit "SetzePLCDatumUhrzeit"? das sollte auch bei den Basic-Panels gehen (laut Hilfe)

Was wirklich wichtig ist sind die Zeitzonen auf der SPS UND dem Panel!
 
OP
R

reini

Well-known member
Beiträge
303
Punkte Reaktionen
17

Ludewig

Well-known member
Beiträge
521
Punkte Reaktionen
64
Zuviel Werbung?
->Hier kostenlos registrieren
In meinen Projekten mit Basic Panels hatte ich das Problem, das die Panels keine automatische Sommerzeitumstellung konnten. Daher habe ich im Panel immer per Bereichszeiger die Lokalzeit der CPU angezeigt und auch nur diese gestellt, sei es per NTP oder lokal über das Panel.
Macht man das anders, so hat man doch immer mögliche Differenzen?!
 

Peter Wahlen

Well-known member
Beiträge
389
Punkte Reaktionen
130
Hallo,

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.

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

reini

Well-known member
Beiträge
303
Punkte Reaktionen
17
Hallo,

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.

Ich kann nur unter "Slave" und "kein" auswählen. Master ist nicht aufgelistet.

Modus HMI -Zeitsynchronisation.png
Keine Bereichszeiger für Uhrzeit verwenden! Die brauchte man bei 300/400er SPSen.
Warum keine Bereichszeiger bei S7-1500 verwenden?

Gruss Reini
 

Peter Wahlen

Well-known member
Beiträge
389
Punkte Reaktionen
130
Warum keine Bereichszeiger bei S7-1500 verwenden?

Gruss Reini

Hallo Reine,

ich hatte geschrieben:
Keine Bereichszeiger für Uhrzeit verwenden!

Die sind bei 1200 und 1500 unnötig, diese Steuerungen erledigen das über Ihr Betriebssystem. Warum Programmcode, Speicherplatz und Programmierzeit verschwenden?

Und Master kannst du evtl. nicht einstellen, weil du nur ein Basic-Panel hast.
 
OP
R

reini

Well-known member
Beiträge
303
Punkte Reaktionen
17
Hallo Reine,

ich hatte geschrieben:
Keine Bereichszeiger für Uhrzeit verwenden!
das habe ich auch so verstanden :)
Die sind bei 1200 und 1500 unnötig, diese Steuerungen erledigen das über Ihr Betriebssystem. Warum Programmcode, Speicherplatz und Programmierzeit verschwenden?

Und Master kannst du evtl. nicht einstellen, weil du nur ein Basic-Panel hast.
Wenn beim Basic Panel kein "Master" ausgewählt werden kann, ist dann "SetzePLCDatumUhrzeit" realisierbar?
 
Oben