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

Fehler im Prog. Kategorie: Programmierung (von Werner Radfelder - 16.03.2004 22:29)
Ich nutze:
C164CI-ControllerBoard, C-Control II Station, CC2-ReglerBoard, OSOPT_V2, OSOPT V3.0
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                                                                     //  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                                                                     // 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 Werner Radfelder - 16.03.2004 22:56)
    Re: Fehler im Prog. (von Tom - 17.03.2004 8:02)
        Re: Fehler im Prog. (von Werner Radfelder - 17.03.2004 12:36)