oscat.lib > Modulentwicklung / Module Development

"bürgerliche" bzw Zivile Dämmerung bzw sun_rise/set bei -6° Sonnenstand

(1/2) > >>

Holger:
Hi,

da mir sun_rise und set speziell im Sommer zu frueh ist um die Rolladen zu fahren habe ich mir kurzerhand die Stelle im Programm gesucht die das berechnet und entsprechend erweitert.
Hoffentlich richtig :) Von den Werten im Moment wuerde ich sagen passt es.

Grundsaetzliches Problem ist ja das speziell im Winter es nach Sonnenuntergang (-0.833°) noch sehr lange hell ist. Definiert ist die "bürgerliche" Dämmerung (siehe Wikipedia) bis -6° Sonnenstand.
Im Prinzip ist das der Sonnenstand "von dem an" bzw "bis zu dem man" draussen noch eine Zeitung lesen kann.

Also folgendes habe ich eingefuegt so das die normal Funktion erhalten bleibt. Im Prinzip werden zwei neue Werte angelegt sun_civil_rise und sun_civil_set (koennte man evtl noch civil_rise und civil_set draus machen)
Der wesentlich Unterschied ist das ich im SUN_TIME eine weiteres delta ausrechne. Welches nicht wie in Zeile 9 mit dem sin(-0.833°) = -0.0145 rechnet sondern mit dem sin(-6°) = -0.1453.

SUN_TIME (FB)
==========

--- Code: ---VAR_OUTPUT
sun_civil_rise : TOD; (* civil twilight for current day in local time *)
sun_civil_set : TOD; (* civil twilight for current day in local time *)
VAR
delta_civil: TIME; (* delta from midday for civil twilight *)


delta_civil := HOUR_TO_TIME(ACOS((-0.1453 - SIN(B) * SIN(DK)) / (COS(B) * COS(DK))) * 3.819718632);
sun_civil_rise := sun_midday - delta_civil;
sun_civil_set := sun_midday + delta_civil;

--- Ende Code ---

CALENDAR (STRUCT)
==============

--- Code: --- SUN_CIVIL_RISE : TOD; (* civil twilight for current location *)
SUN_CIVIL_SET : TOD; (* civil twilight for current location *)

--- Ende Code ---

CALENDAR_CALC (FB)
==============

--- Code: ---0035 XCAL.SUN_CIVIL_RISE := sun.sun_civil_rise;
036 XCAL.SUN_CIVIL_SET := sun.sun_civil_set;

--- Ende Code ---

EMV-Fuzzi:
Hallo Holger,

ich bin gerade angefangen, mit der "SUN_TIME" zu spielen und bin darüber
dann auch über Deinen Post gestolpert.

Dir ist ein Tippfehler unterlaufen (es fehlt eine "0"):
Der Wert für sin(-6°) ist -0.104528463

Mit diesem Wert ergibt sich bei mir gegenüber den "richtigen" Zeiten von
http://cgi.stadtklima-stuttgart.de/mirror/sonne.exe
eine Abweichung von 4 Minuten statt 13 Minuten beim falschen Wert.

pelmic:
Hallo,

das ist ja Perfekt.
Wenn es funktioniert und getestet ist, kann man dass dann auch ins nächste Release übernehmen?
Das wäre toll.

Danke,

pelmic

Holger:

--- Zitat von: EMV-Fuzzi am 25. November 2010, 16:47:48 ---Hallo Holger,

ich bin gerade angefangen, mit der "SUN_TIME" zu spielen und bin darüber
dann auch über Deinen Post gestolpert.

Dir ist ein Tippfehler unterlaufen (es fehlt eine "0"):
Der Wert für sin(-6°) ist -0.104528463

--- Ende Zitat ---

Upsssss


--- Zitat von: EMV-Fuzzi am 25. November 2010, 16:47:48 ---Mit diesem Wert ergibt sich bei mir gegenüber den "richtigen" Zeiten von
http://cgi.stadtklima-stuttgart.de/mirror/sonne.exe
eine Abweichung von 4 Minuten statt 13 Minuten beim falschen Wert.


--- Ende Zitat ---

Ob die 4 Minuten einfach ungenauigkeiten sind ?! Egal 4 Minuten währe ja (zumindest fuer mich) OK

    Holger

EMV-Fuzzi:
Hallo Holger,


--- Zitat von: Holger am 07. Dezember 2010, 15:52:44 ---
Ob die 4 Minuten einfach ungenauigkeiten sind ?! Egal 4 Minuten währe ja (zumindest fuer mich) OK


--- Ende Zitat ---

Das SIND Ungenauigkeiten innerhalb der Steuerung!

Ich habe nun Zugriff auf eine andere Zielhardware und mit dieser sind die Zeiten weniger als 1 Minute unterschiedlich.

Gruß
  EMV-Fuzzi

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln