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

Re: HWCOM Letzes Zeichen bei nächster Übertragung Kategorie: Programmierung (von Christian Jost - 7.08.2006 21:55)
Als Antwort auf HWCOM Letzes Zeichen bei nächster Übertragung von Daniel Schartz - 11.07.2006 9:00
Ich nutze:
C-Control II Unit, C-Control II Station, OSOPT V3.0
Hallo Daniel,

Ich kenne das Problem und denke dass es sich um einen Bug im Betriebssystem handelt. Ich habe
deshalb hier auch schon einmal eine Message gepostet aber André Helbig war der Meinung dass es
sich nicht um einen Bug handelt bzw. konnte ihn nicht reproduzieren. Auf mein (wahrscheinlich zu
kompliziertes) Testprogramm erhielt ich nie ein Feedback.
siehe Hier...

Habe dir leider auch keine Lösung. FĂĽr mich ist dieses Verhalten jedenfalls nicht brauchbar!!!  Zur
Zeit prĂĽfe ich eine andere interessante Alternative:
http://www.acmesystems.it/?id=4

I2C-Bus und serielle Schnittstellen sind vorhanden und es hat eine Ethernet Schnittstelle :-))

Gruss,
Christian



> Hallo,
>
> Ich bin dabei ein Programm zu schreiben um auf einer seriellen Schnittstelle bestimmte
>  Messages abzufangen und ein Relais daraufhin zu schalten.
>
> Wenn ich die C-Control resette, dann funktionniert das Programm einwandfrei.
> Nach einiger Zeit wird dann das letzte Zeichen der �bertragung dann erst bei der nächsten
> Ă?bertragung mit inbuffercount gesehen.
>
> Kann ich ohne zusätslichen Protokoll diesen Zustand feststellen und das Zeichen 'nachlesen' ?
>
> Hier der Code :
> thread HandleSerial
> {
>  byte i;
>  int Holt;
>  string strHolt;
>  string strStart;
>  string strTest;
>  string strEnd;
>  
>  // Init Variables
>  strStart ="START";
>  strTest = "TEST";
>  strEnd = "END";
>
> // wait hwcom.rxd();
>    wait hwcom.inbuffercnt() >0;
>    i= hwcom.get();
>    if i== 13
>     {
>      strx.Ucase(mybuffer,0,str.length(mybuffer));
> /*     capture flagRel;
>      strDisplay1 = mybuffer;
>      release;
> */
>      Send(mybuffer,str.length(mybuffer));
>      if strx.InStr(0,mybuffer,strTest,str.length(mybuffer),4) > -1
>      {
>       /*capture flagRel;
>       strDisplay2 = Dumbo;
>       release;
>       */
>      }
>      else
>      {
>       if strx.InStr(0,mybuffer,strStart,str.length(mybuffer),4) > -1
>       {
>        strx.left(mybuffer,strHolt,2);
>        Holt = getNum(strHolt);
>        Holter[Holt] =1;
>        capture flagRel;
>        strDisplay2 = "Start Alarm ";
>        str.putint(strDisplay2,Holt);
>        release;
>
>        stports.setRel(1,1);
>       }
>       else
>       {
>        if strx.InStr(0,mybuffer,strEnd,str.length(mybuffer),3)>-1
>        {
>         strx.left(mybuffer,strHolt,2);
>         Holt = getNum(strHolt);
>         Holter[Holt] =0;
>         capture flagRel;
>         strDisplay2 ="End Alarm ";
>         str.putint(strDisplay2,Holt);
>         release;
>         if lastOn()
>         {
>          stports.setRel(1,0);
>         }
>        }
>       }
>       }
>    BufPos =-1;
>   }
>    else
>    {
>    BufPos = BufPos +1;
>    SetByte(mybuffer,i,BufPos);
>    setStrLen(mybuffer,BufPos + 1);
>    
>    }
> }
>
>
> Mit Bitte um Hilfe
>
>
> Danke in Voraus
>
> Daniel Schartz

Passender Link: siehe dieser Beitrage


    Antwort schreiben


Antworten:

Re: HWCOM Letzes Zeichen bei nächster Übertragung (von Daniel Schartz - 8.08.2006 11:12)