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.
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:
; ---- 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?