# Sonnenwinkel - FbWB_CalculateSunPosition



## wolfi-sps (14 Juni 2015)

Hallo zusammen,

habe mal die Lib in mein Panel eingebaut - stelle aber fest das der Elevations uns Azimutwinkel nicht stimmt. Der ist 2h voraus ??
Immenstadt/Allgäu

rLatitude = 47.55922
rLongitude = 10.22066

Um 12:43 ist der Winkel:

Elevation: 60.8
Azimut: 221.1


Laut Internet(http://www.solartopo.com/sonnenumlaufbahn.htm) sollte er aber so sein - :
Sonnen Position      
Zenith:64.43°

Azimuth:159.91°



habe mal die Zeit auf der Seite verschoben - Der Baustein liefert Werte in 2h???

Verwende auch den Baustein FbWB_CalculateSunriseSunset - da stimmen die Werte.

Hat jemand eine Idee was da schief läuft oder habe ich da einen Denkfehler ??

Danke

Wolfgang


----------



## oliver.tonn (14 Juni 2015)

Nur mal so ins Blaue geschossen, falsche Zeitzone?
Eine Verschiebung um 2h hört sich zu dieser Jahreszeit verdächtig danach an, dass der Baustein die Zeit als UTC erwartet und die liegt 2h vor unserer MESZ.

Von irgendwas mit Internetzugang gesendet.


----------



## hucki (14 Juni 2015)

oliver.tonn schrieb:


> ..., dass der Baustein die Zeit als UTC erwartet und die liegt 2h vor unserer MESZ.


Umgekehrt, die UTC hängt im Sommer 2h der MESZ hinterherher.
Ansonsten stimme ich Dir aber in Richtung Ursachenvermutung zu.


----------



## oliver.tonn (14 Juni 2015)

Ja, darum ist er ja auch zwei Stunden zu weit. Der Baustein erwartet UTC, er gibt ihm aber MESZ und schon hat er die Werte die eigentlich erst in zwei Stunden gelten würden.

Von irgendwas mit Internetzugang gesendet.


----------



## wolfi-sps (14 Juni 2015)

Hallo zusammen,

Ja da habt Ihr recht - das kann ich aber im gegensatz zu der FbWB_CalculateSunriseSunset lib nicht vorgeben.

Wolfgang


----------



## oliver.tonn (14 Juni 2015)

Hallo Wolfgang, 
gibt die Doku der Bausteine noch was her? Steht dort noch was zu den Zeiten die sie am Eingang erwarten?

Von irgendwas mit Internetzugang gesendet.


----------



## wolfi-sps (14 Juni 2015)

Hallo oliver.tonn

das steht in der Beschreibung.


Der FunktionsbausteinFbWB_CalculateSunPositiondient der Berechnung des 

aktuellen Sonnenstandes durch die aktuelle Zeit und die GeografischenKoordinaten.

Für die Sonnenstandsberechnung wird die UTC-Zeit„dtUTC_Time“benötigt.



Wolfgang


----------



## oliver.tonn (14 Juni 2015)

Na da hast Du doch Deine Antwort, UTC, wie ich vermutet habe.
@Alle Experten: Weiß einer, ob es eine Funktion gibt, die von einer beliebigen Zeitzone unter Berücksichtigung der Sommerzeit auf UTC umrechnet?

Von irgendwas mit Internetzugang gesendet.


----------



## wolfi-sps (14 Juni 2015)

Hallo oliver.tonn

ja das habe ich dann auch gesehen - Danke für den Tipp - habe ich nicht gewusst.

Vielleicht hat ja WAGO eine Idee. Bestimmt - die Jungs sind wirklich gut 

Will die Funktion für meine WW-Solaranlage nutzen.

Wolfgang


----------



## .:WAGO::015652:. (19 Juni 2015)

Hallo zusammen,

zunächst Danke an wolfi für dein Lob und gerne füge ich noch einen möglichen Lösungsansatz bei:  

Um an die UTC-Time für den Baustein FbWB_CalculateSunPosition zu kommen, müsst Ihr mit EthernetSettings den Controller auf *UTC* stellen und im Programm die Zeit mit der Funktion "SysRTcGetTime" aus der SysLibRTC.lib auslesen.
Wenn Ihr nun auch wieder die jeweilige Lokalzeit in eurem Programm haben möchtet, müsst Ihr die Funktion "FuDT_LocalTime" aus der Scheduler03.lib verwenden.

Falls Ihr einen PFC verwendet, hier müsst Ihr die Zeit mit der Bibliothek "WagoConfigToolLIB.lib" aus dem PFC-Ordner auslesen. Eventuell müsst Ihr anschließend wenn Ihr die Scheduler03.lib einfügt den Baustein "FbTime_RTC_Modul" vom Übersetzen ausschließen, dieser Fb wird vom PFC nicht unterstützt.

Ich hoffe Ihr könnt mit dieser Antwort weiterarbeiten.


----------



## wolfi-sps (19 Juni 2015)

Hallo Wago-Support,

wie mach ich das dann bei dem  Control-Panel mit Target-Visualisierung ?

Wolfgang


----------



## lord2k3 (20 Juni 2015)

Beim Panel In Windows kannst du die Uhrzeit einstellen inkl. Automatischer Sommer- / Winterzeit Umstellung. Auslesen der Uhrzeit erfolgt auch mit der syslibrtc.

Gesendet von meinem A0001 mit Tapatalk


----------



## computershooter (20 Juni 2015)

eine RTC ist ein kleines IC das in ein PLC eingebaut kann.die soll mit eine UTC initialisiert werden, weil dise zeit immer durchlauft, und wenn es eine sommerzeit gibt dan soll das ausserhalb diese RTC gemacht werden.
Die zeit in eine PC ist aber nicht abhangig von diese RTC und diese soll dan auch anders eingestellt werden.
diese PC zeit wird automatisch umgestellt im internet.


----------



## wolfi-sps (21 Juni 2015)

Hallo zusammen,

habe jetzt die Zeit im Panel einfach angepasst - ist zwar nicht wirklich richtig - aber wenn es den Zweck erfüllt

Wolfgang


----------



## lord2k3 (21 Juni 2015)

Du meinst mit nicht richtig hast du die utc zeit (ohne umstellung) im panel eingestellt?

Gesendet von meinem A0001 mit Tapatalk


----------



## wolfi-sps (21 Juni 2015)

Ich habe die Systemzeit vom Panel zwei Stunden zurückgestellt.


----------



## tomrey (25 Juni 2015)

oliver.tonn schrieb:


> Na da hast Du doch Deine Antwort, UTC, wie ich vermutet habe.
> @Alle Experten: Weiß einer, ob es eine Funktion gibt, die von einer beliebigen Zeitzone unter Berücksichtigung der Sommerzeit auf UTC umrechnet?
> 
> Von irgendwas mit Internetzugang gesendet.


Meine Lösung:
Ich arbeite mit der lokalen Zeit im Controller (holt er sich per NTP vom Fritz).
In einem FB errechne ich ob Sommer/Winter ist (Korr UTC +1/2 Std).
Die Zeitkorrektur mache ich direkt am UTC-input der Sonnenstands-FB denn nur da brauche ich UTC. Ansonsten UTC in eine Zwischenvariable wenn man es in mehreren FB's braucht...
Das mit der "beliebigen Zeitzone" ist mir unklar, denn in unterschiedlichen Zeitzonen hat man vermutlich unterschiedliche Standortkoordinaten und ohne die geht's eh nicht.
Grüße


----------



## computershooter (25 Juni 2015)

wenn man die RTC richtig einstellt dan braucht mann das nur einmal zu machen.
die funktion gibt es auch naturlich, mann kan aber einfacher die zeit differenz zwischen beide calculieren (localzeit-UTC, gibt die differenz, und die kan man dan benutzen um die UTC ein zu stellen.


----------

