Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Schwere KRÄMPFE mit der Zeiteinstellung ! Kategorie: C-Control I V1.1 (von Achim - 6.05.2004 23:53)
 Als Antwort auf Schwere KRÄMPFE mit der Zeiteinstellung ! von Markus - 6.05.2004 14:14
> DRINGEND! Bitte um Antwort!

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?

Dann vermisse ich fĂŒr einen von Dir vermuteten Fehler im Betriebssystem ein minimales Code-Beispiel,
etwa
hour = 17
print hour ' hier kommt 17 raus
hour = 0
print hour ' hier kommt immer noch 17 raus

> 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?

> Und da dachte ich, daß ich am und nach jedem Schaltvorgang die Uhr mit dem Befehl
> hour=0, second=0 zurĂŒcksetzen kann, wProgrammanfang orauf 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. ;-)

> 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.

> Das Ding zeigt stur die aktuelle Stunde an.

Ein minimales belegendes Code-Beispiel bitte.

> 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.

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

Bisherige Antworten:

Dank für die Hilfe. Muß ich erst begrübeln... (Anfängerhirn!) (von Markus - 7.05.2004 21:23)