
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Danke fĂŒr die Tips! Die Station hat nur 2 Relaise drin, ich brauche 6. Das Problem ist aber mit hochsensiblen Relaise ĂŒber P1-P4 gelöst. > Wenn's wirklich dringend ist, sollte man die Probleme möglichst mundgerecht servieren. ;-) > Also: Kategorie ist "Unit/Micro/Station" und Du hast? Unten sprichst Du einerseits von Station (die hĂ€tte > auch Deine Relais schon drin) andererseits sprichst Du von Uhrzeit "anzeigen", was nun z. B. das LCD > des Application-Boards oder etwa doch die IO-Unit zur Station sein kann? Oder ganz einfach per print > ĂŒber die V.24? > hour = 17 > print hour ' hier kommt 17 raus > hour = 0 > print hour ' hier kommt immer noch 17 raus GENAU DAS ! > > Ich muĂ ein Relaise je nach Temperatur zeitabhĂ€ngig schalten (zwischen 8-9 Stunden), und dies Tage- > > bis wochenlang. > Was denn nun? 8-9 Stunden oder tage- bis wochenlang? Oder meinst Du, das Relais soll zwischen 8 > und 9 Stunden anziehen, aber Dein Programm soll mehrere Tage laufen? Wieso nicht endlos? ICH ERMITTLE ĂBER DEN TEMPERATURFĂHLER DIE TEMPERATURSUMME. WENN DIESE ERREICHT IST (dauert etwa alle 8-9 Stunden), SOLL DAS DING SCHALTEN. Und das wiederholen. > > Und da dachte ich, daĂ ich am und nach jedem Schaltvorgang die Uhr mit dem Befehl > > hour=0, second=0 zurĂŒcksetzen kann, worauf wiederum von Null weg Sekunden und Stunden > > gezĂ€hlt werden. > Hmm, ich kann mir nicht vorstellen, dass diese Zuweisungen mit entsprechenden Ergebnissen nicht > möglich sein sollten. Also vermute ich zunĂ€chst einmal bei Dir einen Programmfehler. > > Auf jeden Fall geht diese Verwendung aber m. E. am Zweck der internen Uhr vorbei, weil die ja eine Uhr > ist, und kein Timer. ;-) Schon richtig, BRAUCHE SIE ABER ALS TIMER ! > > > Dies wĂ€re fĂŒr mich die ideale (und vor allem verstĂ€ndliche) Lösung. ABER: Hour=0 etc. wird von der > > Control-Station völlig ignoriert. > > Glaube ich nicht. DOCH ! > > > Das Ding zeigt stur die aktuelle Stunde an. > Ein minimales belegendes Code-Beispiel bitte. PRINT HOUR ---> 17 HOUR = 1 PRINT HOUR -----> Zeigt wieder 17 an. > > Kann man Stunden und Minuten im Programm auf Null setzen, Ja. > > > Und zĂ€hlt das ganze dann wieder richtig???? > Wenn Du eine DCF-Antenne dran hast, sicher nicht sehr lange. Ob mit oder ohne Antenne, wĂŒrde > ich das Programm umstellen, so dass es die Uhr als Uhr nimmt, und nicht als Timer. HABE KEINE ANTENNE. > > Also etwa ungetestet, trivial skizziert so: > > define OnHours byte ' wieviele Stunden soll es denn an bleiben (max 255) > define OnTime word ' Angezogen um (Minuten seit Mitternacht) > define OnDay word ' Angezogen am (Tage seit 1.1.2000) > > #RelaisAn > if year > 20 then goto error ' Echtes Datum noch nicht gesetzt > OnTime = hour * 60 + minute > OnDay = year * 400 + month * 31 + day ' der Einfachheit halber grobe Formel fuer obere AbschĂ€tzung > OnMinutes = computeHours * 60 ' je nach Temperatur, max 24 Stunden > > K1=on > #loop > pause 1 > if (OnTime + OnMinutes) / (24 * 60) > 0 then goto OnTilNextDay > ' else Heute noch fertig > if OnTime + OnMinutes < hour * 60 + minute then goto loop > 'else > goto off > #OnTilNextDay > if year * 400 + month * 31 + day <= OnDay then goto loop ' neuer Tag noch nicht da > if (OnTime + OnMinutes) mod (24 * 60) < hour * 60 + minute then goto loop > #off > K1 = off > > HTH > > Bye > Achim |
| Antwort schreiben |