aktuelle Roboterposition vergleichen

  • Hallo Zusammen,


    wir möchten Programme auf unserem Kuka-Roboter (KR150 mit KRC2) per OPC Server starten - soweit so gut und das klappt auch alles. Einen kleinen "Schönheitsfehler" geht es im Augenblick zu beseitigen, bei dem ich nicht so recht weiterkomme und auf Eure Hilfe hoffe:
    Wird ein Programm per OPC aufgerufen, dass nur eine einfache Bewegung ausführen soll und der Roboter steht schon auf der Zielposition, so ist die Ausführung des Programms überflüssig. Habe da an eine einfache If-Anweisung am Anfang des Programms gedacht, à la if $pos_act = xp8 then ... leider funktioniert das so nicht. Kann mir von Euch jemand helfen?


    Vielen Dank im Voraus,


    Gruß Bastian

  • Schritt für Schritt zum Roboterprofi!
  • Hallo


    Du musst die Positionen auf Ihre Koordinaten und Winkel einzeln vergleichen. Außerdem brauchst du eine gewisse Toleranz, da der Roboter nicht auf die Nachkommastelle genau stehen wird. Probiers mal in diese Richtung:


    TOLERANZ_A = 1
    TOLERANZ_WI = 1


    IF (($POS_ACT.X+TOLERANZ_A)>=POSITION.X) AND (($POS_ACT.X-TOLERANZ_A)<=POSITION.X) THEN
    IF (($POS_ACT.Y+TOLERANZ_A)>=POSITION.Y) AND (($POS_ACT.Y-TOLERANZ_A)<=POSITION.Y) THEN
    IF (($POS_ACT.Z+TOLERANZ_A)>=POSITION.Z) AND (($POS_ACT.Z-TOLERANZ_A)<=POSITION.Z) THEN
    IF (($POS_ACT.A+TOLERANZ_WI)>=POSITION.A) AND (($POS_ACT.A-TOLERANZ_WI)<=POSITION.A) THEN
    IF (($POS_ACT.B+TOLERANZ_WI)>=POSITION.B) AND (($POS_ACT.B-TOLERANZ_WI)<=POSITION.B) THEN
    IF (($POS_ACT.C+TOLERANZ_WI)>=POSITION.C) AND (($POS_ACT.C-TOLERANZ_WI)<=POSITION.C) THEN

    ENDIF
    ENDIF
    ENDIF
    ENDIF
    ENDIF
    ENDIF



    Gruß
    Florian

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