relative Bewegung zuzüglich Variablem Wert

  • Hallo!


    Erstmal Hallo zusammen! Ich bin der neue und habe hier in unserer Lehrwerkstatt nun einen Roboter von Kuka (KR125). Wir haben mit ihm auch schon erfolgreich Rennwagen gezeichnet. Aber viel mehr ist im Moment noch nicht drin.


    Ich habe nun zwei Dinge an denen ich mir die Zähne ausbreche:


    Frage 1:
    Ich möchte inkremental (also ne relativbewegung) in einer Achse einen Wert verfahren. Das schwierige ist hierbei das der Roboter in z.B. der X-Achse einen Wert (Werkzeugkorrektur) abziehen bzw. draufrechnen soll. Bei Werkzeugmaschinen gibt es hier G41 oder G42.


    Ich habe oben vor der INI-Zeile ein
    DECL INT WKZR1 geschrieben und etwas weiter unten
    WKZR1=10


    Wenn ich nun
    LIN_REL {X 20+WKZR1,Y 10,Z 0,A 0,B 0,C 0} verfahren möchte haut das so nicht hin.


    wie könnte das denn nun funzen?



    Frage 2:
    Ich habe in der Config.dat die Variablen SPEED1 und SPEED2 deklariert.
    Im Programm steht:
    SPEED1=95
    SPEED2=66
    Im Unterprogramm dann
    $OV_PRO=SPEED1
    LIN_REL {X 0,Y 0,Z 0,A 0,B 0,C 0}


    Das funktioniert auch wunderbar. Jedoch würde ich gerne die Geschwindigkeit einstellen können ohne den Programmoverride zu verändern.
    Aber mit etwas anderem als $OV_PRO= bekomme ich das nicht hin.
    Kann mir da jemand ne Möglichkeit nennen?



    Also ich hoffe ich habe hier nicht die Superanfängerfragen gestellt. Die Suche hat mir jedenfalls nicht wirklich geholfen (zumindest nicht in oben genannten Fällen). Aber ich muss mich auch erst mit dem ganzen Programmierthema auseinandersetzen.


    Vielen Dank für Antworten...

  • Schritt für Schritt zum Roboterprofi!

  • Über einen Zwischenschritt:

    Code
    DECL REAL WKZR1
    DECL FRAME schiebeframe     
    ...
    WKZR1=10.0
    schiebeframe={X 20.0,Y 10.0,Z 0.0,A 0.0,B 0.0,C 0.0}
    schiebeframe.x=schiebeframe.x+ WKZR1
    ...
    LIN_REL schiebeframe


    (Ich habe aus Deinen INT mal REAL gemacht. Die Umwandlung übernimmt zwar der Kuka selbst problemlos, ist aber stilistisch etwas eigenwillig, da Positionsdaten immer REAL sind. Das hat nichts mit Deiner ursprünglichen Frage zu tun ;))




    Um Himmels willen, bleib vom $OV_ fern. Kann ja mal jemand absichtlich runterstellen (z. B. im T2-Betrieb), dem haut der Robbi dann im Unterprogramm den Schädel ein...
    Die Variablen, die Du suchst, heissen $VEL.CP, $VEL.ORI1 und $VEL.ORI2. (Angaben in m/s oder Grad/s)
    Oder Du nimmst die BAS-Funktionalität zu Hilfe: BAS(#VEL_CP,0.3)
    Bei PTP-Bewegungen hiesse es $VEL_AXIS[X]=30 (x für die Achsennummer oder viel einfacher BAS(#VEL_PTP,30) - Angaben in Prozent des Maximums, hier 30


    Grüße,
    Michael

  • erstmal danke für die schnelle Antwort!


    nochmal zu 1:


    ich möchte mit dem Roboter nachdem dieser ein Teil aus einer Maschine genommen hat selbiges entgraten.
    Dann würde ich in die Entgratspindel einen Fräser spannen z.B. 8mm D.


    wäre das Teil im einfachsten Fall z.B. 50x50mm und WKZR1=4 müsste ich ja


    schiebeframe={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0}
    schiebeframe.y=schiebeframe.y+WKZR1 ;muss hier zwischen + und WKZR1 nen Leerzeichen?
    LIN_REL schiebeframe
    schiebeframe={X -50.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0}
    schiebeframe.x=schiebeframe.x-WKZR1
    LIN_REL schiebeframe
    schiebeframe={X 0.0,Y -50.0,Z 0.0,A 0.0,B 0.0,C 0.0}
    schiebeframe.y=schiebeframe.y-WKZR1-WKZR1 ; oder kann ich hier auch schiebeframe.y-(2*WKZR1) schreiben


    ......




    Ich habe das mit dem $OV_ nur gemacht weil das das einzige war was ich variabel halten und hinfummeln konnte.
    Geht da auch wieder um das Entgratprogramm. Das verfahren zwischen den einzelnen zu entgratenden Bearbeitungskanten soll mit SPEED1 und die Positionierung in Z (wegfahren und zum nächsten zu entgratenden Teil) mit Speed2


    Kann ich dann da


    BAS(#VEL_PTP,SPEED1) schreiben ? Kann ich wahrscheinlich eh nicht nehmen da es ja kein PTP ist.


    Ich glaube ich muss mir mal eine Expertenprogrammieranleitung besorgen - oder ist soetwas hier im Forum unterwegs?


    Trotzdem Danke

  • gewöhne Dir bitte an, Frames immer mit : zu berechnen


    frame=ursprung:offset


    [glow=blue,2,300]Nur so werden auch Rotationen korrekt umgesetzt[/glow]

    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.

  • Morgen!



    Ich stelle fest das dieses Forum mir doch schon einige Antworten gibt wenn ich mich mehr mit der Suche beschäftige:
    (da wir bei unserem gebrauchten Roboter leider keine Doku-CD´s dabei haben)


    es ist übrigens eine KRC V4.1.7 (zumindest die Software) an einem KR125



    folgende Seiten haben mir auch geholfen: (Mein Drucker ist jedenfalls erstmal beschäftigt....)


    http://www.roboterforum.de/rob…ogrammierung-t3984.0.html


    http://www.roboterforum.de/rob…roboter/krc1-t7085.0.html


    http://www.roboterforum.de/rob…eren_lernen-t3824.75.html


    http://www.roboterforum.de/rob…2_in_deutsch-t4892.0.html



    Danke auch für alle anderen Antworten!!!

    Einmal editiert, zuletzt von olafrem ()


  • Ich leg hier mal eine Doku an


    gruß


    Gibt es dies bzw. "Programmierung Experte" auch für die KRC V4.X (bzw. 4.1.7) oder ist das egal? Habe ich hier bisher noch nicht gefunden. Programmierung Experte habe ich aus dem Forum für die KRC1. Hilft mir zwar auch schon sehr aber es gibt ja bestimmt Unterschiede zwischen KRC1 und KRC4...

    Einmal editiert, zuletzt von olafrem ()


  • gewöhne Dir bitte an, Frames immer mit : zu berechnen


    frame=ursprung:offset


    [glow=blue,2,300]Nur so werden auch Rotationen korrekt umgesetzt[/glow]


    Also ungefähr so ...
    schiebeframe={X 0.0,Y -50.0,Z 0.0,A 0.0,B 0.0,C 0.0}
    schiebeframe:y=schiebeframe:y-WKZR1-WKZR1 ; oder kann ich hier auch schiebeframe.y-(2*WKZR1) schreiben
    LIN_REL schiebeframe

  • olafrem:
    Jetzt versteh' ich, Du willst eine Fräserradiuskorrektur programmieren nach dem gleichen Prinzip wie bei einer Werkzeugmaschine.
    Kann man natürlich so machen, allerdings verstrickst Du Dich damit schnell in selbstauferlegten Einschränkungen. Ein 6-achsiger Roboter arbeitet anders. Wenn ich Dich richtig verstanden habe, hält der Roboter das Teil? Fährst Du mit $IPO_MODE=#TCP?
    Auch von den LIN_REL solltest Du vielleicht lieber Abstand nehmen. Relativbewegungen beziehen sich beim Roboter immer auf die Istposition, nie auf die vorherige Position. Der Unterschied wird deutlich, wenn Du die bewegung zwischendrin anhältst, und dann den aktuellen Satz neu anwählst. Für die Bearbeitung bekannter Bauteile ist so gut wie nie eine Relativbewegung nötig.


    Was WolfHenk meinte, ist die Frameverknüpfung. Sobald in A, B, C was drinsteht, muss man die Vektoren über den Doppelpunkt-Operator verknüpfen. Einfaches Addieren der Strukturelemente geht dann nicht mehr. Also lieber einen Zwischenschritt mehr, und dann auf die Art schiebeframe3=schiebeframe1:schiebeframe2 miteinander verknüpfen.


    Grüße,
    Michael

  • Programmiersklave:


    Genau- eine Fräserradiuskorrektur. ABER: Das Teil ist eingespannt und der Roboter verfährt eine Entgratspindel. $IPO_MODE=#TCP sagt mir leider nichts da ich mich erst in das Thema reinarbeite.


    Ja - ich merke schon - die Programmieranleitung werde ich demnächst öfter in der Hand haben ....
    Das mit dem Schiebeframe muss ich mal ausprobieren.


    Ist es denn egal ob ich mir die Programmierung Experte von der KRC1 oder KRC5.x ansehe?


    :danke:

  • Wenn der Roboter die Spindel hat, dann vergiss das mit dem IPO_MODE erstmal. :zwink:
    KRC5 gibts noch nicht, das ist jetzt 'ne Begriffsverwirrung. Im Prinzip ist KRL weitgehend abwärtskompatibel, ungefähr alles, was Du in der KRC1 programmieren kannst, läuft auch in den neueren Maschinen.


    Michael

  • Hallo zusammen,


    auch ich bin neu hier im Forum und wenn auch dieses Thema schon etwas älter ist bringt es schon einige Lösungen für mein Problem. Bevor ich also ein neues Thema starte möchte ich das hier beschriebene mal vertiefen/ausprobieren.


    Lieder erscheint die von Roboter_Sklave angelegte Doku bei mir nicht und auch die Links von olafrem für nur auf die allgemeine Infoseite.
    Daher meine Frage: Was mache ich falsch? Oder ist das Thema zu alt? Oder brauche ich erst einen anderen Userstatus? :huh:
    Ich hab schon auf allerlei Forumsseiten geforscht finde dazu aber nichts.


    Vielen Dank für Eure Antworten.


    Frank

  • Hallo Frank,


    der Download des Pdf geht eigentlich schon. Hab ihn aber zur Sicherheit nochmals angehängt.
    Die Links führen tatsächlich nur zur Startseite. Mal schauen....

    Dateien

    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

  • Hallo Roland,


    super, das PDF hab ich jetzt - werd heut mal schauen was ich noch lernen kann.
    Vielen Dank.
    Wenn Du die Links auch noch "in Ordnung" bringen könntest wäre das perfekt :zwink:


    :danke:



    Gruß
    Frank

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