Programm mit Inline-Bewegungen schneller machen

  • Vorsicht: eventuell Garantieverlust - bei neuen Robotern auf jeden Fall mit KUKA klaeren (eintragen von Werkzeuglastdaten ist ja neuerdings Pflicht)


    :shock: Seit wann, und wo steht das?

    Greetings, Irrer Polterer!

    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.


    Life is a beta version. Full of bugs and no Manual.

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


    leider war ich nun eine gewisse Zeit verhindert und konnte an dem Thema nicht weiter teilnehmen! Dann hat sich eine Frage eines anderen hier etwas durchgesetzt ;)


    Ich hoffe ihr helft mir trotzdem nochmal bei meinen Fragen / Problemen:


    -------------------------------------------------------------------------------------------
    Hallo,


    IrrerPolterer:
    Danke, aber die Möglichkeit die gleiche PDAT und LDAT zu verwenden, dass war mir bekannt.


    Aber die Anreggung mit ptpH, ptpM, ptpL war genial!


    1)
    Zitat
    Im übrigen gilt: Teachen in World, Tool, Base ist der Tod für jede Taktzeit, sogar bei 'nem ABB Aber das wirst Du wohl auch selbst wissen.


    Wusste ich nicht! Kannst mir das erklären?


    2) Es geht eigentlich um folgendes: Das bisherige Programm fährt schon "Vollgas". 100% bei PTP, 2m/s bei LIN. Mir fällt halt auf, dass ich bei der Experten-Programmierung doch für die Beschleunigungen usw. viel höhere Werte angeben kann. Wir haben mal ein Projekt gehabt, bei dem der Roboter das Werkstück bewegt hat. Hatten da Unterstützung von KUKA:


    Dort sind wir mit $ACC.CP=10.0 gefahren. Eine eingefügte Inline-Formular-Bewegung und dann beschleunigte der Roboter wieder viel viel langsamer, das liegt wohl an der BAS() ? Krieg ich höhere Beschleunigungen auch bei einem bestehenden Programm mit Inline-Formular-Bewegungen hin?


    Gruß
    Stefan

  • Hi,


    ich habe nun mal folgendes am OfficeLite versucht:


    Ich habe die Werte für CP-Bewegungen in der $config.dat abgeändert:


    ;==================================
    ; Default parameters for movement
    ; These values shouldn't be changed
    ;==================================


    ;----------------------------------
    ; general MOVEMENT - parameters:
    ;----------------------------------



    ; CP - MOVEMENTS
    ;----------------------------------
    DECL CIRC_TYPE DEF_CIRC_TYP=#BASE
    REAL DEF_VEL_CP=3.0 ;2.0
    REAL DEF_VEL_ORI1=400.0 ;200.0
    REAL DEF_VEL_ORI2=400.0 ;200.0
    REAL DEF_ACC_CP=10.0 ;2.29999995
    REAL DEF_ACC_ORI1=1000.0 ;100.0
    REAL DEF_ACC_ORI2=1000.0 ;100.0
    REAL DEF_VEL_FACT=1.0



    Die Default-Werte entsprechen nun den Werten aus den Maschinendaten:
    DECL CP $ACC_MA={CP 10.0,ORI1 1000.0,ORI2 1000.0}
    DECL CP $VEL_MA={CP 3.0,ORI1 400.0,ORI2 400.0}



    Der Roboter (im OfficeLite :zwink:) fährt dann SCHNELLER.
    Wie bereits beschrieben sind wir bereits mit einem Roboter mit diesen Werten gefahren. Das Programm war im Experten-Modus programmiert!


    Gibt es irgendwelche Bedenken wenn ich das so mache? (Ausser, dass nun auch der "normale" Anwender (also manchmal jeder beliebige Mitarbeiter) nun mit diesen Werten im Inline programmieren kann).


    Gruß
    Stefan

  • Hi,
    wie bereits gesagt, gehts mit inlineformularen nicht. Nur mit punkten ohne inlineformular - zum teachen braucht´s dann ExpertTech und bei Tool und Basewechsel muss mann aufpassen (beim Rueckwaertsfahren und Teachen).
    Die Parameter sind genau die richtigen.


    Gruss stefan.

  • Zitat

    Im übrigen gilt: Teachen in World, Tool, Base ist der Tod für jede Taktzeit, sogar bei 'nem ABB Aber das wirst Du wohl auch selbst wissen.


    Also Jungs das hätte ich auch mal gern näher erklärt. So richtig kann ich mit den vielen Kommas etc nichts anfangen. Würde den Autor bitte sich da mal näher zu erklären. Und was heisst hier sogar beim ABB?


    robotic74

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Zitat

    In Inlinformularen kannst du fuer die lineare Geschwindigkeit leider nicht mehr als 2 m/s angeben (egal wie hoch def_vel_cp ist).


    Zitat

    Hi,
    wie bereits gesagt, gehts mit inlineformularen nicht. Nur mit punkten ohne inlineformular - zum teachen braucht´s dann ExpertTech und bei Tool und Basewechsel muss mann aufpassen (beim Rueckwaertsfahren und Teachen).
    Die Parameter sind genau die richtigen.


    Gruss stefan.


    Hallo, das habe ich nicht ganz verstanden!


    Nachdem ich die Werte in der $config.dat geändert habe (DEF_VEL_... und DEF_ACC_...) konnte ich bei einer LIN-Bewegung sehr wohl in einem Inlineformular für die CP-Geschwindigkeit 3m/s angeben! War im OfficeLite zumindest so.


    Und wenn ich das Programm dann in OfficeLite abgefahren bin und mir die Variable $VEL.CP angesehen habe, dann stand da 3.0.... also müsste es ein realer Roboter doch auch machen, oder?


    Gruß
    Stefan


    PS: Habe grad leider keinen realen Roboter zur Verfügung! :???:


    Gruß
    Stefan

    Einmal editiert, zuletzt von Schui74 ()

  • Hallo zusammen,


    ich bin das Programm gerade im OfficeLite abgefahren und habe Screenshots gemacht.


    Man kann dort im Bild1.jpg die $VEL.CP von 3 m/s sehen und im Bild2.jpg die $ACC.CP von 10m/s2.


    Dann müsste es doch also so funktionieren!?


    Gruß
    Stefan

    Einmal editiert, zuletzt von Schui74 ()

  • Hallo zusammen,


    müsste es dann so funktionieren (siehe oben)?


    Gruß
    Stefan

  • Hallo zusammen,


    ich habe nun folgendes gemacht, damit ich schneller als mit Inline werde:


    1) Normale LIN-Bewegung (Inline):


    ;FOLD LIN Punkt1 Vel= 2 m/s ZurAblage4W1 Tool[1]:Sauger Base[3]:Wagen;%{PE}%R 5.2.271,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:Punkt1, 3:, 5:2, 7:Punkt1
    $BWDSTART = FALSE
    LDAT_ACT=LPunkt1
    FDAT_ACT=FPunkt1
    BAS(#CP_PARAMS,2)
    LIN XPunkt1
    ;ENDFOLD


    2) "Schnellere" LIN-Bewegung (erweitert):
    ;FOLD LIN Punkt1 Vel= 3 m/s Punkt1 Tool[1] Base[3]
    LDAT_ACT=LPunkt1
    FDAT_ACT=FPunkt1
    BAS(#CP_PARAMS,2)
    $ACC.CP=2.5
    $VEL.CP=3.0
    $APO.CDIS=40.0

    LIN XPunkt1 C_DIS
    ;ENDFOLD (Punkt1)


    Es ist klar, dass man sich hier vorsichtig rantasten sollte!
    (Wenn man die Lösung nun ansieht, dann sieht sie simpel aus ;) )


    Gruß
    Stefan


    PS: Geht natürlich nur im Experten-Modus!

    Einmal editiert, zuletzt von Schui74 ()

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