HWCOM Funktioniert nach zwei, drei Tagen nicht mehr! Kategorie: Programmierung (von Markus - 12.08.2009 10:35) | ||
| ||
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) |