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

HWCOM Funktioniert nach zwei, drei Tagen nicht mehr! Kategorie: Programmierung (von Markus - 12.08.2009 10:35)
Ich nutze:
C164CI-ControllerBoard, CC2-ReglerBoard, OSOPT V3.1
Hallo,

ich hab vor kurzen einen Webserver (AVR-NET-IO) eingebaut.
Dieser kommuniziert mit meiner CC2 über RS232.

Funktioniert gut. Aber nach zwei, drei Tagen reagiert die CC2 auf meine Anfrage nicht mehr?
Nach einem Reset der CC2 geht alles wieder. (Webserver wird nicht geresetet)
Ich schicke vom Webserver alles 20sek. 3 Bytes. Danach soll die CC2 mit den Werten Antworten.
Hab auch schon einen hwcom.flush() eingebaut.

Wo liegt das Problem?

GruÃ?
Markus

Anbei Mein Programm:


byte Betriebsart;

const RECVBUFFERLEN = 64;
byte recv[RECVBUFFERLEN];


function Werte_Akt_Senden()
{
  byte send[3];
  string s;
  int wert;
 
  send[0] = 'C';
  send[1] = 'C';
  send[2] = '2';
  hwcom.send(send,3);
  wait hwcom.ready();

  // Solar_oben anfügen
  wert = math.abs(messboard.temp(2));
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();

  // Solar_PV anfügen
  wert = math.abs(messboard.temp(6));
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();

  // Solar_PR anfügen
  wert = math.abs(messboard.temp(10));
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();

  // Vorlauf_unten anfügen
  wert = messboard.temp(11);
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();
 
  // Rücklauf_unten anfügen
  wert = messboard.temp(3);
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();
 
  // Holzkessel anfügen
  wert = messboard.temp(7);
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();

  // Vorlauf anfügen
  wert = messboard.temp(20);
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();

  // Rücklauf anfügen
  wert = messboard.temp(24);
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();

  // Puffer1 anfügen
  wert = messboard.temp(28);
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();

  // Puffer2 anfügen
  wert = messboard.temp(32);
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();

  // Puffer3 anfügen
  wert = messboard.temp(21);
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();

  // Puffer4 anfügen
  wert = messboard.temp(25);
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();

  // Puffer5 anfügen
  wert = messboard.temp(29);
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();

  // Puffer6 anfügen
  wert = messboard.temp(33);
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();

  // Boiler anfügen
  wert = messboard.temp(22);
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();

  // HK anfügen
  wert = messboard.temp(26);
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();

  // res.
  wert = 0;
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();

  // res.
  wert = 0;
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();

  //Solar % anfügen
  wert = haupt.Solar_Sek_Impuls*10;
  str.clear(s);
  str.putintf(s,wert,3);
  hwcom.send(s,3);
  wait hwcom.ready();

  //Solar_P_Pumpe
  hwcom.put(haupt.Solar_P_Pumpe + '0');
  wait hwcom.ready();

  //Solar_S_Pumpe
  hwcom.put(haupt.Solar_S_Pumpe + '0');
  wait hwcom.ready();

  //Solar_S_Schieber
  hwcom.put(haupt.Solar_S_Schieber + '0');
  wait hwcom.ready();
  //Ofen_Pumpe
  hwcom.put(haupt.Ofen_Pumpe + '0');
  wait hwcom.ready();

  //Ofen_Restwaerme
  hwcom.put(haupt.Ofen_Restwaerme + '0');
  wait hwcom.ready();

  //Puffer_Schieber
  hwcom.put(haupt.Puffer_Schieber + '0');
  wait hwcom.ready();

  //ByPass
  hwcom.put(haupt.ByPass + '0');
  wait hwcom.ready();

  //Boiler_Pumpe
  hwcom.put(haupt.Boiler_Pumpe + '0');
  wait hwcom.ready();
 
  //Boiler_Schieber
  hwcom.put(haupt.Boiler_Schieber + '0');
  wait hwcom.ready();
 
  //Heizkoerperpumpe_WH
  hwcom.put(haupt.Heizkoerperpumpe_WH + '0');
  wait hwcom.ready();
 
  //Heizkoerperpumpe_BAD
  hwcom.put(haupt.Heizkoerperpumpe_BAD + '0');
  wait hwcom.ready();
 
  //Heizkoerperpumpe_BAD
  hwcom.put(haupt.Zirkulation + '0');
  wait hwcom.ready();
 
  // Ende
  hwcom.ret();
  wait hwcom.ready();
}



thread main
{
  if Betriebsart == 0 // == INIT ==
  {
    run 8;
    hwcom.init();
    hwcom.setspeed(5);
    hwcom.flush();

    Betriebsart = 1; // Zyklische Bearbeitung
  }
 
  string s;
  s = "start";
  hwcom.send(s,5);
 
  // Prüft ob Anfragen vorhanden
  while(1)
  {
    hwcom.receive(recv, RECVBUFFERLEN, 2000);
    if (recv[0] == 'A' and recv[1] == 'B' and recv[2] == 'F')
    {
      Werte_Akt_Senden();
      recv[0] = '-';
      hwcom.flush();
    }
  }
 
}




    Antwort schreiben


Antworten:

Re: HWCOM Funktioniert nach zwei, drei Tagen nicht mehr! (von reneforster - 12.08.2009 16:31)
    Re: HWCOM Funktioniert nach zwei, drei Tagen nicht mehr! (von Markus - 12.08.2009 17:15)
    Re: HWCOM Funktioniert nach zwei, drei Tagen nicht mehr! (von Markus - 12.08.2009 16:54)
        Re: HWCOM Funktioniert nach zwei, drei Tagen nicht mehr! (von reneforster - 12.08.2009 19:01)
        Re: HWCOM Funktioniert nach zwei, drei Tagen nicht mehr! (von MarkusK - 12.08.2009 18:07)
            Re: HWCOM Funktioniert nach zwei, drei Tagen nicht mehr! (von Markus - 13.08.2009 13:58)
                Re: HWCOM Funktioniert nach zwei, drei Tagen nicht mehr! (von Markus - 3.09.2009 10:49)
                    Re: HWCOM Funktioniert nach zwei, drei Tagen nicht mehr! (von reneforster - 5.09.2009 20:25)
                       Re: HWCOM Funktioniert nach zwei, drei Tagen nicht mehr! (von KoenigDickBauch - 24.11.2009 12:04)