TIA Zeitzonen-Berechnung mit Funktion SET_TIME

Eraser

Level-2
Beiträge
173
Reaktionspunkte
10
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich habe eine S7-1214-CPU und stelle über NTP-Server die aktuelle UTC-Zeit, soweit so gut und funktioniert auch.
Die integrierte Zeitzoneneinstellung der CPU funktioniert aber anscheinend mit der automatischen Synchronisierung über einen NTP-Server nicht.
Jetzt habe ich auf der CPU einen Zeitunterschied von 2h (Zeitzone 1h + Sommerzeit 1h).


Mit dem Baustein SET_TIMEZONE wollte ich die Zeitzone manuell nachberechnen.
Am Eingang "TimeZone" des Bausteins braucht dieser aber den Datentyp "TimeTransformationRule".

Nun habe ich einen neuen Datentyp erstellt, mit dem Aufbau dieser TimeTransformationRule.
Danach einen DB erstellt, in welchem dieser neue Datentyp verwendet wird.
Wenn ich aber am Eingagn "TimeZone" des Bausteins nun den DB auswähle, sagt er mir immer, dass die Datentypen nicht zusammen passen.
Ich kann aber den Namen des neuen Datentyps nicht auf "TimeTransformationRule" ändern, sondern muss bei z.B. "Time TransformationRule" bleiben, da es anscheinend schon einen gibt.
Kann es sein, dass dieser ein System-Datentyp ist? Wie bekomme ich dann diesen, anstatt einen Anwender-Datentyp zu erstellen?

Hat allgemein jemand Erfahrung mit diesem Baustein? Ist mein Weg richtig so?

mfg
Wolfgang
 
Hallo!
Ich habe eine S7-1214-CPU und stelle über NTP-Server die aktuelle UTC-Zeit, soweit so gut und funktioniert auch.
Die integrierte Zeitzoneneinstellung der CPU funktioniert aber anscheinend mit der automatischen Synchronisierung über einen NTP-Server nicht.
Jetzt habe ich auf der CPU einen Zeitunterschied von 2h (Zeitzone 1h + Sommerzeit 1h).
Welche Funktion nimmst du denn zum auslesen der Systemzeit?
Wenn du "RD_SYS_T" nimmst bekommt du die Systemzeit ohne die Lokalzeitkorrekturen der CPU. Wenn du die auch haben willst musst
du "RD_LOC_T" verwenden.

Bei der letzten 1200 (und einzigen bei der ich NTP verwendet habe) hat das prima funktioniert.

Kann es sein, dass dieser ein System-Datentyp ist? Wie bekomme ich dann diesen, anstatt einen Anwender-Datentyp zu erstellen?
Wenn TIA schon meckert das der Datentyp bereits existiert, hast du schon mal versucht in einem DB einfach einen Eintrag damit zu erstellen?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Datentyp "TimeTransformationRule" müßte in dem TIA eigentlich schon vorhanden sein. Eventuell muß der erst noch dem Projekt zugefügt werden? (Wird der nicht automatisch "bekannt" dadurch daß Du den Baustein SET_TIMEZONE in Deinem Projekt hinzugefügt hast und verwendest?)

Ich würde in einem beliebigen DB eine Variable vom Typ "TimeTransformationRule" anlegen und diese Variable (nicht den ganzen DB!) an den entsprechenden Eingang des Bausteins SET_TIMEZONE geben.

Gibt es in der TIA-Hilfe keine Anleitung und kein Beispiel dazu?

PS: zu langsam... RONIN hat wohl schon alles gesagt.

PPS: ist der 1214-CPU denn bekannt, in welcher Zeitzone sie ist? Das kann doch bestimmt irgendwo eingestellt werden, ansonsten gäbe es ja keinen Unterschied zwischen Systemzeit und lokaler Zeit.

Harald
 
Zuletzt bearbeitet:
Nein Datentyp ist nur durch Verwenden von SET_TIMEZONE nicht automatisch bekannt.
Leider steht in der TIA-Hilfe auch nichts Genaues dazu, kein Beispiel oder sowas...

Aber habe jetzt einfach RD_LOC_T verwendet, wie RONIN gesagt hat, und funktioniert einwandfrei!

Vielen Dank
 
PPS: ist der 1214-CPU denn bekannt, in welcher Zeitzone sie ist? Das kann doch bestimmt irgendwo eingestellt werden, ansonsten gäbe es ja keinen Unterschied zwischen Systemzeit und lokaler Zeit.
Jep, du stellst das alles in der Hardwarekonfig ein. Also GMT-Bias sowie Sommer/Winterzeitbeginn (Letzter Sonntag im März)
Wenn man das dynamisieren möchte dann verwendet man den FB Set_Timezone und füttert ihn mit den selben Daten.

Nein Datentyp ist nur durch Verwenden von SET_TIMEZONE nicht automatisch bekannt.
Leider steht in der TIA-Hilfe auch nichts Genaues dazu, kein Beispiel oder sowas..
Mmmmhh... Eigentlich schon, hab's grad ausprobiert... Siehe Anhang.
Einfach "TimeTransformationRule" als Datentyp eingegeben.

Gemacht auf TIAV13Upd1. Welche TIA-Version hast du denn?
Falls 13.0 dann empfehle ich sowieso dringenst das Update 1.
Die 13.0 macht hat bei uns schon bei einfachstem FUP div. Compilerfehler (FUP-Code der auf der CPU nicht richtig bearbeitet wird) hervorgebracht.
Ist ganz lustig wenn man Online-beobachtet und ein ODER-Gatter trotz Log_1 nicht durchschaltet.
Mit Upd1 waren besagte Fehler weg, solange bis wir das nächste Desaster finden. Sch..ß TIA! :sb6:
 

Anhänge

  • TimetransformationRule.jpg
    TimetransformationRule.jpg
    69 KB · Aufrufe: 27
Zuletzt bearbeitet:
Zurück
Oben