Re: Serielle Schnittstelle V24 Kategorie: Programmierung (von Torsten - 8.03.2010 21:15) | ||
Als Antwort auf Re: Serielle Schnittstelle V24 von reneforster - 7.03.2010 17:59 | ||
| ||
Hallo Rene, besten Dank zunächst! Weitere Frage: "global.watchdog1=1;" Was ist das? Bekomme immer Fehlermeldung unknown identifier "global". Kann kein Modul finden, das passt. Danke und mfG Torsten ----------------------------------------------------------------------- > Hallo Torsten, > > anbei mein funktionierendes Beispiel, vergleiche mit deinem und ändere entsprechend ab. > Ich sende immer 10 stellige Datensätze vom PC zur Control, im nachfolgenden Emfangsthread > werden diese dann aufbereitet, bzw. anderen Programmteilen zur Verfügung gestellt. > > > im Main Thread so ähnlich > > hwcom.init();hwcom.setspeed(6); > > > > im Emfangsthread dann so: > > > /****************************************************************************** > Eingsdaten erfassung vom Server > ******************************************************************************/ > > thread ein232 > { > > // Varis definieren und setzen ------------------------------------------------- > int Befehl; > string s,b,l; > > Befehl=0; > s=" ";b=" ";l=" "; > > > > loop > { > global.watchdog1=1;hwcom.flush(); > > s=" ";b=" ";l=" "; > > wait hwcom.rxd(); > hwcom.receive(s,10,50); > > > > // nur gültige Datensätze in die Verarbeitung schicken +++++++++++++++++++++++++ > // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > b="AD" ; if strx.compsel(s,b,2,0) { // wenn am Anfang ein "AD" ist > b="E" ; if strx.compsel(s,b,1,9) { // wenn an letzter Stelle ein "E" ist > > > stports.togLED(5); // Anzeige RS232 Empfang an LED 5 ---------------- > > > > // Rolladen Befehle / Datensätze ----------------------------------------- > b="200" ; if strx.compsel(s,b,3,2) { // Datensätze mit 200 ----------- > strx.mid(s,l,5,4); // Befehlsnummer in String l > global.BeRo=strx.getNum(l); // String l in Integer umwandeln > continue;} > > > // Für Control Keller ------------------------------------------------ > b="22" ; if strx.compsel(s,b,2,2) { // Datensätze mit 22 ------------ > global.BeCa=2;global.DaCa2=s ;continue;} > > > // Für Control Heizung ------------------------------------------------ > b="23" ; if strx.compsel(s,b,2,2) { // Datensätze mit 23 ------------ > global.BeCa=1;global.DaCa=s ;continue;} > > > // Für Control Haus --------------------------------------------------- > b="24" ; if strx.compsel(s,b,2,2) { // Datensätze mit 24 ------------ > global.BeAn=1;global.DaAn=s ;continue;} > > > > // Licht Befehle / Datensätze ----------------------------------------- > b="250" ; if strx.compsel(s,b,3,2) { // Datensätze mit 250 ----------- > strx.mid(s,l,5,4); // Befehlsnummer in String l > global.BeLi=strx.getNum(l); // String l in Integer umwandeln > continue;} > > > // Funktions Befehle / Datensätze ------------------------------------- > b="260" ; if strx.compsel(s,b,3,2) { // Datensätze mit 260 ----------- > strx.mid(s,l,5,4); // Befehlsnummer in String l > global.BeFu=strx.getNum(l); // String l in Integer umwandeln > continue;} > > > > > > > > // System Befehle ----------------------------------------------------- > b="9990001"; // Watchdog für RS 232 auf Controlseite > if strx.compsel(s,b,7,2) {global.watchdog1=1;continue;} > > b="9990002"; // Watchdog für I²C Bus auf Controlseite > if strx.compsel(s,b,7,2) {i2c.init();sleep 150;i2c.stop();continue;} > > > b="9990003"; // Software Reset des Systems > if strx.compsel(s,b,7,2) { > quit -1;continue;} > > b="9990004"; // Hostmodus einleiten > if strx.compsel(s,b,7,2) { > quit 63;continue;} > > > > > > }} // Ende Abarbeitung gültiger Datensätze +++++++++++++++++++++++++++++++++++++ > // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > > > // Anzeige ungültiger Datensätze > // lcdext.clear();lcdext.print(""); > // lcdext.line(2);lcdext.print(s); > > > }} > > | ||
Antwort schreiben Antworten: Re: Serielle Schnittstelle V24 (von reneforster - 9.03.2010 15:06) Re: Serielle Schnittstelle V24 (von nitraM - 9.03.2010 13:23) |