Baseverschiebung Kuka KRC4

  • Hallo alle miteinander,


    Ich habe da ein nicht gerade kleines Problem beim Programmieren.


    Ich habe mehrere Bauteile auf einer Beareitungsstation liegen.


    Jetzt nutze ich für die Kontur die Base[2] zum programmieren damit ich nur eine Kontur habe und die Base dann verschieben kann.
    In diesem Fall sollte ich die Base um ca. 300mm in Y verschieben.


    BaseData[2]=BaseData[2].y+Versatz_y


    Das ist alles soweit ok. Dieser Wert wird auf Base 2 auch geschrieben.
    Das Problem das ich jetzt habe sieht folgendermassen aus:
    Meine Ursprüngliche Base ist nicht exakt auf einem sauberen Orientierungspunkt, heißt also die Werte sehen etwa so aus: A33;B0;C0;
    Diese 33 bei A machen mir jetzt Probleme. Denn wenn ich die Base in Y um 300 verschiebe ergibt sich dadurch leider auf denn Nullframe auch ein Versatz in X weil der Abstand für die Rotation nicht mehr passt.


    Jetzt meine Frage: Kennt jemand eine möglichkeit die komplette Kontur zu versetzen ohne die Base zu verschieben? Vielleicht irgendwie mit einem Offset auf die Y-Koordinate oder so ähnlich.


    Vielen Dank schonmal für die Hilfe

  • Schritt für Schritt zum Roboterprofi!
  • Dein Freund heisst "Doppelpunktoperator"

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • Versuchs mal so:
    Deine Ursprungsbase ist Base_Data[2]. Würde ich nicht verändern sondern lieber eine neue Base für die Verschiebung nehmen.
    Dazu kannst du z.B. folgendermasen vorgehen:


    Ein Frame deklarieren:
    DECL FRAME fBaseSchieben


    Das Frame initialisieren:
    fBaseSchieben = $NULLFRAME (setzt alle Werte im Frame auf 0)
    fBaseSchieben.Y = 300 (Du willst ja in Y-Richtung verschieben)


    Und jetzt auf die neue Base aufrechnen:
    Base_Data[3] = Base_Data[2] : fBaseSchieben

    Gruß Roland


    Wie poste ich falsch?

    Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.

    Konrad Adenauer

  • Vielen Dank an alle für die schnelle Hilfe.
    Funktioniert wunderbar.


    Das Umladen habe ich jetzt so gelöst:


    DECL FRAME BASE_Shift


    BASE_Shift=$NULLFRAME
    BASE_Shift.y=Versatz_Y


    BASE_DATA[2]=BASE_DATA[2]:BASE_Shift
    .
    .
    .
    Bearbeitung


    BASE_DATA[2]=BASE_DATA[15]; Zurückladen auf Ursprungsbase

  • Hallo zusammen


    Ich hätte da noch eine frage zu diesem Thema.
    Und zwar geht das mit einer KRC1 Steuerung auch?
    Habe etwa das selbe Problem, nur werde ich die Base, von einem Hauptprogramm aus für das Unterprogramm rechnen. wenn ich das ganze eingebe, bekomme ich auf jedenfall keine Fehlermeldung.
    Das ganze ist für mich, für eine Werkzeugkorrektur nötig.


    Mfg alagrobi

  • Ja, auch der KRC1 kennt den Doppelpunktoperator.

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

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