zum x-mal UTC und Localtime

Begonnen von erdbeerschaeler, 22. August 2010, 14:24:02

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

erdbeerschaeler

Hallo Zusammen,

ich habe mich jetzt nochmal mit den ganzen Zeiten im System beschäftigt und würde gerne die Sonnenauf und Untergangszeiten im System verwenden.
Problem Nr. 1: Ich kriege die Werte LDT.offset=60 sowie Sommerzeit und Längen/Breitengrad nicht im Plan eingetragen ohne das das System beim Übersetzten Fehler rausschmeißt.
Ich hab hier im Forum irgendwo eine Anleitung zum Calendar_Calc gefunden und in dem Baustein steht eigentlich alles drin, was ich haben will.

Schaut euch doch mal bitte den Plan von mir an. Was mache ich falsch und was sollte ich noch!

Danke und noch einen schönen Sonntag

[gelöscht durch Administrator]

peewit

was für fehler bekommst du beim übersetzen
kannst du vielleicht dein kompletten projekt online stellen, so wird es schwierig !

erdbeerschaeler

#2
Hallo peewit,

Erstes Problem gelöst. Ich hab' die Werte jetzt rein bekommen. (War ein fehler in der Übersetzungseinstellung)
Jetzt schau Dir aber doch mal bitte die errechneten Werte der Sonnenauf- und Untergangszeiten an.

Irgendwas ist da doch noch falsch oder muß ich da noch was umrechnen?
Ich könnte Dir als PM ein Export von meinem Projekt schicken?!?!


[gelöscht durch Administrator]

erdbeerschaeler

Moin,

::) BLÖD - Fehler war... Längen und Breitengrad waren vertauscht ::)

der Calendar_Cal schmeist die Auf und Untergangszeiten aber trotzdem nur in UTC und nicht in LDT aus.

Mache ich da noch was falsch, oder ist das einfach so, das ich den Wert dann noch nach lokal umrechnen?!?

Fragen über Fragen...

erdbeerschaeler

Hallo,  :-[ :-[

könnte vielleicht nochmal jemand auf den Plan von mir sehen, warum ich die Auf und Untergangszeiten nur als UTC aus dem Calendar_Calc bekomme!?!?

Ich habe versucht eine Doku über den Calendar_Calc zu finden, aber leider ohne Erfolg.

Vielen Dank im Voraus

Der Schwenn


[gelöscht durch Administrator]

peewit

hallo

auf deinem bild sehe ich leider keine online-werte , aber machen wir es mal anders herum

welche inputs hast du bei : längen,breitengrad, utc zeit, lokaloffset ?

was sind deine eingangsparameter und was kommt bei dir raus und was wäre für dich richtig


erdbeerschaeler

hallo peewit,

ich hab noch mal ein aktuelle screenshot angehangen.

die ergebnisse aus dem Calendar_Calc sind einfach nur 2 Stunden zu früh.
Was aber doch eigentlich nicht sein kann, da ich meiner meinung nach die lokaltime im XCAL eingang benutze ?!?!?

irgendwas hab ich da noch nicht verstanden.

[gelöscht durch Administrator]

peewit

#7
laut doku sieht es folgend aus

CALENDAR_CALC berechnet vollautomatisch alle Werte in einer Struktur
vom Typ CALENDAR ausgehend vom Wert UTC in der Struktur

!!! und UTC ist nun mal weltzeit !!!

du must in der datenstruktur bei utc die weltzeit übergeben
also ltc.utc muss mit weltzeit versorgt werden

es ist sowieso zu empfehlen die lokale uhr (sps) auf weltzeit einzustellen
die lokale zeit gibt dir dann die calendar-struktur aus

der unterschied zwischen lokal und weltzeit ist nun mal +1h offset + 1h sommerzeit ergibt halt genau deine 2 stunden fehler

erdbeerschaeler

Okay das verstehe ich... fast  :-\

soll das heißen, dass ich jede Zeit, die ich aus dem Calender_Calc ziehen will, noch durch den Baustein "UTC_TO_LTIME" schicken muß ?!?

Wenn dem so ist, dann hab' ich's doch ganz begriffen :-)

DANKE und
Schicken Abend noch...

peewit

#9
nein -> noch nicht ganz begriffen:

der calender baustein macht aus der übergebenen UTC (Weltzeit) alles was du brauchst
unter ldt.ltc bekommst du dann auch schon fertig die richtige lokalzeit und du brauchst das nicht mehr extra selber zu machen (so wie du es gemacht hast)

das alles liefert dir der calendar-baustein automatisch über die Lokalzeit
*.LDT : DT Lokalzeit
*.LDATE : DATE Lokales Datum
*.LTOD : TOD Lokale Tageszeit
*.YEAR : INT Lokales Jahr
*.MONTH : INT Lokales Monat
*.DAY : INT Lokaler Tag
*.WEEKDAY : INT Lokaler Wochentag

das einzige wichtige ist, das die bei ldt.utc die "echte" weltzeit übergibst !

schau dir mal die daten-struktur in der dokumentation an !

das grundproblem ist, das man mit einer SPS-Uhr mit eingestellter Lokalzeit nicht ordentlich arbeiten kann
bei sommerzeit umstellung haben wir somit mal eine stunde gar nicht, oder eine stunde gleich doppelt

damit hier alles perfekt funktioniert, stellt man die sps-uhr auf weltzeit, und erzeugt alle anderen zeiten (lokalzeit usw)
danach. aber sämtliche Bausteine die aufgrund von uhrzeiten etwas auslösen, werden mit lokalzeit manchmal versagen !!
solche bausteine sollte man immer mit weltzeit betreiben

es gibt auch steuerungen wo die RealTimeClock gar keine automatische sommerzeitumschaltung kann
und damit wir eine lösung haben die immer und überall funktioniert, sollte die sps-uhr auf weltzeit eingestellt werden


erdbeerschaeler

Alles Klar... jetzt hab begriffen was der Calendar_Calc alles kann und das ich mir den größten Teil in dem Plan sparen kann.

Wie bekomme ich denn jetzt die UTC (Systemzeit) in den Calendar_Calc ?

Die Sys-Time wird doch in DT ausgegeben und der Calender_Calc will aber eine Variable vom Typ Calendar als Eingang haben  :-\
Fragen über Fragen
SORRY


erdbeerschaeler

Moin,

funktioniert doch, Uhrzeiten - Daten - Lokale Zeiten alles Gut.

Ich muß jetzt nur noch begreifen, wie ich die Sonnenauf und Untergangszeiten im Programm verarbeiten kann, wenn ich diese nur als UTC bekomme.

Bis hierhin aber erstmal vielen vielen Dank für Deine Bemühungen.