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

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

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 !  

> Puh, vermutlich geschafft. > > Ich danke erst einmal insbesondere André, Markus und WernerR für die tatkräftige Unterstützung!! > > Realisiert wurde die Steuerung mit einer CC2 Station und vielen Komponenten von CCTools. > > Erschwerend kam wohl hinzu, dass ich via Vodafone UMTS die Webseite aktualisieren muss und > es da so einige Unwägbarkeiten gibt. > > Zur Einstellung des XPorts (auf Hutschiene, ohne Hardware-Handshake): > > *** basic parameters > Hardware: Ethernet TPI > IP addr 192.168.0.20, gateway 192.168.0.1,netmask 255.255.255.0 > > *** Channel 1 > Baudrate 57600, I/F Mode 4C, Flow 00 > Port 10001 > Connect Mode : C4 > Send '+++' in Modem Mode disabled > Show IP addr after 'RING' disabled > Auto increment source port disabled > Remote IP Adr: --- none ---, Port 00000 > Disconn Mode : 00 Disconn Time: 00:05 > Flush Mode : 33 > > *** Security > SNMP is disabled > Telnet Setup is enabled > TFTP Download is enabled > Port 77FEh is enabled > Web Server is disabled > Web Setup is disabled > ECHO is disabled > Enhanced Password is disabled > Port 77F0h is enabled > > *** Expert > TCP Keepalive : 45s > ARP cache timeout: 600s > CPU performance: Regular > Monitor Mode @ bootup : enabled > RS485 tx enable : active low > HTTP Port Number : 80 > SMTP Port Number : 25 > MTU Size: 1056 > Alternate MAC: disabled > Ethernet connection type: auto-negotiate > > Zu den Scripten und Programmen: > Sendeteil CC2: > <code> > > system.TIME Zeit; > string ts[50];int t[25]; > int len;string sendlen; > byte sendready,makeready; > function makedata() > { > makeready=10; > > byte i; > //++++++Leeren des Arrays++++++++++++ > for i=0...24 > { > t[i]=0; > } > //+++++++++++++++++++++++++++++++++++ > //Zuweisung Solartemperaturen > t[0]= holtemp.tsso; > t[1]= holtemp.tssu; > t[2]= holtemp.tsr; > t[3]= holtemp.tsv; > //Zuweisung Speichertemperaturen > t[4]= holtemp.tso; > t[5]= holtemp.tsm; > t[6]= holtemp.tsu; > //Zuweisung Kamintemperaturen > t[7]= holtemp.trr; > t[8]= holtemp.tkv; > t[9]= holtemp.tkr; > //Zuweisung Heiztemperaturen > t[10]= holtemp.tmhw; > t[11]= holtemp.thw; > t[12]= holtemp.tww; > //Zuweisung Umgebung > t[13]= holtemp.tout2; > t[14]= holtemp.sonne; > //Zuweisung Pumpen > t[15]= var.sproz; > t[16]= var.kproz; > t[17]= var.lp; //0 ein;-1 aus > t[18]= var.hp; //0 ein;-1 aus > //Zuweisung Ölbrenner und Kaminfeuer > t[19]= var.oel; //0 ein; -1 aus > t[20]= var.kam_puf; //10 ein;0aus > //Zuweisung Wasserwege > t[21]= var.oel_ww; //Marker website: oel2ww 10 ein;0aus > t[22]= var.oel_puf;// Marker website: oel2puf 10 ein;0aus > t[23]= var.puf_hk; //Marker website: oel2heiz 10 ein;0aus > t[24]= var.puf_ww; //Marker website: puf2ww 10 ein;0aus > //+++++++Leeren des stringarray und Konvertierung int 2 string+++++++++++ > for i=0...49 > { > ts[i]=""; > } > > for i=0...24 > { > str.putint(ts[i],t[i]); > } > //++++++++++++++++++++++++++++++++++++++++++++ > //Zuweisung Betriebszeiten Brenner > str.putint(ts[25],var.oeljahr_alt_h);// Brenner std vorjahr > str.putint(ts[26],var.oeljahr_alt_m);// Brenner min vorjahr > str.putint(ts[27],var.oelstd);// Brenner std jahr > str.putint(ts[28],var.oelmin);// Brenner m jahr > > str.putint(ts[29],var.oh); //Tagesbetrieb std > str.putint(ts[30],var.omin); //Tagesbetrieb min > //Zuweisung Anläufe Brenner > str.putint(ts[31],var.anlauf_alt);// Anläufe Vorjahr > str.putint(ts[32],var.anlauf_akt);// Anläufe Jahr > str.putint(ts[33],var.run4day);// Anläufe Tag > //Zuweisung Ölverbrauch Vorjahr > str.putint(ts[34],var.verbrauch_alt_l); > str.putint(ts[35],var.verbrauch_alt); > //Zuweisung Ölverbrauch Jahr > str.putint(ts[36],var.verbrauch_akt_l); > str.putint(ts[37],var.verbrauch_akt); > > //Zuweisung Betriebszeiten Solar > str.putint(ts[38],var.soljahr_alt_h);// Solar std vorjahr > str.putint(ts[39],var.soljahr_alt_m);// Solar min vorjahr > // Zuweisung Solarstunden jährlich > str.putint(ts[40],var.solstd);// Solar std jahr > str.putint(ts[41],var.solmin);// Solar m jahr > // Zuweisung Solarstunden täglich > str.putint(ts[42],var.sh);// Solarstd tag > str.putint(ts[43],var.smin);// Solarmin tag > > //Zuweisung Betriebszeiten Kamin > str.putint(ts[44],var.kamjahr_alt_h);// Kamin std vorjahr > str.putint(ts[45],var.kamjahr_alt_m);// Kamin min vorjahr > // Zuweisung Kaminstunden jährlich > str.putint(ts[46],var.kamstd);// Kaminstd > str.putint(ts[47],var.kammin);// Kaminmin > // Zuweisung Kaminstunden täglich > str.putint(ts[48],var.kh);// Kaminstd > str.putint(ts[49],var.kmin);// Kaminmin > > len=0;sendlen=""; > for i=0...49 > { > len = len+str.length(ts[i]); > if i < 49 len=len+1; > } > len=len+6;//werte= zur Länge addieren > str.putint(sendlen,len); > makeready=0; > } > //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > function send() > { > string s1; > byte i; > wait sendready==0; > sendready=10; > hwcom.print("C80.237.132.72/80\r\n");hwcom.ready(); > sleep 250; > hwcom.print("POST /xpr.php HTTP/1.1\r\n");hwcom.ready(); > hwcom.print("Host: www.heizung.efgn.de\r\n");hwcom.ready(); > > s1="Content-Length: "; > s1=s1+sendlen+"\r\n"; > hwcom.print2(s1);hwcom.ready(); > hwcom.print("Connection: close\r\n");hwcom.ready(); > hwcom.print("Content-Type: application/");hwcom.ready(); > hwcom.print("x-www-form-urlencoded\n\n");hwcom.ready(); > > hwcom.print("werte="); > for i=0...49 > { > hwcom.print2(ts[i]); > if i < 49 hwcom.put(44); > } > hwcom.print("\r\n");hwcom.ready();hwcom.flush(); > sendready=0; > } > //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > thread senddata > { > long time,timer; > timer=system.timer(); do{time=system.timer();}while time-timer<30000; > wait makeready == 0; > makedata(); > wait sendready==0; > send(); > } > </code> > > Dieses TCP Protokoll scheint etwas unorthodox, ist aber von Host Europe freigegeben und > funktioniert anders auch nicht.. > > Ich habe für Abrufe mit mehr Daten noch eine andrer Routine geklaut ähh, besorgt (André sei Dank) > Die Erzeugung der Daten in der Tabelle liegt im Forum > <code> > > string gs;// = getstring > //---------------------------------------- > function getstr(byte s[]) returns int > //---------------------------------------- > { > byte i,y; > i=0; > y=255; > for i=0 ... 29 > { > wait hwcom.rxd(); > y=hwcom.get(); > if y==254 > { > byte x[2]; > x[1]=hwcom.receive(x,1,1000); > if x[0]==254 and x[1]==1 quit 1;// Hostmode einleiten RS232 > if x[0]==253 and x[1]==1 quit 256;// Hostmode einleiten LAN > } > if y==10 or y==13 break; > s[i]=y; > > } > if y==13 hwcom.get(); > s[31]=i; > mem.fillpos(gs,i,30-i,0); > hwcom.flush(); > return i; > } > //############################################################################ > byte buf[4096]; > > thread xport// Thread vom main-thread aus starten > { > byte x,y,z; > hwcom.init(); > hwcom.setbuf(buf,4096); > hwcom.setspeed(8); > sendready=0;makeready=0; > // klappt COM! 14.2.09 > loop > { > getstr(gs); > //++++++++++++++meldet sich eine WEB_Anfrage, dann: > > x=strx.comp(gs,"GET / HTTP/1.0");y=strx.comp(gs,"GET / HTTP/1.1");z=strx.comp(gs,"GET /index.html HTTP/1.1"); > if x==0 and y==0 and z==0 hwcom.flush(); > else > { > wait sendready==0; > sendready=10; > hwcom.print("HTTP/1.0 200 OK\n"); > hwcom.print("Server: C-Control II\n"); > hwcom.print("Transfer-Encoding: chunked\n"); > hwcom.print("Content-Type: text/html\n\n"); > hwcom.print("<html>\n<body>\n"); > hwcom.print("<b>C-Control II im Web<br>\n"); > hwcom.print("Kaminsteuerung</b><br>\n"); > table(); > //hwcom.flush(); > hwcom.print("<a href=\"/\">aktualisieren</a>\n"); > hwcom.flush(); > hwcom.print("</body>\n</html>\r\n"); > hwcom.flush(); > sendready=0; > } > > } > } > </code> > > Das php Empfangsscript: Da eine Aktualisierung mindestens 5 Minuten braucht (Vodafone), > habe ich auf einen refresh der Daten verzichtet. > > <code> > <?php > error_reporting(E_ALL); > > $temp = ($_POST['werte']); > if ($temp != "") > { > strip_tags($temp); > $fp = fopen( "werte.txt", "w" ); > fwrite( $fp, $temp ); > fclose( $fp ); > print_r($temp); > $temp=""; > } > ?> > </code> > und index.php im Ausschnitt: > <code> > <?php > error_reporting(E_ALL); > //include("counter.php"); > > $fp=fopen("werte.txt","r");//Textdatei wird geöffnet und Daten eingelesen > $data=fgets( $fp, 256); > fclose($fp); > $Temp=explode(",",$data ); > //Zuweisung Solartemperaturen > $tsso = $Temp[0]; > $tssu = $Temp[1]; > $tsr = $Temp[2]; > $tsv = $Temp[3]; > //Zuweisung Puffertemperaturen > $tso = $Temp[4]; > $tsm = $Temp[5]; > $tsu = $Temp[6]; > //Zuweisung Kamintemperaturen > $trr = $Temp[7]; > $tkv = $Temp[8]; > $tkr = $Temp[9]; > //Zuweisung Heiz- und Warmwasser > $tmhw = $Temp[10]; > $thw = $Temp[11]; > $tww = $Temp[12]; > //Zuweisung Umgebung > $tout= $Temp[13]; > $env = $Temp[14]; > //Zuweisung Pumpen > $sp= $Temp[15]; //Zuweisung in % > $kp= $Temp[16]; //Zuweisung in % > $lp= $Temp[17]; //0 ein, -1 aus > $hp= $Temp[18]; //0 ein, -1 aus > //Zuweisung Brennstellen ein > $brenner= $Temp[19]; //0 ein, -1 aus > $kamin= $Temp[20]; //10 ein, 0 aus > // Zuweisung Wasserwege > $oel2ww= $Temp[21]; //10 ein, 0 aus > $oel2puf= $Temp[22]; //10 ein, 0 aus > $puf2heiz= $Temp[23]; //10 ein, 0 aus > $puf2ww= $Temp[24]; //10 ein, 0 aus > //****************************************** > //Zuweisung Datum > $datum = date("d.m.Y"); > $uhrzeit = date("H:i"); > $jahr = date("Y"); > //Zuweisung Vorjahr > $jahralt = ($jahr - 1); > //Zuweisung Betriebszeiten Brenner > $oeljahralt_h= $Temp[25]; > $oeljahralt_m= $Temp[26]; > $oeljahr_h= $Temp[27]; > $oeljahr_m= $Temp[28]; > $oeltag_h= $Temp[29]; > $oeltag_m= $Temp[30]; > //Zuweisung Brenner-Anläufe > $anlauf_alt= $Temp[31]; > $anlauf_akt= $Temp[32]; > $anlauf_tag= $Temp[33]; > //Zuweisung Ölverbrauch Vorjahr > $verbrauch_alt_l= $Temp[34]; > $verbrauch_alt= $Temp[35]; > //Zuweisung Ölverbrauch Jahr > $verbrauch_akt_l= $Temp[36]; > $verbrauch_akt= $Temp[37]; > //Zuweisung Betriebszeiten Solar > $solarjahralt_h = $Temp[38]; > $solarjahralt_m = $Temp[39]; > $solarjahr_h = $Temp[40]; > $solarjahr_m = $Temp[41]; > $solartag_h = $Temp[42]; > $solartag_m = $Temp[43]; > //Zuweisung Betriebszeiten Kamin > $kaminjahralt_h = $Temp[44]; > $kaminjahralt_m = $Temp[45]; > $kaminjahr_h = $Temp[46]; > $kaminjahr_m = $Temp[47]; > $kamintag_h = $Temp[48]; > $kamintag_m = $Temp[49]; > //Ermittlung Wetterbedingung > if ($env < 350) $wetter = "Abendd&auml;mmerung"; > if ($env <= 100) $wetter = "Nacht"; > if ($env >= 350) $wetter = "D&auml;mmerlicht"; > > if ($env >= 600) $wetter = "stark bedeckt"; > if ($env >= 700) $wetter = "bedeckt"; > if ($env >= 800) $wetter = "sonnig, bew&ouml;lkt"; > if ($env >= 900) $wetter = "sonnig, durchziehende Wolken"; > if ($env >= 950) $wetter = "sonnig, diesig"; > if ($env >= 1000) $wetter = "sonnig, leicht diesig"; > if ($env >= 1050) $wetter = "sonnig"; > ?> > </code> > Der Rest ist wieder bei http://www.cc2net.de/Foren/CC2Net_Forum/lesen.php?eintrag=13791 > im Forum zu finden. > > Da nichts davon wirklich auf meinem Mist gewachsen ist, soll zeigen, dass es auch ohne > tiefere Vorkenntnisse, mit viel suchen im Netz und Hilfe aus dem Forum geht. > Gruß, Günther
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB