OSCAT Forum

oscat.lib => oscat.lib fuer TwinCAT/CoDeSys => Thema gestartet von: wolfi3300 am 15. Dezember 2008, 17:41:21

Titel: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: wolfi3300 am 15. Dezember 2008, 17:41:21
Hallo!

Ich habe das Problem, dass mir die neue 302er LIB falsche Höhenwerte für die Sonne liefert. Jetzt nach Sonnenuntergang hab ich lt. Berechnung von SUN_POS eine Höhe der Sonne von 344. Vorher gingen die Werte immer brav unter 0.

Infografik im Anhang.

LG,
Opossum

[gelöscht durch Administrator]
Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: hugo am 17. Dezember 2008, 11:43:34
wieso deine werte stimmen doch einwandfrei

wie dir sun_time bereits sagt geht bei dir um 15:08 die sonne unter ! hier steht immer weltzeit und nicht lokalzeit !
da deine uhr auf 16:20 steht ist die sonne bereits untergegangen.
da der winkel HR am horizont 0° beträgt bedeutet dies das er unter 0 geht und das wiederum bedeutet das der winkel wieder bei 360 beginnt und runterzählt.
winkel sind von 0..360 definiert, und beginnen dann wieder bei 0 .

genauso verhält es sich mit dem sonnenstand ost_west:
180° bedeutet hier süden und dein wert von 252° bedeutet das die sonne im westen steht. dort ist sie ja auch wirklich nachdem sie untergegangen ist.
270° wäre west ...

ich denke das macht alles so sinn.

bitte beachte alle zeitangaben sind weltzeit denn es sind astronomische berechnungen
deine lokalzeit ist natürlich weltzeit + 1h in deutschland und winterzeit.

Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: wolfi3300 am 17. Dezember 2008, 12:45:43
Klar, meine Uhr läuft auf UTC.

Nach meinem Verständnis ist die Höhe (HR) die Höhe der Sonne überm Horizont. Nach Sonnenuntergang sollte diese Höhe als Negativ sein. Der Horizont ist "0" Das war ja auch bis vor kurzem so und ich habe meine automatische Lichteinschaltung nach der Sonnenhöhe programmiert. Quasi, - if Winkel < 5, dann Licht automatisch einschalten. Der Azimuth funktioniert korrekt von Ost bis West.

Mit der Höhe 344 kann ich somit nach Sonnenuntergang gar nichts anfangen? Ich habe selber mal so eine Berechnung für meine Wetterstation gebastelt. Da wird auch die Richtige Höhe der Sonne überm/unterm Horizont angezeigt. Je nach Jahreszeit ist das maximum dann natürlich unterschiedlich und wird natürlich zur Mittagszeit erreicht!

Opossum
Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: hugo am 17. Dezember 2008, 12:48:58
das mit negativen winkeln ist ansichtssache
mathematisch ist das ergebnis von winkelfunktionen nur positiv und geht von 0..360
deshlab haben wir die sonnenstandsfunktion auch so gewählt
Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: wolfi3300 am 17. Dezember 2008, 13:06:49
Also bis zur Version 2.77 bekam ich immer die für mich verständlichen Werte, nämlich der Wert ging unter 0, wenn unterm Horizont. Das habt ihr scheinbar erst mit irgendeiner 3er Version anders ausprogrammiert? Auch in der Astronomie ist die Angabe mit Minus unterm Horizont üblich!?

Wenn ich jetzt also wissen will, ob die Sonne 5° überm Horizont ist, muss ich nach der neuen Logik wie rechnen? Sorry, aber irgendwas passt da nicht!?
Die Höhe ist von der Jahreszeit abhängig. Im Winter auf der Nordhalbkugel ist die maximalste Höhe am geringsten, in meiner Gegend zu Mittag bei ungefähr 20°. Am 21. Juni ist das Maximum bei 65° D.h. Sie steigt bei Sonnenaufgang von 0° bis zum Maximum zwischen 20°-65° zur Mittagszeit und danach muss der Wert wieder kleiner werden!

Hier zbsp auch ein JAVA-Applet, wo man sich den Sonnenstand berechnen kann. http://www.spoddig.de/spoddig/sonnenschein312/index.html (http://www.spoddig.de/spoddig/sonnenschein312/index.html) - Hier auch wieder klar zu erkennen. Der Höhenwinkel muß negativ werden, wenn die Sonne unter den Horizont wandert.


Opossum
Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: hugo am 17. Dezember 2008, 14:26:37
das kann irgendwie nicht sein ich habe heute auch zuerst mit version 2.77 verglichen und zu 2.77 ist 100% derselbe code

die einzige änderung ist das die konstante pi (3.14) jetzt anders heist.

2.77 muss bei gleichen eingangswerten auch dasselbe ergebnis bringen
Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: wolfi3300 am 17. Dezember 2008, 14:28:14
Ja und wie weiß ich jetzt dann wirklich wie hoch die Sonne überm Horizont ist? Das ging ja bis jetzt immer tadellos? Die HR KANN SO nicht stimmen !
Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: hugo am 17. Dezember 2008, 14:32:56
ich verstehe wirklich nicht wo dein problem ist?

0-180 ist nordahlbkugel und 180-360° ist südhalbkugel
wo ist denn da dein problem?

also sonnewinkel < 180° bedeutet über dem horizont und > 180° bedeutet darunter

sun_pos hat noch nie andere ergebnisse geliefert
Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: wolfi3300 am 17. Dezember 2008, 14:39:52
Das ist so nicht richtig. Das würde nur am Äquator stimmen. Oben in meinem Beispiel ist die Sonnenhöhe auf 344 Grad. Wie wir schon festgestellt haben muß die Sonne zu diesem Zeitpunkt um 16:20 schon unterm Horizont sein. 344 Grad ist aber nach deiner letzten Aussage bei Tag?

Der Winkel der Sonnenhöhe kann im Winter nur zwischen 0-20° sein für unsere Breiten!!

Deine Aussage stimmt maximal für den Azimuth am Äquator!

lg,
Opossum

PS: Ich werde heute Abend nochmal die Version 2.77 hochfahren um das zu überprüfen, ob's da noch anders war. - Aber seit dem Update auf die 3.02 geht die Funktion bei mir am Abend nicht mehr!
Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: hugo am 17. Dezember 2008, 14:52:17
nein ist es nicht bei tag in weltzeit ist es 0-90 grad (180 sind eher theoretisch weil sie da nie stehen wird) erst wenn es unter 0 grad fällt beginnt es wieder bei 360 und geht dann nach unten

die 0..360 ergeben sich einfach durch simple winkelberechnung um den erdmittelpunkt wie auf einem kreis
Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: wolfi3300 am 17. Dezember 2008, 15:03:45
Also wie müsste ich meine Abfrage jetzt gestalten, damit ich weiß ob die Sonne niedriger als 5° überm Horizont ist?  ;)
Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: hugo am 17. Dezember 2008, 15:20:31
elegant wäre
if HR - 5 < 90 then
mit bausteinen erst 5 abziehen und dann auf < 90 prüfen

Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: hugo am 17. Dezember 2008, 15:24:10
weis zwar nicht für was du die position brauchst. aber da die position direkt mit der zeit für auf und untergang zusammenhängt wäre es vielleicht sinnvoll den baustein sun_pos einzuisparen und auf eine zeit nach sonnenaufgang und vor sonnenuntergang zu prüfen

beispiel

ergebnis = (tageszeit > T_sonnenaufgang + T#10m) and (tageszeit < t_sonnenuntergang - t#10m)
dann spart du dir viel rechenzeit und aufwand für ein vergelichbares ergebnis.
Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: hugo am 17. Dezember 2008, 15:27:36
Also bis zur Version 2.77 bekam ich immer die für mich verständlichen Werte, nämlich der Wert ging unter 0, wenn unterm Horizont. Das habt ihr scheinbar erst mit irgendeiner 3er Version anders ausprogrammiert? Auch in der Astronomie ist die Angabe mit Minus unterm Horizont üblich!?

Wenn ich jetzt also wissen will, ob die Sonne 5° überm Horizont ist, muss ich nach der neuen Logik wie rechnen? Sorry, aber irgendwas passt da nicht!?
Die Höhe ist von der Jahreszeit abhängig. Im Winter auf der Nordhalbkugel ist die maximalste Höhe am geringsten, in meiner Gegend zu Mittag bei ungefähr 20°. Am 21. Juni ist das Maximum bei 65° D.h. Sie steigt bei Sonnenaufgang von 0° bis zum Maximum zwischen 20°-65° zur Mittagszeit und danach muss der Wert wieder kleiner werden!

Hier zbsp auch ein JAVA-Applet, wo man sich den Sonnenstand berechnen kann. http://www.spoddig.de/spoddig/sonnenschein312/index.html (http://www.spoddig.de/spoddig/sonnenschein312/index.html) - Hier auch wieder klar zu erkennen. Der Höhenwinkel muß negativ werden, wenn die Sonne unter den Horizont wandert.


Opossum

wir überlegen ob wir die ausgabe entsprechend ändern, müssen aber erst prüfen ob das inkompatibilität bedeutet?
-10° ist mathematisch dasselbe wie 350°
Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: wolfi3300 am 17. Dezember 2008, 15:30:43
Ich denke, dass die Berechnung über die Sonnenhöhe für die Lichtsteuerung besser funktioniert als die mit Sonnenunter/Aufgang. Wenn die Sonne unter einem gewissen Winkel ist, ergibt sich daraus eine gewisse Dunkelheit. Das funktioniert meiner Meinung nach besser, da ja die Dämmerungsphase im Winter länger dauert als im Sommer, weil der Weg flacher ist. (Wetter ist dabei natürlich noch unberücksichtigt)

das mit dem HR-5 < 90 kann aber so auch nicht ganz funktionieren? Sobald HR nämlich < 95 ist, würde die Routine auslösen. die 350/-10 sind mir noch klar, aber was am Morgen?

Am Abend habe ich ja jetzt korrekt im Moment eine Höhe von 1,34. Das würde bis Sonnenuntergang klappen. Aber ich weiß nicht, bei welchem Winkel die Sonne morgen über 5 Grad Höhe ist? Steh ich am Schlauch? *gg*

lg,
Opossum
Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: hugo am 17. Dezember 2008, 15:38:45
da hast du sicherlich recht, zeit ist nicht identisch mit winkel wegen der flacheren kurve im winter.

(HR-5) < 95 würde immer dann wenn hr < 95 ist auslösen, ja dennn hr ist bei sonnenstand 0--90 (90 eher theoretisch das wird es in unseren breitengraden nie )

unter dem horizont ist 360 -- 270 .

also wäre dein vergleich für jeden sonnenstand der höher als 5° über dem horizont ist true

die winkel zwischen 90° und 270° koennen eh nicht entstehen
Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: hugo am 17. Dezember 2008, 15:41:22
in der release 303 werden wir die sonnenstände unter dem hoizont als negative winkel anzeigen
Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: Steffen am 18. Dezember 2008, 09:18:56
Hallo an alle,

scheinbar habe ich da was nicht verstanden, nämlich das Problem  ;D

Ich benutze diese Routine auch und hab im Programm einfach gesagt, daß alle Winkelausgaben zwischen 0° und 90° (bei uns nicht möglich  ;)) heißen, daß die Sonne über dem Horizont steht. Sollte ich mein Programm mal irgendwann auf der Südhalbkugel einsetzen (müssen), dann wird das eben angepasst. Mit der angekündigten Umstelltung auf "negative" Winkel in 3.03 gibt es daher bei mir auch keine Probleme.

Allerdings habe ich ein anderes kleines Problem festgestellt : Im Bereich des Sonnenaufgangs (+/- 1°) springt der errechnete Wert für den Sonnenstand auf einer Wago 750-841 manchmal in extreme Bereiche, das liegt aber wohl an der internen Berechnung. Ich hab da mal einen Berechnungszyklus von 2 Sekunden genutzt und in der Visu Sprünge bis zu 100° festgestellt. Stört mich nicht, ist mir nur aufgefallen.

Schönes Wochenende, Dank an Hugo für alles von Steffen
Titel: Re: Lib 302, Falsche Höhe von Sun_pos
Beitrag von: wolfi3300 am 18. Dezember 2008, 10:42:30
Ok, also unter Tags zeit die Höhe einen Wert zwischen 0-(theoretisch max) 90. - Das finde ich gut so :-)

Im Moment steigt HR wieder seit Sonnenaufgang von 0 aufwärts. Im Moment zeigt sie bei mir einen Sonnenstand von 17,39°, mit meiner eigenen Berechnung und auch das Java-Sonnenschein-Applet komme ich auf 16,0° - Aber egal, die 1,4° Differenz stören nicht wirklich.

Jetzt check ich glaub ich auch endlich den Wertebereich für "nach Sonnenuntergang" - der Wert ist bei Sonnenuntergang 360 und nähert sich gegen Morgen auch wieder 360. D.h. 355 Grad ist immer 5° unter Horizont, sowohl am Abend als auch Morgens.

Danke für die Geduld Hugo! - Wie einem so eine kleine Vorzeichensache doch ins Schwitzen bringen kann!  ;D

Lg,
Opossum