Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Aktion einmalig jeden Tag Kategorie: Programmierung (von Schettner - 26.10.2009 20:45)
Als Antwort auf Re: Aktion einmalig jeden Tag von Heiko - 26.10.2009 20:20
Ich nutze:
C-Control II Station, OSOPT V3.1
Hallo Heiko,
das könnte man natürlich tun, aber im Prinzip ist es auch egal, dass er die Zeiten mehrfach berechnet,
ich dachte nur, es gäbe möglicherweise eine intelligentere Lösung, die keine Rechenzeit verschwendet.

Eine einfache Routine, die täglich zu einem bestimmten Zeitpunkt genau einmal
ausgeführt wird.

GruÃ?,
ChristianS.
> Hallo Christian,
> Da hast Du natürlich recht, wenn man den Mitternachtswechsel auswertet,
> hat man an 2 Tagen im Jahr, wenn jeweils auf SZ/WZ umgestellt wird, eine Abweichung drin,
> die aber am darauffolgenden Tag wieder korrigiert wird.
>
> Was passiert denn bei Deiner Schleife, wenn Du innerhalb der Loop ein 'Sleep' einfügst?
>
> Dass die Berechnung mehrmals erfolgt, liegt ja sicherlich daran, weil die Schleifenbedingung für die ganze
> 12600te Sekunde erfüllt ist und die Schleife damit in dieser einen Sekunde mehrmals durchlaufen wird.
> Bei einem Sleep 1000 nach hwcom.ret sollte dann auf jeden Fall die nächste Sekunde (also 12601)
> erreicht sein und damit die Schleife nicht mehr durchlaufen werden.
>
> GruÃ? Heiko
>
> > Hallo Heiko,
> > danke für die Antwort, aber kann ich nicht ganz nachvollziehen. Ausserdem müsste ich bei einer
> > Berechnung um Mitternacht wieder die Zeitumstellung (Sommer-/Winterzeit Winter-/Sommerzeit)
> > berücksichtigen. Um 03:30 hat das keinen Einfluss auf die Sonnenauf-/Untergänge....kannst Du  Deine
> > Idee mal an einem Bsp. verdeutlichen?
> >
> > Danke und GruÃ?,
> > ChristianS
> >
> > > Hallo Christian,
> > > Du könntest den Zeitsprung um Mitternacht auswerten, indem Du zweimal nacheinander die Zeit
> > > abfragst. Dabei den letzten Wert mit dem vorherigen vergleichst und wenn dieser grö�er ist, als der
> > > aktuelle, dann die Berechnung auslöst.
> > > GruÃ? Heiko
> > > > Hallo,
> > > > ich versuche einmal täglich den Sonnenstand zu berechnen. Das soll jede Nacht
> > > > um 03:30 Uhr passieren. Jetzt habe ich das in eine Serialzeit umgerechnet: (12600) und vergleiche
> > > > in einer Schleife die tatsächliche Zeit mit 12600.
> > > >
> > > >
> > > > loop
> > > > {
> > > >  if time_to_serial(system.hour(),system.minute(), system.second())==12600
> > > >   {
> > > >    geo.SaSu(system.year(),system.month(),system.day(),
> > > >             myconst.breitengrad,myconst.laengengrad,0,time);
> > > >    hwcom.print("Sonnenaufgang berechnet:");
> > > >    hwcom.ret();
> > > >   } //überprüfe 03:30 Uhr zwecks Berechnung des Sonneauf-/untergangs
> > > > }

> > > >
> > > > dann berechnet er den Sonnenstand mehr als 15x.Gibt es eine elegantere Lösung? Hat
> > > > jemand eine Idee?
> > > >
> > > > GruÃ?,
> > > > ChristianS


    Antwort schreiben


Antworten:

Re: Aktion einmalig jeden Tag (von ChristianS - 26.10.2009 22:09)
    Re: Aktion einmalig jeden Tag (von Jörg Hansen - 27.10.2009 20:58)
        Re: Aktion einmalig jeden Tag (von ChristianS - 28.10.2009 18:10)
            Re: Aktion einmalig jeden Tag (von ChristianS - 28.10.2009 20:03)
                Re: Aktion einmalig jeden Tag (von Jörg Hansen - 29.10.2009 22:33)
                    Re: Aktion einmalig jeden Tag (von ChristianS - 30.10.2009 12:07)