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

Re: Rolladensteuerung Kategorie: Programmierung (von christainK - 29.12.2002 15:41)
Als Antwort auf Rolladensteuerung von Klaus - 29.12.2002 0:55

> ich habe mit der Station-II eine Hausmanagement realisiert. Alles läuft so weit, jedoch macht mir die Rollladensteuerung ein wenig Kopfzerbrechen.
> Der Grundaufbau ist folgender.
> - Im main-Thread wird auf ein Ereignis (Portänderung durch Schalterbetätigung) gewartet, um dann in eine Funktion zu verzweigen
> - In der Funktion wird dann abhängig von der Eingabe ein anderer Port gesetzt (Relaisbetätigung)
>
> Bei den Rolladen steuere ich also auch die dementsprechenden Relais an. Diese müssen aber nach einer gewissen Zeit wieder abgeschaltet werden (nachdem die Rolladen oben/unten sind). Während dieser Zeit ist das Programm gesperrt, so dass keine weiteren Eingaben mehr angenommen werden (z.B. Lichtschalterbetätigung). 
>
> Ich habe nun versucht mittels einen weiteren Threadaufrufes aus der Funktion dieses zu steueren. Indem der aufgerufene Thread die Rolladen-Relais nach der eingestellten Zeit wieder abschaltet. Dieses klappt aber nicht und hat zur Folge, da� das ganze Programm sich abnormal verhält und beliebige Relais angesteuert werden.
>
> Wer weiÃ? einen Rat?
> Klaus
>
Hallo Klaus,

ich sitze seit 2 Tagen, so langsam verzweifelt, an einem ähnlichen Problem (Heizungssteuerung).
Im thread "Anzeige" verzweige ich nach Drücken einer Taste der Tastatur in eine function, die
die Standardwerte verändert. Dabei stoppe ich den thread "Anzeige" um das Display für die modify-
function frei zu haben. Ich will nun die modify-function automatisch verlassen wenn an beliebiger Stelle
dieser function längere Zeit keine Taste gedrückt wurde.
Mit verschachtelten cpu-zeit fressenden sub-routinen habe ich das irgendwie hingekriegt, aber das
ist nicht sehr elegant und frisst mir zuviel cpu.
Ich setze nun eine gobale Variable auf 1, wenn die modify-function gestartet wird und setze die Variable
zurück,  wenn längere Zeit keine Taste gedrückt wurde.
Ã?ber diese globale Variable halte ich den anderen thread an und gebe ihn bei entsprechendem Wert
der globalen Variable wieder frei.
Das funktioniert schon ganz gut inzwischen.
MfG
Christian


    Antwort schreiben


Antworten:

Re: Rolladensteuerung (von KlaRa - 29.12.2002 18:33)
    Re: Rolladensteuerung (von christianK - 29.12.2002 22:13)
        Re: Rolladensteuerung (von Klaus - 5.01.2003 0:15)
            Re: Rolladensteuerung (von Johann Gerner - 9.01.2003 8:13)
                Re: Rolladensteuerung (von Klaus - 12.01.2003 11:17)