Externe Kinematik: Drehachse Offset

  • Hallo zusammen,


    ich hab eine für mich knifflige Frage.


    Mit einem KR60 (KRC4) und gekoppeltem Dreh-Kipp-Positionierer DKP400 möchte ich ein rotationssymetrisches Bauteil bearbeiten. Das Bauteil ist auf dem DKP fixiert und der Roboter führt das Werkzeug.
    Ich habe ein Programm für die Bearbeitung eines Segmentes des Bauteiles. Bei der Bearbeitung wird synchron die Drehachse E2 (endlos) vom DKP verfahren. Nach der Bearbeitung des ersten Segments soll der DKP das Bauteil weiterdrehen und das Bearbeitungs-Programm erneut ablaufen. Und somit Segment für Segment mit einem einzelnen Bearbeitungs-Programm das Bauteil bearbeiten.


    Mein Problem besteht darin, für die Bearbeitung des nächsten Segmentes ein Offset zwischen tatsächlicher Drehachsposition E2 und der gekoppelten Basis zu bekommen.


    Verändere ich das Offset bei der Basis EK(...) im Programm, wird natürlich Bauteil UND Bearbeitungs-Bahn entsprechend gedreht. Und die Bearbeitung würde an der selben Stelle am Bauteil erfolgen, nur eben an einer anderen Arbeitsposition auf dem DKP.


    Meine Frage: Wie und wo kann ich das benötigte Offset für die Drehachse E2 programmtechnisch realisieren?


    Freue mich über Vorschläge.


    Schöne Grüße
    Tobias

    Einmal editiert, zuletzt von Tobi ()

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


    definitiv knifflige Frage.


    Was gehen würde ist, meiner Meinung nach aber nicht optimal, ist,
    wenn Du nach der Bearbeitung des Segmentes E2 auf 0 Grad plus Versatz zum nächsten Segment fährst,
    und dann E2 aus Programm heraus justierst.


    Sonst müsste man ja in den Positionen den e2 wert verändern und den Offsetversatz im gekoppelten Base schieben.
    Wie hast Du dies exakt probiert?
    Ist immer einfacher was zu Schreiben, wenn man exakt sieht, was Du schon probiert hast.
    Programmiert sind die Positionen des Ablaufes danach mit ILF's oder in KRL?


    Gruss SJX

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Hallo SJX,


    Danke für die Antwort.


    An die Neujustage habe ich auch bereits gedacht.
    Das Bearbeitungs-Programm ist in KRL Syntax verfasst. Schön wäre eine Variable mit der Justagewert der Achse E2 ein temoräreres Offset zugewiesen werden könnte, bevor die eigentliche Bearbeitung gestartet wird.


    Ich habe probehalber ein Programm mit zwei Segmenten generiert. Die 'gleichen' Postionen der Segmente unterscheiden sich nicht nur im Wert für E2, sondern die Drehung spiegelt sich auch in den einzelnen Positionen wieder. Ein statisches Offset mittels der Programm-Basis erscheint mir daher nicht machbar.


    Schöne Grüße
    Tobias

  • hmm... wärs net einfacher, einfach mit der Doppelpunktfunktion die base passend zu rotieren und e2 anzupassen?

    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.

  • Hallo Tobi,


    habe so etwas mal mit einer KRC1 gemacht (also schon ne weile her). Roboter mit nathematisch gekoppeltem DKP.
    Bei mir war es so das der Drehpunkt des Bauteils der Drehpunkt des DKP war (also die A-Achse)
    ich habe damals nur in der EX_AX_DATA[n] den Offset von A angepasst und dann nochmal ein INIT durchlaufen, dann gings.


    Ob das bei der KRC4 immernoch so ist kann ich leider nicht sagen, aber vielleicht ist es ja ein Anhaltspunkt.


    Gruß Chili1886


  • Schön wäre eine Variable mit der Justagewert der Achse E2 ein temoräreres Offset zugewiesen werden könnte, bevor die eigentliche Bearbeitung gestartet wird.


    Code
    $ASYNC_EX_AX_DECOUPLE=7;
    $AXIS_ACT.E1=$AXIS_ACT.E1+25;
    $ASYNC_EX_AX_DECOUPLE=0;


    Gehts nicht auch so?
    Ist abba nur KRC2 bewährt

  • Vielen Dank für Eure Antworten.
    Habe heute am Roboter verschiedene Vorgehensweisen testen können.


    Die Anpassung des Offsets des DKP in den Daten der Externen Kinematik bewirkt zwar ein Rotieren der Bearbeitung zum DKP. Allerdings wandert die Bearbeitung dann aus Roboter-Sicht um den Tisch.


    Das Auskoppeln der Achse habe ich ebenfalls probiert. Da hakt es an der Fehlermeldung "Einzelbremsensteuerung für Zusatzachsen nicht aktiv". Die Zeilen habe ich wie folgt in einem kurzen Test-Programm eingebunden:



    Freue mich über weitere Unterstützung. ;)


    Schöne Grüße
    Tobias

  • Hallo Tobi,


    vermute, dass die externe Achse nicht als abkoppelbar definiert ist.
    Schau mal im WoV in der externen Achsen Konfiguration, ob der Haken gesetzt ist.


    Gruss SJX

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Hallo Zusammen,


    die externen Achsen habe ich nun als abkoppelbar in den Einstellungen zu den 'Externen Achsen' definiert. Bzw. den Haken bei 'Abkoppelbar' gesetzt.
    Den Bremsmodus in der mada entsprechend auf 'B1101' geändert.


    Nun kommt beim Programmablauf die Fehlermeldung: "Fehler beim Ab-/Ankoppeln".


    Irgendeine Kleinigkeit fehlt da wohl noch...


    Sonnige Grüße
    Tobias

  • Hallo Tobi,


    probiere es mal so.


    REAL ISTPOS


    $ADVANCE=0
    $BASE=$WORLD
    ISTPOS=$AXIS_ACT.E2
    $ASYNC_AXIS='B0010'
    $ASYNC_EX_AX_DECOUPLE='B0010'


    $AXIS_ACT.E2=ISTPOS + 30.0


    $ASYNC_EX_AX_DECOUPLE=0
    $ASYNC_AXIS=0
    BAS(#EX_BASE,1)
    $ADVANCE=3


    Gruss SJX

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Hallo,


    es hat mit dem vorhergehenden Befehlen funktioniert.


    Nur die Position nach der Zeile mit der gekoppelten (synchrone) Base[17] war nicht korrekt. Bei aktiver synchroner Base ist kein Asynchron-schalten möglich.
    Nachdem ich die Befehle vor die Base-Zeile verschoben habe, hat es funktioniert. :D


    Am Ende des Programmes wähle ich nun eine andere Base ohne Kopplung. Und nehme dann anschließend die anfängliche Änderung wieder zurück, damit der Justagewert abschließend wieder stimmt.



    Vielen Dank für eure Unterstützung.


    Sonnige Grüße
    Tobias

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