Beiträge von Studierender_Student

    Wir haben gestern die Basis 2 getestet.

    Leider hat das so nicht funktioniert, wir konnten aber mithilfe der Infos aus der Config.dat weiter suchen.

    Mit der Angepassten Zeile

    $BASE=EK(MACHINE_DEF[2].ROOT,MACHINE_DEF[2].MECH_TYPE,BASE_DATA[1]:{x 0,y 0,z 0,a 90,b 0,c 0})

    hat dann alles funktioniert, da nun die Kopplung auch richtig geladen wird.


    Vielen Dank :danke: euer Hinweis hat uns über den Berg gebracht.

    Beim Blick in die config ist mir nichts besonderes aufgefallen. Der Dreh-Kipptisch ist auf dem Index 2 hinterlegt:

    MACHINE_DEF[2]={NAME[] "Robatec_DKTisch",COOP_KRC_INDEX 1,PARENT[] "WORLD",ROOT {X 72.7810,Y 1376.10205,Z 711.085,A -0.0230000,B -0.0410000,C -1.48000},MECH_TYPE #EASYS,GEOMETRY[] "ObjectId = 1363640490"}

    Ein paar Zeilen später wird er für die Base geladen:

    DECL MACHINE_FRAME_T MACHINE_FRAME_DAT[32]

    MACHINE_FRAME_DAT[1]={MACH_DEF_INDEX 2,PARENT[] "Robatec_DKTisch",GEOMETRY[] "ObjectId = -207405864"}

    Hallo,


    Als Teil eines Studentenprojektes soll ich ein Programm schreiben, bei dem sich die Basis des Werkstückes synchron mit den externen Achsen eines Dreh-Kipptisches dreht.

    Bei dem Roboter handelt es sich um einen Kuka KR30-Ha, und die Steuerung hat die Versionskennung V8.3.257/KUKA8.3 .

    Die Externen-Achsen sind in den Maschinendaten eingepflegt und konnten in einem Testprogramm mithilfe einer E6POS und einer PTP Bewegung angesprochen werden.

    Code: $machine.dat
    DECL EX_KIN $EX_KIN={ET1 #EASYS,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 #E2,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[]="Robatec_DKTisch"
    FRAME $ET1_TA1KR={X 0.0,Y 0.0,Z 713.302,A 178.913,B 89.9210,C 180.000} ;FRAME ZWISCHEN A1 UND FUSSPUNKT DER KIN IN TRAFO ET1
    FRAME $ET1_TA2A1={X -9.63600,Y 0.847000,Z 911.412,A 0.0,B -90.0000,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 0.0,B 0.0,C 0.0} ;ZWISCHEN FL UND A3
    FRAME $ET1_TPINFL={X 190.000,Y 0.0,Z 108.400,A 0.0,B 0.0,C 0.0} ;ZWISCHEN MESSPUNKT UND FL

    Es existiert auch eine Basis, (Basis1) die im Handbetrieb zwar funktioniert und kalibiriert ist, aber aus dem Programm heraus auf dem Weltkoordinatensystem liegt.

    Ich habe jetzt versucht, die Basis über folgenden Code im Programm einzubauen:

    Code
    ; ---- Setting reference (Base) ----
     Using external axes
    $BASE=EK(EX_AX_DATA[1].ROOT,EX_AX_DATA[1].EX_KIN,EX_AX_DATA[1].OFFSET)
    $ACT_EX_AX=1

    Leider hat das nicht funktioniert mit dem Fehler, dass die Deklarierungen zu dieser Zeile fehlen.

    An dieser Stelle habe ich also schon erfolglos mehrere Deklarationen ausprobiert.

    Wie würde hier die richtige Syntax aussehen, oder muss in der Initialisierung etwas hinzugefügt werden?