Ablageposition im A Winkel manipulieren

  • Hallo zusammen,


    kann mir einer von euch erklären warum die Maipulation eines Ablagewinkels nicht richtig funktioniert.


    Das Verhalten ist das nach dem berechnen ein versatz in x und y sowie im c winkel vorhanden ist.


    Ich kann mir das gerade nicht erklären. Hat einer eine Idee?


    Berechnung Ablagewinkel:



    PTP Xtobi:{X 0,Y 0,Z -80,A 0,B 0,C 0}
    ;FOLD PTP tobi Vel=100 % PDAT7 Tool[0] Base[0];%{PE}%R 8.3.34,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:tobi, 3:, 5:100, 7:PDAT7
    $BWDSTART=FALSE
    PDAT_ACT=PPDAT7
    FDAT_ACT=Ftobi
    BAS(#PTP_PARAMS,100)
    PTP Xtobi
    ;ENDFOLD


    CALCULATED=xtobi
    CALCULATED.A=CALCULATED.A+PLC_ANGULAR


    ;PTP XABDECKSCHEI:{X 0,Y 0,Z 80,A 0,B 0,C 0}
    LIN CALCULATED:{X 0,Y 0,Z -80,A 0,B 0,C 0}


    ;FOLD LIN CALCULATED Vel=2 m/s CPDAT5 Tool[0] Base[0];%{PE}%R 8.3.34,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:CALCULATED, 3:, 5:2, 7:CPDAT5
    $BWDSTART=FALSE
    LDAT_ACT=LCPDAT5
    FDAT_ACT=FCALCULATED
    BAS(#CP_PARAMS,2)
    LIN XCALCULATED
    ;ENDFOLD
    GRIPPERFUNCTION(1)


    wait for(IN_Greifer_GS==TRUE)


    PTP XABDECKSCHEI:{X 0,Y 0,Z

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


    du hast nach der Manipulation des Winkels zwei Verfahrbewegungen im Programm. Welche macht denn die Probleme ?


    Falls es die zweite ist (in ';FOLD LIN CALCULATED...'):


    Wenn über das Inline-Formular eine LIN-Bewegung auf den Punkt 'CALCULATED' angelegt wird, dann werden die Zielkoordinaten in 'XCALCULATED' gespeichert.
    Folglich ist bei Berchnungen dann auch XCALCULATED als Berechnungsziel zu verwenden.

  • Hallo bluebird277,


    kann es an einem nicht korrekt vermessenen tool liegen?
    hatte da schon ähnliche probleme.

    „Welten, regiert von künstlichen Intelligenzen,<br />mußten oftmals ihre schmerzlichen Erfahrungen machen.<br />Logik kennt keine Gefühle.“

  • Ich kann dir keine genauere Erklärung geben, aber ich weiß, daß eine Änderung von A meist auch auf B und C wirkt.
    Drehreihenfolge: A (um Z) - B (um die neue Y-Achse) - C (um die neue X-Achse)


    Daher: Für deine Berechnung würde ich den Geometrischen Operator verwenden.


    Ungefähr so:


    DECL FRAME Hilfsframe
    Hilfsframe = $NULLFRAME
    Hilfsframe.A = PLC_ANGULAR


    CALCULATED = CALCULATED:Hilfsframe

  • Hallo zusammen,


    dere Hinweis mit dem geometrischen Operator war sehr gut. Ich habe es jetzt so umgesetzt. Hat noch einer eine Idee wie man das ganze evtl etwas eleganter lösen könnte?



    Vielen Dank nochmals an alle


    SWITCH PLC_PRODUCT


    CASE 1 ; Abdeckscheibe

    ;Korrekturwert berechnen in Real
    PLC_ANGULAR=PLC_ANGULAR_IN
    PLC_ANGULAR=PLC_ANGULAR/10



    ;XABDECKSCHEIBE ist geteachte Ablageposition bei 0 Grad
    KORREKTURWERT=XABDECKSCHEI


    ;Schreiben des Korrekturwertes in Variable
    ABLAGEBACKUP=XABDECKSCHEI
    ABLAGEBACKUP.X=0
    ABLAGEBACKUP.Y=0
    ABLAGEBACKUP.Z=-80
    ABLAGEBACKUP.A=ABLAGEBACKUP.A+PLC_ANGULAR
    ABLAGEBACKUP.B=0
    ABLAGEBACKUP.C=0



    ;Vorpos anfahren
    ;FOLD PTP P17 Vel=100 % PDAT15 Tool[0] Base[0];%{PE}%R 8.3.34,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:P17, 3:, 5:100, 7:PDAT15
    $BWDSTART=FALSE
    PDAT_ACT=PPDAT15
    FDAT_ACT=FP17
    BAS(#PTP_PARAMS,100)
    PTP XP17
    ;ENDFOLD


    PTP XABDECKSCHEI:{X 0,Y 0,Z-80,A 0,B 0,C 0}



    ;Korrigierte Endpos anfahren


    ABLAGEBACKUP.A=ABLAGEBACKUP.A+PLC_ANGULAR


    LIN XABDECKSCHEI:ABLAGEBACKUP


    ABLAGEBACKUP.Z=0


    LIN XABDECKSCHEI:ABLAGEBACKUP



    GRIPPERFUNCTION(1)


    wait for(IN_Greifer_GS==TRUE)



    ABLAGEBACKUP.Z=-80


    LIN XABDECKSCHEI:ABLAGEBACKUP

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