Re: Fehler im Prog. Kategorie: Programmierung (von Werner Radfelder - 16.03.2004 22:56) | ||
Als Antwort auf Fehler im Prog. von Werner Radfelder - 16.03.2004 22:29 | ||
| ||
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 | ||
Antwort schreiben Antworten: Re: Fehler im Prog. (von Tom - 17.03.2004 8:02) Re: Fehler im Prog. (von Werner Radfelder - 17.03.2004 12:36) |