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

tägliche Ansteuerung Kategorie: Programmierung (von Rene Schulz - 22.12.2011 9:30)
Ich nutze:
C-Control II Station, OSOPT V3.1
Hallo Leute,

ich habe zwei Probleme mit der Zeitsteuerung.

Im unten stehenden Code soll ein Relais, zeitabhängig, geschaltet werden,
wenn ich die ausgeklammerte "Testzeit" nehme, dann geht es, nehme ich aber eine andere Zeit
geht es nicht mehr.
Was mache ich hier falsch?

und zum zweiten...

Wie muss ich den Code schreiben, damit das Programm jeden Tag abläuft und nicht nur
an einem Tag?

Danke für Eure Hilfe ich verzweifel langsam :(
MfG Rene

thread regen
{
  byte port;
  byte rel;
  byte hour, min, sec;
  int  state;
  int  time;

 stports.init();
 lcdext.init();

/*******************************************/
/********   ANSTEUERUNG LCD    *************/
/*******************************************/

 lcdext.line(2);
 lcdext.print("  TERRA: REGEN");
 sleep 500;
 lcdext.clear();

/*******************************************/
/*********** Zeitschaltuhr Regen ***********/
/********Es wird jeden Tag geschaltet*******/
/*******************************************/

loop

{
min = system.minute();
wait system.second() != sec;
time=system.hour()*100 + system.minute()*100 + system.second();

/**************************************************************/
/******** Zeitdefinition Stunden Minuten Sekunden *************/
/*** Ein 07:30:00 und 17:00:00 Aus 07:30:45 und 17:00:45 ******/
/**************************************************************/
//if time >= 000020  and time <= 000030 or time >= 000110 and time <= 000120 <- Testeinstellung

if time >= 220010  and time <= 222555 or time >= 222905 and time <= 230148

   stports.setRel(2,1);
else
   stports.setRel(2,0);
 };
};


hier noch der Mainthread, falls gebraucht...

thread main
 
 {
 byte second;
 int a, b, c;
 int time;
 long timeset;
 stports.LCDlight(1);
 lcdext.init();
 lcdext.clear();

     lcdext.print("ZEIT EINSTELLUNG");
     lcdext.line(2);
     lcdext.print("BITTE  EINGEBEN");
sleep 2000;
     lcdext.clear();
     lcdext.print("     STUNDE     ");
sleep 2000;
     lcdext.clear();
     timeset=stkeyb.input (2, 2, 5000);
     a=timeset;
     lcdext.clear();
     lcdext.print("     MINUTEN    ");
sleep 2000;
     lcdext.clear();
     timeset=stkeyb.input (2, 2, 5000);
     b=timeset;
     c=00;
     system.settime(a, b, c);
     lcdext.clear();
     
     lcdext.print("DATE EINSTELLUNG");
     lcdext.line(2);
     lcdext.print("BITTE  EINGEBEN");
sleep 2000;
     lcdext.clear();
     lcdext.print("      JAHR      ");
sleep 2000;
     lcdext.clear();
     timeset=stkeyb.input (4, 4, 5000);
     a=timeset;
     lcdext.clear();
     lcdext.print("    MONAT     ");
sleep 2000;
     lcdext.clear();
     timeset=stkeyb.input (2, 2, 5000);
     b=timeset;
     lcdext.clear();
     lcdext.print("      TAG       ");
sleep 2000;
     lcdext.clear();
     timeset=stkeyb.input (2, 2, 5000);
     c=timeset;
     lcdext.clear();
     system.setdate(a, b, c);
     lcdext.clear();
sleep 2000;
     lcdext.print("DATE AND TIME");
     lcdext.line(2);
     lcdext.print("ERFOLGREICH");
sleep 2000;
     lcdext.clear();


            loop

     {
     second=system.second();
     lcdext.line(1);
     lcdext.time(1);
     lcdext.line(2);
     lcdext.date(1);
sleep 500;
     lcdext.goto(1,2);
     lcdext.put(' ');
     lcdext.goto(1,5);
     lcdext.put(' ');
wait second!=system.second();


   {
   run lichtsteuerung.licht;
   run regensteuerung.regen;
   }
  }
 }


    Antwort schreiben


Antworten:

Re: tägliche Ansteuerung (von Jörg Hansen - 22.12.2011 21:12)
    Re: tägliche Ansteuerung (von Rene - 23.12.2011 13:28)
        Re: tägliche Ansteuerung (von Rene - 26.12.2011 13:14)
            Re: tägliche Ansteuerung (von André H. - 3.01.2012 1:25)