Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Noch mal und dann hoffentlich leserlich > > Hallo > > Habe eine function als Zeitschaltuhr gebastelt, die bis > gestern auch Tadellos funktionierte.Nun gestern Nacht kam > der Fehler es wurde im thread Warmwasser eine Pumpe > um 23:50 bis 23:56 geschaltet obwohl dies durch > die „function ein_aus_tag“ verhindert werden müsste. > einzeit = 2300 > auszeit = 530 > kann den fehler im Programm nicht finden? > Ist auch nicht reproduzierbar, für jeden Hinweis dankbar > > //----------------------------------------------------------- > function ein_aus_tag(int einzeit,int auszeit) returns byte //function aus Modul Zeit > //----------------------------------------------------------- > { > int time; > loop > { > time=system.hour()*100 + system.minute(); // Systemzeit in Seriellzeit > if einzeit < auszeit // vergleichen ob Zeitabschnitt innerhalb eines Tages ist > { > if time>=einzeit and time < auszeit return 1; // Rückgabe 1 wenn z.B. Systemzeit > // zwischen 6:30 und 21:45 ist > else return 0; // Rückgabe 0 wenn z.B. Systemzeit nicht zwischen > //6:30 und 21:45 ist > } > > if einzeit > auszeit // vergleichen ob Zeitabschnitt über Tageswechsel ist > { > if time<=einzeit and time < auszeit return 1; // Rückgabe 1 wenn z.B. Systemzeit > //zwischen 22:00 und 6:00 ist > else return 0; // Rückgabe 0 wenn z.B. Systemzeit zwischen > //6:00 und 22:00 ist > } > > if einzeit==auszeit return 0; > } > } > > //--------------------------------------------------------------------- > > thread Warmwasser > { > int tempWasserZ; > loop > { > sleep 30000; > if zeit.ein_aus_tag(2300,530)==0 // Pumpe schalten zwischen 5:30 und 23:00 > { > tempWasserZ=AD[8]; > if tempWasserZ<=3200 and pcf.get(0,4)!=0 // Pumpe ein wenn Temp unter 32° > { > stports.setLED(5,1); > pcf.set(0,4,0); > } > if tempWasserZ>=3500 and pcf.get(0,4)==0 // Pumpe aus wenn Temp über 35° > { > stports.setLED(5,0); > pcf.set(0,4,1); > } > } > else > { > if pcf.get(0,4)==0 // Pumpe ausschalten zwischen 23:00 und 5:30 > { > stports.setLED(5,0); > pcf.set(0,4,1); > } > } > } > } > > Programm läuft auf C-Control II Station und OSOPT_V2 > > Gruß > Werner > >