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

Re: Zeitschaltuhr mit Serialzeit Kategorie: Programmierung (von ChristianS - 8.04.2010 21:05)
Als Antwort auf Re: Zeitschaltuhr mit Serialzeit von nitraM - 8.04.2010 20:08

> > > 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
>
Hi nitraM,
das muss ich erst mal sacken lassen,aber heute kriege ich das nicht mehr auf die Kette,
vielen Dank für die Unterstützung ich werde asap Feedback geben.

Christian



    Antwort schreiben


Antworten: