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: DCF 77 Zeitschaltuhr Kategorie: Programmierung Basic (von Kay - 11.11.2004 21:31)
 Als Antwort auf DCF 77 Zeitschaltuhr von Florian - 11.11.2004 20:37
Hallo Florian,

Eine reine Zeitschaltuhr in Basic zu programmieren, ist etwas schwieriger,
als es zunächst erscheint. In Abhängigkeit dessen, was geschaltet werden soll
und wieviele Schaltvorgänge programmiert werden sollen, gestaltet sich das
ganze mehr oder weniger aufwendig. Denkbar wäre hier eine Tabelle, die der
Reihenfolge nach folgende Kenndaten enthält: Stunde, Minute, Port , Zustand.
zum Beispiel:
 07 53 01 01 'schalte 7:53 den Port 1 high
 08 00 02 01 'schalte 8:00 den Port 2 high
und so weiter.
Eine solche Tabelle lässt sich ewig erweitern und man muß bei Änderungen nur
in dem auslesenden Programmteil dafür sorgen, dass dieser sich nicht in der Tabelle
"verliest". Eine Unterprogrammschleife mit einem Zähler, der den Bezug zu den
Tabellendaten herstellt und die entsprechenden Vergleichsmaßnahmen kannst du
hoffentlich selbst erstellen. Denkbar hier:
 for i = 1 to zeilenzahl_der_tabelle step 4
  ...... (werte auslesen und vergleichen)
 next
i dient dabei als Tabellenindex zum Ansprechen der Tabellenelemente.
Sinnvoll wäre es, dies als Unterprogramm zu schreiben, welches nur im Fall einer neuen
angebrochenen Minute aus der Hauptschleife angesprungen wird. So kann der
CControl in der Zwischenzeit  noch andere Aufgaben erledigen.

Unklar is allerdings, was für eine externe Uhr du steuern willst. Eine reine Schritt-
motorsteuerung ist sicher das einfachste, was man machen könnte. Befriedigend
ist dies aber sicher nicht, da es von der Uhr zum CControl keinerlei Rückmeldungen
gibt. Was auf der Uhr passiert, lässt sich im Programm nur mit Zählvariablen nach-
vollziehen. Zu bedenken ist dabei auch, dass der CControl nach dem Einschalten
bei 00:00:00 Uhr losläuft und je nach Empfangsquälität des DCF-Signals zum Teil
sehr lange Zeit, mindestens aber 2 Minuten benötigt, ehe er "genau geht".
Stromaus- oder andere Zwischenfälle lassen deine externe Uhr dann schnell alt aussehen.
Hat deine Zentralsteuerung allerdings ein Interface, so musst du dir dessen Möglichkeiten
nutzbar machen.

Viel Spaß bei der Umsetzung, ich hoffe die Tips helfen dir auf den Weg.

 Antwort schreiben

Bisherige Antworten: