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

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> Hallo, > könnte das funktionieren? Könnte es einen Timerüberlauf geben? > > <code>thread every_day > { > long time, timer; > wait system.hour()==0; //00:00Uhr > time=system.timer(); > wait (system.timer()-time)>(12600*1000);//warte 12600 Sekunden, bis 3:30 Uhr > //berechnung SASU > }</code> > Gruß, > ChristianS. > > > 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. > > > > > > > > > > > > <code> > > > > > > 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 > > > > > > }</code> > > > > > > > > > > > > dann berechnet er den Sonnenstand mehr als 15x.Gibt es eine elegantere Lösung? Hat > > > > > > jemand eine Idee? > > > > > > > > > > > > Gruß, > > > > > > ChristianS
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB