Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > 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: > > > <code>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(); > } > } > > } > > > </code>