Re: Zeitschaltuhr mit Serialzeit Kategorie: Programmierung (von nitraM - 8.04.2010 20:08) | ||
Als Antwort auf Re: Zeitschaltuhr mit Serialzeit von ChristianS - 8.04.2010 19:05 | ||
| ||
> > Hallo Christian > > > > wie wäre es so: > > > > > > if tein > taus // Schaltzeit über 0:00Uhr hinaus > > { einschaltzeit = 86400 - tein + taus; // Gesamteinschaltzeit ermitteln > > if einschaltzeit >= min_einschaltzeit // nur weiter prüfen wenn min. Einschaltzeit erreicht > > {if time >= tein or time < taus // prüfen auf Uhrzeit "ein" => wichtig _oder_ ! > > { einschalten... > > } > > } > > } > > else > > { einschaltzeit = taus - tein; // Gesamteinschaltzeit ermitteln > > if einschaltzeit >= min_einschaltzeit // nur weiter prüfen wenn min. Einschaltzeit erreicht > > {if time >= tein and time < taus // prüfen auf Uhrzeit "ein" => wichtig _und_ ! > > { einschalten... > > } > > } > > > > > > nitraM > > Hallo nitraM, > danke für die Antwort, aber das kann ich so nicht machen. Ich darf nur an einer Stelle einschalten, > sonst kriege ich das Ausschalten nicht hin. Es gibt da noch einen Taster, der die ganze Automatik bei > der ersten Betätigung aushebelt, aber nur während der "Zeitschalter-ein"-Phasen. Ansonsten arbeitet > der Taster wie ein Schalter mit einer auto-aus-Funktion nach zwei Stunden. Die setzt dann das "busy" > wieder zurück und das Licht geht aus. > Hallo Christian, was meinst du mit "nur an einer Stelle einschalten" ? Das ist doch nur die Bedingung Zeitschaltuhr! byte Licht_per_zeitschaltuhr_an; // Zwischenspeicher :-) Licht_per_zeitschaltuhr_an = 0; // Variable wird immer zu Beginn gelöscht if tein > taus // Schaltzeit über 0:00Uhr hinaus { einschaltzeit = 86400 - tein + taus; // Gesamteinschaltzeit ermitteln if einschaltzeit >= min_einschaltzeit // nur weiter prüfen wenn min. Einschaltzeit erreicht {if time >= tein or time < taus // prüfen auf Uhrzeit "ein" => wichtig _oder_ ! {Licht_per_zeitschaltuhr_an = 1; // wenn die Bedingung erfüllt => merken! } } } else { einschaltzeit = taus - tein; // Gesamteinschaltzeit ermitteln if einschaltzeit >= min_einschaltzeit // nur weiter prüfen wenn min. Einschaltzeit erreicht {if time >= tein and time < taus // prüfen auf Uhrzeit "ein" => wichtig _und_ ! { Licht_per_zeitschaltuhr_an = 1; // wenn die Bedingung erfüllt => merken! } } // so jetzt dein Code ... if( Licht_per_zeitschaltuhr_an == 1 or Schalter(4,1) { if schalter_busy[4] and Licht_per_zeitschaltuhr_an == 1 gartenlicht_off=-1; //Ausschaltzeit löschen max7311.set(0,Relais7,1); } else { max7311.set(0,Relais7,0); } nitraM | ||
Antwort schreiben Antworten: Re: Zeitschaltuhr mit Serialzeit (von ChristianS - 8.04.2010 21:05) |