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 !  

> Hallo Heiko > für den Anschluss der C-Control an das LAN benötigst du die Serielle Schnittstelle der C-Control. > Ich habe das mit der swcom (2. serielle Schnittstelle der C-Control Station) realisiert. > Diese ist mit dem XPort (von André) verbunden, welche den Übergang an das LAN realisiert. > In der C-Control habe ich einfach mal je 10 globale Byte, Int, LongInt und Float-Variablen definiert, > in welche ich die gewünschten werte aus dem Programm ablege, > So bleibt die Prozedur relaiv allgemein. Der Thread wartet auf die Ankunft der von mir definierten > Zeichenkette "GET-WG-Daten" und sendet dann die definierten Variablen. > > <code> > thread XPort > { > byte puffer[512]; > int i; > string http, http0; > string s, strFloat; > > > > swcom.setspeed(swcom.SPEED_9600); > swcom.setbuf(puffer,512); > swcom.init(); > > http = "GET-WG-Daten"; // dies ist der Aufforderungsstring, welche die php-Prozedur sendet > > loop > { > swcom.flush(); //RS232-Buffer leeren > wait swcom.rxd(); // warten auf Zeichenempfang > swcom.inputstr(s,0); > // nur die ersten 12 Zeichen werden in den String http0 übertragen > strx.left(s,http0,12); > // wenn da "GET-WG-Daten" steht, müssen die Variablen übertragen werden > if strx.comp(http,http0) > { > wait cap.Capture(1); // alles an einem Stück senden > // in der Variablen global.strSQLDate steht das > // Datum im SQL-Format "JJJJ-MM-DD HH:MM" > // und ein Komma (44) als Delimiter > swcom.print2(global.strSQLDate);swcom.put(44); > for i=0...9 // hier folgen die 10 Byte-Variablen mit Komma getrennt > { > if global.ByteWert[i] swcom.put('1'); > else swcom.put('0'); > swcom.put(44); > } > // hier folgen die 10 Int-Variablen mit Komma getrennt usw. > for i=0...9{swcom.num(global.IntWert[i]);swcom.put(44);} > for i=0...9{swcom.num(global.LongWert[i]);swcom.put(44);} > for i=0...9 > { strFloat=""; > str.putfloatf(strFloat,global.FloatWert[i],1); > swcom.print2(strFloat); > swcom.put(44); > > } > swcom.print(".\r\n"); // zuletzt das Zeilenende > swcom.put(0); > cap.Release(1); // und das Capture wieder frei geben > strFloat=""; > } > > } > } > </code> > > Soweit die Sache auf der Seite der C-Control. > Die Konfig auf dem XPort ist etwas Tricky und meist mit etwas Probieren verbunden. > Wenn du willst, kann ich die meine Konfig zustellen. > > Auf dem Router musst du ein NAT einrichten, diese muss ungefähr so aussehen: > DienstName StartPort EndPort Server-IP-Adresse > > bei mir ist habe ich folgende Werte im Router eingetragen: > XPort=Dienstname (auf meinem Router freier text) > StartPort: 10001 (Gemäss XPort-Doku Standard-Port, > EndPort: 10001 > Server-IP-Adresse: 192.168.9.10 (Entspricht der IP-Adresse des XPort in meinem lokalen Netzwerk > > Somit ist der XPort vom Internet erreichbar unter der externen IP-Adresse des Routers > mit dem Port 10001. > > Auf meiner Webseite habe ich nun eine PHP-Funktion erstellt, welche alle 30 Minuten aufgerufen wird. > Du kannst dir bei Cronjob.de diese Aufrufe gratis einrichten. > > <code> > <?php > > $fp = @fsockopen ("xxxxxxxxxxx.dyndns.org", 10001, $errno, $errstr, 1); > //xxxxxx steht hier für meine Domain, für welche ich einen Dyndns-Account eingerichtet habe > > if (!$fp) > { > echo "nein, schief gelaufen ...."."<br>\n"; > echo "$errstr ($errno) - No connection to XPort<br>\n"; > } > else > {//Bei erfolgreicher Verbindung: > stream_set_timeout($fp, 4);// Timeout: 1 Sekunde > $Data=""; > fputs($fp, "GET-WG-Daten..................");// zum Anfordern der Daten senden > echo "GET-WG-Daten.................."."<br>\n"; > while(!$info['timed_out']) > {// Solange es zu keinem Time-Out kommt ... > $in=fread($fp, 512); //Daten lesen > $Data.=$in; > > if(substr($in,-3)==".\r\n") break; > // Ein Punkt + CR + LF signalisiert das Datenende > $info = stream_get_meta_data($fp); > } > fclose($fp); > echo $Data . "<br>\n"; > $w=explode(",",$Data); > $sqlValues="('"; > foreach ($w as $wert) > { > // echo $wert."<br>\n"; > $sqlValues.=$wert."', '"; > } > $sqlValues=substr($sqlValues,0,(strlen($sqlValues)-8)); > $sqlValues=$sqlValues."')"; > // echo "<br>\n"."<br>\n".$sqlValues."<br>\n"; > > if(!$info['timed_out']) > {// Wenn der Datensatz komplett empfangen wurde... > echo "<br>\n"."<br>\n"."Datensatz komplett !!!"."<br>\n"; > $tdate = substr($w[0],0,8); > echo $tdate; > if ($tdate="00-01-01") > { > $w[0]=date("y-m-d H:i:s"); > } > } > else > { > echo "<br>\n"."<br>\n"."Datensatz fehlerhaft !!!!!!!!!!!"."<br>\n"; > $w[0]=date("y-m-d H:i:s"); > $w[1]=255; > } > $connection =mysql_connect('localhost','web290','berta1'); > if (connection) > { > if (mysql_select_db('usr_web290_1')) > { > $sql = "INSERT INTO test1 (Datum,". > "B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,". > "I1,I2,I3,I4,I5,I6,I7,I8,I9,I10,". > "L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,". > "F1,F2,F3,F4,F5,F6,F7,F8,F9,F10) ". > "VALUES ('".$w[0]."','". > $w[1]."','".$w[2]."','".$w[3]."','".$w[4]."','".$w[5]."','".$w[6]."','".$w[7]."','".$w[8]."','".$w[9]."','".$w[10]."','". > $w[11]."','".$w[12]."','".$w[13]."','".$w[14]."','".$w[15]."','".$w[16]."','".$w[17]."','".$w[18]."','".$w[19]."','".$w[20]."','". > $w[21]."','".$w[22]."','".$w[23]."','".$w[24]."','".$w[25]."','".$w[26]."','".$w[27]."','".$w[28]."','".$w[29]."','".$w[30]."','". > $w[31]."','".$w[32]."','".$w[33]."','".$w[34]."','".$w[35]."','".$w[36]."','".$w[37]."','".$w[38]."','".$w[39]."','".$w[40]."')"; > > // echo "<br>\n"."<br>\n".$sql."<br>\n"; > > } > //$query = "SELECT spalte FROM tabelle"; > //$result = mysql_query($query); > //if (mysql_errno()) { > // echo mysql_error(); } > > $sqlresult = mysql_query($sql); > > if(mysql_errno()) echo mysql_error(); > > mysql_close($connection); > } > } > ?> > </code> > > Diese Funktion schreibt die Reccords in eine MY-SQL-DB auf meiner Webseite, die Darstellung der > Daten ist dann der eigenen Fantasie überlassen. > Ich werte diese lediglich statistisch aus. > > Ich hoffe, dass ich dier einige Inputs geliefert habe: > Gruss: Markus > > > > > > Hallo User, > > > > ich muß hier leider einmal eine umfangreichere Frage stellen. Ich habe mir zwar über "suchen" > > einiges zusammengetragen, aber so richtig schlau werde ich daraus nicht. Bitte versucht mir , > > auf für mich verständliche Weise zu helfen. > > Wie komme ich an meine CControl im Keller über das hauseigene LAN (3 Computer über einen > > Router verbunden)????????? Und wie kann ich einen Schritt weitergehen und meine CControl > > über das Internet aufrufen (Daten ändern oder zumindest mir die Daten ansehen - so wie es z.B. > > Andre macht)???????????? > > Bitte nennt mir die benötigte Hardware (Xport LAN interface?) und die nötige Software!!! > > > > Vielen Dank für Eure Hilfe und einen schönen Sonntag noch. > > > > Heiko
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB