KRC32 Serielle Schnittstelle: Probleme beim Empfangen der Daten

  • Hallo,


    bei meinem Vorhaben, Kamera mit der KUKA KRC32 über RS232 mit 3964R Protokoll zu verbinden, bin ich jetzt bei diesem Zwischenschritt gelandet, und es geht nicht weiter:


    Ich kann Daten(aktuelle Koordinaten) vom Kuka zum PC senden. Ich benutze dazu XON/XOFF Procedur, $PSER_2 konfiguriert wie folgt:


    Code
    DECL SER $PSER_2={PROTO 4,PROC 2,RCO 5,BL 0,BAUD 19200,NOC 8,NOS 1,PARITY 0,TRC 0,FLP 1,LLP 60,RT 0,PT 0,DSR 0,WCCXON 0,VXON 11,VXOFF 13,WEOBC 0,VEOBC 0} ;SCHNITTSTELLE 2


    Hier das Programm dazu(kennt Ihr alle bestimmt):



    Beim Versuch die Daten in die andere Richtung zu senden(zum Roboter) scheitere ich seit einigen Tagen.


    Hier mein erstes Programm zum Empfangen von Daten. Dieses bleibt bei der Zeile WAIT FOR $DATA_SER2>0 stehen..




    Dann wollte ich mit folgendem Programm feststelen ob überhaupt etwas ankommt. Die IF Anweisung wird immer übersprungen..





    Danach wollte ich mit diesem Programm die Variable $DATA_SER2 beim Datenempfang beobachten. Diese wird ja mit empfnagenen Daten inkrementiert, richtig? Also wenn ich das Program starte spuckt es Nullen raus, was auch richtig ist. Sobald ich dann etwas an den Roboter sende, blebt das Programm an der CWRITE(HANDLE,SW_T,MW_T,"%d",$DATA_SER2) Zeile stehen. Warum?





    Hat jemand ein Tipp wie ich bei diesem Problem vorgehen kann? Ich habe noch ein RS232 Sniffer zwischen dem PC und dem Roboter hängen, dieser schneidet die Kommunikation in beide Richtungen. Also wenn ich etwas sende, kommt es aus dem PC raus, das steht fest..


    1.Ist es richtig, daß wenn ich Software Handshake XON/XOFF verwende mich dann RTS/DTS DTR/DSR nicht interessieren? Oder müssen diese trotzdem richtig belegt/gebrückt sein ?


    2.Beim Empfangen von den Roboter Koordinaten am PC(erstes Programm) ist mir beim Beobachten der Daten mit dem RS232 Sniffer aufgefallen, daß da reine Daten gesendet werden. Ich habe nirgendwo XON/XOFF Flusssteurungszeichen(11hex/13hex) gesehen. Deshalb gehe ich davon aus, daß ich es auch in die andere Richtung nicht brauche.. Ist es korrekt? Oder muß ich XON/XOFF(11hex/13hex) senden? Wenn ja , dann wann?
    Vielen Dank!

    Einmal editiert, zuletzt von Pshooter ()

  • Schritt für Schritt zum Roboterprofi!
  • Hallo,


    wenn ich mich recht erinnere darft Du max. 10 Daten gleichzeitig senden. Du willst aber 12 Daten senden.
    Ich denke, Du musst das in 2 Nachrichten aufteilen.


    Mike


  • Hallo,


    wenn ich mich recht erinnere darft Du max. 10 Daten gleichzeitig senden. Du willst aber 12 Daten senden.
    Ich denke, Du musst das in 2 Nachrichten aufteilen.


    Mike


    Hallo,


    das verstehe ich jetzt nicht. Was genau meinst du mit 12 Daten?


    Kann mir jemand sagen wie ich überhaupt prüfen kann ob mein Roboter irgendwas empfängt? Kann ich mir die Variablen irgendwie im PHG anschauen, oder gibt es noch ein Trick, ohne das ich die beschriebene Variable wieder mit CWRITE ausgebe?


    mfg

    Einmal editiert, zuletzt von Pshooter ()


  • Hallo,


    hast recht, es sind nur 6 Daten. Hatte mich verzählt.
    Ich habe bei meiner Kommunikation auf Windows Seite auch Xon/Xoff an, aber die Steuerung übernimmt doch Windows. Vielleicht ist dein Empfangspuffer (SIZE_RX_BUFFER) nicht groß genug. Ich lege mal die Doku die ich von KUKA zur seriellen Schnittstelle habe bei.


    Mike


    Vielen Dank! Das wird mir bestimmt etwas helfen!


    mfg


  • Was mich hier schon wundert, dass laut Fragestellung es eine KRC32 ist , aber die Doku für KRC1/2 ist. Sind die Befehle und Möglichkeiten bei der KRC32 auch schon gegeben?


    CREAD CWRITE sind bei KRC32 und KRC1/2 ähnlich(soweit ich das beurteilen kann).



    Ich habe heute wieder den ganzen Tag verbracht mit der KRC32 etwas empfangen zu können.. Leider ohne Erfolg.
    Das Programm bleibt einfach bei der Zeile WAIT FOR $DATA_SER2>0 stehen und geht nicht weiter. Ich habe schon alles durch und bin mit meinem Latein an Ende.


    Kann die Schnittstelle(KRC32) defekt sein? Senden geht aber ja... Hat jemand ein Tipp wie ich es testen kann?

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden