Beiträge von Dennisprog

    Okay, vielen Dank.
    Aber es funktioniert auch über die Abfrage EKI_CheckBuffer:
    EKI_Status=EKI_CheckBuffer("Config","Position/Position1/x-Koordinate")


    WHILE (EKI_Status.Buff==0)
    wait sec 1
    EKI_Status=EKI_CheckBuffer("Config","Position/Position1/x-Koordinate")
    ENDWHILE
    Abfrage wird erst verlassen wenn etwas im Buffer ankommt.

    Die Softwareversion des Ethernetpakets ist 2.5 und der KSS 8.3


    Hier das momentane Roboterprogramm zum Testen:


    Und hier die XML- Konfiguration:

    Hallo,
    Ich habe das Softwarepaket Ethernet-KRL und möchte Daten von meinem PC an den Roboter senden und dann die Koordinaten anfahren. Wie kann ich es erreichen, dass der Roboter so lange wartet mit dem Auslesen des Empfangsspeichers, bis ich ihm tatsächlich etwas gesendet habe? Da die Auswertung im externen System nicht immer gleich lange dauert kommt auch kein wait sec x Befehl in Frage.
    Zur Info: mein Roboter ist Client und der PC ist als Server konfiguriert.

    Ergänzung:
    Im Roboterprogramm bekomme ich immer folgenden Fehler, wenn der mitgelieferte Server von Kuka nicht gestartet ist:
    "Ethernetverbindung zum externen System konnte nicht hergestellt werden".
    Kann es sein, dass dieser Server dann erst den Port am PC freigibt und dann deshalb erst eine Verbindung aufgebaut werden kann?

    Habe jetzt auch mit dem mitgelieferten Server von Kuka Daten gesendet und funktioniert. Wenn allerdings der Server nicht gestartet ist bekomme ich im Roboterprogramm den Fehler "Ethernet-Verbindung zu externem System konnte nicht hergestellt werden". Ist der Server gestartet funktioniert alles.

    Hallo,
    danke für die schnelle Antwort. Ja die XML Konfiguration passt, ich kann mit einem Testprogramm aus dem Internet, welches an einen Port sendet auch Daten mit dem Roboter dann auslesen und weiterverarbeiten.
    Der Roboter ist mein Client und der PC Server. Ich werde mir den Code mal anschauen. An multithreading führt kein Weg vorbei oder?
    Ist es möglich, dass der Port am Roboter nicht frei ist? Habe ihn zwar unter dem Punkt Netzwerkkonfiguration eigentlich festgelegt aber kann dieser trotzdem geschlossen sein?

    Hallo,


    ich habe eine Anwendung, bei der ich Koordinaten an einen Roboter aus einer C# Anwendung heraus senden soll.


    Erklärung:
    Ich werte mit einer C# Anwendung Positionen über eine Kamera aus und möchte diese Daten nun an den Roboter senden, damit dieser die Positionen dann anfährt. Nun soll der Roboter mir zunächst den Status auf Position senden und dann sende ich Ihm die nächsten Koordinaten.
    Ich habe bereits mit einem Socket Test Programm aus dem Internet getestet, dass mein Programm auf dem Roboter funktioniert. Nun muss dies selbst programmiert werden, sodass ich meine XML-Datei an den Roboter senden kann.
    Wenn ich jetzt die Socket.Connect Methode aufrufe, kommt immer der Fehler, dass der Roboter die Verbindung verweigerte.
    Hier mein Code:


    Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    const int Port = 49512;
    const String IP = "127.31.1.147";


    IPAddress ipo = IPAddress.Parse(IP);
    IPEndPoint ipE = new IPEndPoint(ipo, Port);


    string fileName = "Desktop/Daten.xml";



    sock.Connect(ipE);


    sock.SendFile(fileName);


    sock.Shutdown(SocketShutdown.Both);
    sock.Close();


    Danke.