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

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
Ich nutze:
C164CI-ControllerBoard, C-Control II Station, CC2-ReglerBoard, OSOPT_V2, OSOPT V3.0
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)