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

Re: Hostmodus einleiten Kategorie: Programmierung (von André H. - 28.08.2011 17:54)
Als Antwort auf Hostmodus einleiten von ChristianS - 24.08.2011 22:02
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, C-Control II Station, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.1
Hallo Christian,

> Wenn ich nun Daten via CC2-Tool übertrage, dann stürzt das Tool zu 70% ab ...

Welches Tool?
Das CC2Net.de-DL-Tool oder den Original-Lader von Conrad?
Ich denke Du meinst ersteres.

> ... und bleibt im
> Modus "Prüfe C-Control II" hängen. Nur ein manuelles Einleiten des Host-Modus an der Station
> funktioniert dann. Manchmal bekommt man durch einen Neustart des Tools und der Option
> "Host-Mode-Geschw. Korrektur" die Station wieder in den Betriebsmodus und man kann die
> �?bertragung erneut einleiten.

An dieser Position darf das Tool nicht stehenbleiben.
Wenn keine Antwort erfolgt, mu�? die Meldung "C-Control II antwortet nicht..." erfolgen.
Es gibt nur wenige Gründe, warum es nicht zu einem Time-Out kommt:

- Dein Programm wurde nicht beendet, sondern sendet kontinuierlich Daten, da es sich
  in einem über RS232 erreichbaren Menü befindet. Die Host-LED leuchtet hier nicht.
  Wenn Du keine Host-LED hast, bitte nachrüsten. (Low-Current-LED + Vorwiderstand
  zwischen +5V und Host-Pin oder normale LED mit Transistor (siehe IDE-Hilfe zu OSOPT V3.0))
  Mehr dazu unten bei den Erläuterungen zu Deinem Thread.

- Du nutzt die lizensierte Version des CC2Net.de-DL-Tools, ohne vorher das Setup
  der Shareware ausgeführt zu haben. Es fehlen dann Steuerelemte oder haben eine
  zu alte Version. In diesem Fall bitte das Setup ausführen und anschlie�?end die
  Lizensierte Version wieder drüberkopieren. (Verzeichis vor dem Setup sichern.)

Wenn Du das ausschlie�?en kannst:
Welches Betriebssystem benutzt Du? Win7, Vista, WinXP, Win2k, Win98(SE), Win95 :-)
Vom Bild her würde ich auf Vista oder Win7 schätzen. 32 oder 64Bit?
Benutzt Du eine echte RS232 oder einen USB-Adapter?
Bei letzterem ggf. einen anderen Adapter testen.

Wenn das alles nichts hilft, kann ich mit Dir zusammen per Teamviewer draufschauen, um
das Problem zu analysieren.


>
> thread ComCom// Thread vom main-thread aus starten
> {
>   run 50;
>   loop
>   {
>  
>    wait hwcom.rxd();
>    data=hwcom.get();
>    if data==254
>      {
>       wait hwcom.rxd();
>       if hwcom.get()==254 quit 1;// Hostmode einleiten
>      }
>       if (data > 47) and (data < 58) //Gültigkeitsbereich Taste 0...9
>        {
>         if data == 48 {Init();}                           //48=0
>         ....
>         if data == 57 {mycalendar.Com();}                 //57=9
>        }
>       if (data==81) or (data==113)
>        hwcom.print("Ende...");
>       if data==13
>        com.Menue();
>       // ...
>    hwcom.flush();
>   }
> }


Eine Priorität von 50 ist i.d.R. für COM-Threads unnötig.
Du nutzt keinerlei Time-Outs. Mir springt if data==13 com.Menue(); ins Auge.
Wenn sich die Regelung in Deinem COM-Menü befindet, kann der Hostmode nicht eingeleitet werden.
Nutze zum Empfang von Daten vorzugsweise die Receive-Funktion.
Springe aus Menüs nach einer definierten Zeit ohne Aktivität in die Hauptschleife zurück.
�?brigens kannst Du Deine Vergleiche übersichtlicher gestalten, wenn Du auf bestimmte
Tasten reagieren willst:
     if (data >= '0') and (data <= '9') //Gültigkeitsbereich Taste 0...9
oder
       if data == '0' Init();
So mu�?t Du nicht erst vom ASCII-Code umdenken.

MfG André H.



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: Hostmodus einleiten (von ChristianS - 29.08.2011 14:05)
    Re: Hostmodus einleiten (von Andr� H. - 31.08.2011 7:54)