Beiträge von Hahnus

    Guten Tag,


    habe gerade wieder ein Problem bei dem ich nicht ganz weiter komme.

    Das Thema gab es hier ja schon mal aber ich komm nicht drauf was ich falsch mache.


    Ich habe eine zweite Homeposition im Inline Formular hinzugefügt. XHOME1


    ;FOLD PTP HOME1 Vel=100 % DEFAULT;%{PE}%R 8.3.48,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME1, 3:, 5:100, 7:DEFAULT

    $BWDSTART=FALSE

    PDAT_ACT=PDEFAULT

    FDAT_ACT=FHOME1

    BAS(#PTP_PARAMS,100)

    $H_POS1=XHOME1

    PTP XHOME1

    ;ENDFOLD


    In der config.dat hat er die Psoition auch übernommen.


    ; HOME POSITION

    ;----------------------------------

    E6AXIS XHOME={A1 -0.780619562,A2 -68.3786850,A3 135.529724,A4 -0.847079933,A5 -67.1532745,A6 0.328913748,E1 -521.784729,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

    E6AXIS XHOME1={A1 179.529724,A2 -88.3786850,A3 155.789724,A4 -0.847489533,A5 -67.1978745,A6 0.89735489,E1 -521.784729,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}


    Das Problem ist das das Signal $In_Home1 nicht kommt.


    Ist es richtig das ich in der machine.dat die $H_POS1 und E6AXIS $H_POS1_TOL noch hinzufügen muss?



    E6AXIS $H_POS={A1 1.10224319,A2 -72.1899719,A3 133.955902,A4 1.67924285,A5 -62.0726624,A6 -0.642905414,E1 -77.8845367,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

    E6AXIS $H_POS1={A1 1.10224319,A2 -72.1899719,A3 133.955902,A4 -0.847489533,A5 -67.1978745,A6 0.89735489,E1 -77.8845367,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}


    E6AXIS $AXIS_HOME[5]

    $AXIS_HOME[1]={A1 179.529724,A2 -88.3786850,A3 155.789724,A4 0.0,A5 0.0,A6 0.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

    $AXIS_HOME[2]={A1 0.0,A2 -90.0000,A3 90.0000,A4 0.0,A5 0.0,A6 0.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

    $AXIS_HOME[3]={A1 0.0,A2 -90.0000,A3 90.0000,A4 0.0,A5 0.0,A6 0.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

    $AXIS_HOME[4]={A1 0.0,A2 -90.0000,A3 90.0000,A4 0.0,A5 0.0,A6 0.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

    $AXIS_HOME[5]={A1 0.0,A2 -90.0000,A3 90.0000,A4 0.0,A5 0.0,A6 0.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

    E6AXIS $H_POS_TOL={A1 2.00000,A2 2.00000,A3 2.00000,A4 2.00000,A5 2.00000,A6 2.00000,E1 2.00000,E2 2.00000,E3 2.00000,E4 2.00000,E5 2.00000,E6 2.00000}

    E6AXIS $H_POS1_TOL={A1 2.00000,A2 2.00000,A3 2.00000,A4 2.00000,A5 2.00000,A6 2.00000,E1 2.00000,E2 2.00000,E3 2.00000,E4 2.00000,E5 2.00000,E6 2.00000}


    E6AXIS $H_AXIS_TOL[5] ;TOLERANZFENSTER FUER ERREICHEN DER HOME-STELLUNG $AXIS_HOME[.]

    $H_AXIS_TOL[1]={A1 2.00000,A2 2.00000,A3 2.00000,A4 2.00000,A5 2.00000,A6 2.00000,E1 2.00000,E2 2.00000,E3 2.00000,E4 2.00000,E5 2.00000,E6 2.00000}

    $H_AXIS_TOL[2]={A1 2.00000,A2 2.00000,A3 2.00000,A4 2.00000,A5 2.00000,A6 2.00000,E1 2.00000,E2 2.00000,E3 2.00000,E4 2.00000,E5 2.00000,E6 2.00000}

    $H_AXIS_TOL[3]={A1 2.00000,A2 2.00000,A3 2.00000,A4 2.00000,A5 2.00000,A6 2.00000,E1 2.00000,E2 2.00000,E3 2.00000,E4 2.00000,E5 2.00000,E6 2.00000}

    $H_AXIS_TOL[4]={A1 2.00000,A2 2.00000,A3 2.00000,A4 2.00000,A5 2.00000,A6 2.00000,E1 2.00000,E2 2.00000,E3 2.00000,E4 2.00000,E5 2.00000,E6 2.00000}


    Wo wird die $In_Home1 Variable Deklariert?


    Beim Hochladen der .src mit der PTP HOME1 kommt die Fehlermeldung das die Variable $H_POS1 nicht deklariert.


    ;FOLD PTP HOME1 Vel=100 % DEFAULT;%{PE}%R 8.3.48,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME1, 3:, 5:100, 7:DEFAULT

    $BWDSTART=FALSE

    PDAT_ACT=PDEFAULT

    FDAT_ACT=FHOME1

    BAS(#PTP_PARAMS,100)

    $H_POS1=XHOME1

    PTP XHOME1

    ;ENDFOLD


    Wo muss diese deklariert werden? In der machine.dat?


    Vielen Dank im vorraus.

    Ich konnte die Y-Achse und die Z-Achse nicht auf Y-90 und Z 90 fahren. Siehe Bild aktueller Achspositionen.


    Die E1 Achse fährt in E- auf einen zu, von der betrachtung wie auf dem Foto und wie es auch im WoV Projekt bei der Achse steht. (Siehe Bild Achse WoW)

    INT $EX_AX_NUM=1 ;ANZAHL EXTERNER ACHSEN (0-6)

    INT $EX_AX_ASYNC='B0000' ;EXTERNE ACHSEN ASYNCHRON

    INT $ASYNC_T1_FAST='B0000' ;GESCHW.-RED. DEAKTIVIERT ( T1 )

    DECL EX_KIN $EX_KIN={ET1 #ERSYS,ET2 #NONE,ET3 #NONE,ET4 #NONE,ET5 #NONE,ET6 #NONE} ;EXTERNE KINEMATIKEN #NONE,#EASYS,#EBSYS,#ECSYS,#EDSYS,#EESYS,#EFSYS,#ERSYS

    DECL ET_AX $ET1_AX={TR_A1 #E1,TR_A2 #NONE,TR_A3 #NONE} ;EXTERNE ACHSEN #NONE, #E1, #E2, #E3, #E4, #E5, #E6

    CHAR $ET1_NAME[20] ;NAME DER TRANSFORMATION ET1 MAXIMAL 20 ZEICHEN

    $ET1_NAME[]="KL1500_3_Q_40"

    FRAME $ET1_TA1KR={X 0.0,Y 0.0,Z 507.000,A 0.0,B -90.0000,C 0.0} ;FRAME ZWISCHEN A1 UND FUSSPUNKT DER KIN IN TRAFO ET1

    FRAME $ET1_TA2A1={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN A2 UND A1

    FRAME $ET1_TA3A2={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN A3 UND A2

    FRAME $ET1_TFLA3={X 0.0,Y 0.0,Z 0.0,A -90.0000,B 0.0,C -90.0000} ;ZWISCHEN FL UND A3

    FRAME $ET1_TPINFL={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN MESSPUNKT UND FL

    Nein wir haben den Roboter schon fertig eingerichtet auf der Lineareinheit bekommen.


    Könnte man dort was Ändern so das der Roboter beim verfahren mit dem Tool Offset die Achse auch korrekt mitbewegt?

    Okay danke :) dann habe ich wohl Robrootkinematik.



    INT $EX_AX_NUM=1 ;ANZAHL EXTERNER ACHSEN (0-6)

    INT $EX_AX_ASYNC='B0000' ;EXTERNE ACHSEN ASYNCHRON

    INT $ASYNC_T1_FAST='B0000' ;GESCHW.-RED. DEAKTIVIERT ( T1 )

    DECL EX_KIN $EX_KIN={ET1 #ERSYS,ET2 #NONE,ET3 #NONE,ET4 #NONE,ET5 #NONE,ET6 #NONE} ;EXTERNE KINEMATIKEN #NONE,#EASYS,#EBSYS,#ECSYS,#EDSYS,#EESYS,#EFSYS,#ERSYS

    DECL ET_AX $ET1_AX={TR_A1 #E1,TR_A2 #NONE,TR_A3 #NONE} ;EXTERNE ACHSEN #NONE, #E1, #E2, #E3, #E4, #E5, #E6

    Danke für die schnelle Antwort.


    Bei unserem Roboter ist es genau anderst herum wie von Ihnen beschrieben.

    Wo genau ist das hinterlegt ob der Roboter auf Robrootkinematik oder Basekinematik handelt.


    Hier ein Auszug aus der Machine.dat. Kann man es dort erkennen bzw. nach was muss ich Suchen?


    REAL $MAMES[12] ;VERSCHIEBUNG ZW. MECH. UND MATH. NULLPUNKT ACHSE[I] (I=1:A1,I=7:E1) [MM,GRAD]

    $MAMES[1]=-20.0000

    $MAMES[2]=-120.000

    $MAMES[3]=110.000

    $MAMES[4]=0.0

    $MAMES[5]=0.0

    $MAMES[6]=0.0

    $MAMES[7]=0.0

    $MAMES[8]=0.0

    $MAMES[9]=0.0

    $MAMES[10]=0.0

    $MAMES[11]=0.0

    $MAMES[12]=0.0

    DECL INDIVIDUAL_MAMES $INDIVIDUAL_MAMES=#RDC ; Existenz individueller MAMES-Werte

    FRAME $ROBROOT={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ROBOTER IM WELTKOORDINATENSYSTEM [MM,GRAD]

    FRAME $ERSYSROOT={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ROBOTERFUSSPUNKTKINEMATIK IM WELTKOORDINATENSYSTEM [MM,GRAD]

    DECL FRA $RAT_MOT_AX[12] ;UEBERSETZUNG MOTOR-ACHSE N = ZAEHLER, D = NENNER

    $RAT_MOT_AX[1]={N -1798,D 7}

    $RAT_MOT_AX[2]={N -1872,D 7}

    $RAT_MOT_AX[3]={N -757,D 3}

    $RAT_MOT_AX[4]={N -221,D 1}

    $RAT_MOT_AX[5]={N -5032,D 21}

    $RAT_MOT_AX[6]={N -206793,D 1340}

    $RAT_MOT_AX[7]={N 35526926,D 1000000}

    $RAT_MOT_AX[8]={N 0,D 1}

    $RAT_MOT_AX[9]={N 0,D 1}

    $RAT_MOT_AX[10]={N 0,D 1}

    $RAT_MOT_AX[11]={N 0,D 1}

    $RAT_MOT_AX[12]={N 0,D 1}


    Was ist der Datentyp von XZiel?


    Der Datentyp von XZiel ist E6POS.


    Ist das richtig?


    Wenn ich den Roboter mit der Zusatzachse E1 im Modus "Word","Base" und "Werkzeug" von Hand verfahre fährt die Achse aber der Roboter dreht während dessen in diesem Moment auch. Könnte das ein Problem sein?



    Hast mal versucht das Ergebnis des : einer Variable zuzuweisen und geschaut was dabei rauskommt?


    Das habe ich gerade gemacht. Es steht dann in der Variable die Richtige E1 Position drin. Der Roboter fährt dies allerdings nicht an.

    Hallo Zusammen,


    ich habe gerade ein Problem bei der Inbetriebnahme von einem Roboter mit Linearer Zusatzachse.


    Ich möchte einen Position mit einem Tool Offset anfahren.


    LIN XZiel : {x -20 ,y 0, x+650, a 0,b 0,c 0,e1 0}


    Allerdings verfähr der Roboter auf der Achse dann sogar noch in die andere Richtung wie gewünscht.

    Steht die Zusatachse schon auf der gewünschten Position und ich verfahre in LIN XZiel : {x -20 ,y 0, x+650, a 0,b 0,c 0} funktioniert es wie gewünscht.


    Fehlt etwas im Tool Offset bzw. was mache ich falsch?


    Liebe Grüße

    Hallo zusammen,


    ich bin noch ziehmlich neu in der Roboterprogrammierung bei KUKA. Bisher meistens Fanuc.


    Ich würde gerne in meinem Programm ohne viele Inline Bewegungen programmieren. Die benötigten Positionen würde ich gernen von einer geteachten Position aus berechnen.


    Für die einzelnen Positionen würde ich aber gerne die Geschwindikeiten individuell anpassen können.


    Habe hier im Forum auch schon viele Ansätze und tipps dazu bekommen. :thumbup: Leider funktioniert es bei mir nicht wie gedacht.


    Steuerung KRC4 - 8.3

    Workvisual 6.0


    Programmausschnitt:


    Im src. Programm----------------------------------


    DECL LDAT LDATVorpos



    Vorpos = XAbhPosFach1
    Vorpos.X = Vorpos.X+350
    Vorpos.Z = Vorpos.Z-5



    LDATVorpos= {VEL 0.1, ACC 10.0, APO_DIST 100.0, APO_FAC 50.0, ORI_TYP #VAR}

    LDAT_ACT = LDATVorpos


    LIN Vorpos


    Im dat. File----------------------------------


    DECL E6POS Vorpos


    Leider ändert sich bei mir die Geschwindigkeit der Position Vorpos nicht wenn ich die Werte wie VEL 0.1 bzw. ACC 10.0 änder.


    Könnt Ihr mit da helfen? Fehlt was oder ist das ganz falsch. Wie macht Ihr das?

    Vielen Dank im vorraus.

    Funktioniert leider nicht.
    Es kommt immer noch die Meldung unzulässige Startbewegung


    Kann ich die Achsdrehung auch irgendwie mit in die andere Bewegung mit rein bringen?