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

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
Ich nutze:
C-Control II Station, OSOPT V3.1
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)