Umsetzungsprobleme einer CIRC Bewegung mit kleinen Schrittweiten

  • Grüßt euch,


    leider konnte ich über die Suchfunktion keine Lösung für mein Problem finden. Daher wende ich mich direkt an euch:


    Vorab die Ausgangssituation:
    Es geht um ein KR C2 System. Ziel der Programmierung ist, dass sich der TCP in kleinen Schritten über eine gekrümmte Oberfläche mit Hilfe eines CIRC-Befehls bewegt. Die Schrittweite beträgt dabei einen CA von 0,08989 Grad. Insgesamt wird eine Strecke von 80 mm in 40 Schritten zurückgelegt. Die Krümmung wird von einem Kreis mit einem Radius von 2550 mm definiert. Wichtig ist, dass der TCP stets auf den Kreismittelpunkt gerichtet ist .


    Das Problem:
    Sobald ich einen CA größer 0 aber kleiner 1 eingebe, erscheint ein quittierbarer Fehler.
    Fahre ich mit dem Programm weiter fort, wird lediglich der Zielpunkt der CIRC-Anweisung linear angefahren. Die Bewegung entlang eines Kreisbogens wird nicht mehr umgesetzt.


    Leider weiß ich nun nicht mehr weiter.
    Kann der Roboter grundsätzlich nur mit Winkelangaben größer 1 arbeiten? Weiß jemand die maximale „Winkelauflösung“? Vielleicht hat einer von euch mal dasselbe Problem und konnte den Roboter geschickt überlisten?
    Über Hinweise und Ideen freue ich mich sehr.
    Abschließend noch eine grundsätzliche Frage: Spielt Groß-/Kleinschreibung eine Rolle im Kuka Programmcode?

    Beste Grüße
    John
    -----
    Anbei mein Code
    spkt={X -200, Y 108.12, Z 37.40, A -29.46, B 89.97, C 60.54} ; Startpunkt
    hpkt={X -200, Y -47.28, Z 41.47, A -8.66, B 89.98, C 81.33} ; Hilfspunkt
    zpkt={X -200, Y -182.33, Z 37.24, A -34.52, B 89.98, C 55.47} ; Zielpunkt
    $circ_type=#path
    $ori_type=#constant

    ptp spkt

    [justify]For s=1 to j step 1[/justify]
    CIRC hpkt, zpkt, CA 0.08989


    [justify]lin_rel {x 159}[/justify]
    [justify]lin_rel {x -159}[/justify]
    [justify]ENDFOR[/justify]

  • Schritt für Schritt zum Roboterprofi!
  • Hi,
    die Fehlermeldung hat die Nummer 1532 und meldet : "SAK-Fahrt wird als LIN-Bewegung ausgeführt".


    Den Tipp mit der Angabe von X 200 als X 200.0 probiere ich aus.
    Diesbezüglich frage ich mich gerade: Wenn spkt, hpkt und zpkt als FRAME deklariert sind, heißt dies doch gleichzeitig, dass es sich eigentlich um REAL-Werte handelt, oder irre ich mich da?


    Grüße
    John

  • Dem Fehler nach zu urteilen fehlt da vor dem zitierten Code noch einiges.
    Oder die Zeile ptp spkt ist nicht korrekt auf den Roboter compiliert worden. Am besten die Zeile mal löschen und neu einfügen.

    Einmal editiert, zuletzt von Hermann ()

  • Hi!
    Der erste Punkt im Programm muss PTP angefahren werden. Das machst du. Aber hier fehlt der Status und Turn.
    Am besten lernst du eine neue Position vor deinem Programm. Zum Beispiel HOME.
    Oder eben S und T einfügen. (Siehe Unterschied POS und FRAME)
    Und wegen dem REAL. Ist schon lange her als ich da Probleme hatte. Im Expertenordner gibt es da aber ein Kapitel über INT und REAL Berechnungen. Seit dem ich bei REAL auch immer .0 schreibe, habe ich auch keine Probleme mehr mit Berechnungen wo mit kleinen Werten multipliziert wird. So wie bei dir mit dem kleinen Winkel.

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