Hallo zusammen,
ich habe folgendes Problem und hoffe ihr könnt mir hier weiterhelfen:
Ich habe ein Programm geschrieben, bei dem mit der A4 und A6 in große Achswerte (z.b. 1000°), also mit mehrfacher Umdrehung fahren will. Dazu habe ich in der machine.dat entsprechend die Achswerte auf endlos gestellt (siehe unten). Die Rotation per Handbetrieb funktioniert soweit wunderbar (über die Standardachsgrenzen hinaus). Wenn ich jetzt aber ein Programm abspielen lasse Fährt der Roboter aber nur zum nächstgelegenen vielfachen der Zielposition und führt die mehrfache Rotation nicht aus (siehe angehängte Fotos). Könnt ihr mir sagen was ich noch anpassen muss damit der Roboter in die gewünschten Zielpositionen fährt?
Viele Grüße und vielen Dank!
Marc
Auszug aus machine.dat:
-------------------------------
CHAR $V_R1MADA[32]
$V_R1MADA[]="V6.6.0/KUKA5.2" ;VERSIONSKENNUNG
INT $TECH_MAX=6 ;MAX. ANZAHL FUNKTIONSGENERATOREN
INT $NUM_AX=6 ;ACHSEN DES ROBOTERSYSTEMS
INT $AXIS_TYPE[12] ;ACHSENKENNUNG
$AXIS_TYPE[1]=3 ;1 = LINEAR, 2 = SPINDEL, 3 = ROTATORISCH, 4 = ENDLICH DREHEND, 5 = ENDLOS
$AXIS_TYPE[2]=3
$AXIS_TYPE[3]=3
$AXIS_TYPE[4]=5
$AXIS_TYPE[5]=3
$AXIS_TYPE[6]=5
$AXIS_TYPE[7]=3
$AXIS_TYPE[8]=3
$AXIS_TYPE[9]=3
$AXIS_TYPE[10]=3
$AXIS_TYPE[11]=3
$AXIS_TYPE[12]=3
DECL FRA $COUP_COMP[6,6] ;ACHSKOPPLUNGSFAKTOR N = ZAEHLER, D = NENNER
$COUP_COMP[1,2]={N 0,D 1}
$COUP_COMP[1,3]={N 0,D 1}
...
--------------------------------------------
DAT
--------------------------------------------
DEFDAT RobotTask1
DECL E6AXIS XRobotMotion1={A1 0.0,A2 -90.000002,A3 90.000002,A4 0.0,A5 60.0,A6 0.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL FDAT FRobotMotion1={TOOL_NO 0,BASE_NO 0,IPO_FRAME #BASE,POINT2[] " "}
DECL PDAT PPDAT1={VEL 50,ACC 100,APO_DIST 0}
DECL E6AXIS XRobotMotion2={A1 0.0,A2 -90.000002,A3 90.000002,A4 700.0,A5 59.999942,A6 0.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL FDAT FRobotMotion2={TOOL_NO 0,BASE_NO 0,IPO_FRAME #BASE,POINT2[] " "}
DECL E6AXIS XRobotMotion3={A1 0.0,A2 -90.000002,A3 90.000002,A4 699.999927,A5 59.999942,A6 1000.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL FDAT FRobotMotion3={TOOL_NO 0,BASE_NO 0,IPO_FRAME #BASE,POINT2[] " "}
DECL E6AXIS XRobotMotion4={A1 0.0,A2 -90.000002,A3 90.000002,A4 -700.0,A5 59.999936,A6 -800.0,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
DECL FDAT FRobotMotion4={TOOL_NO 0,BASE_NO 0,IPO_FRAME #BASE,POINT2[] " "}
ENDDAT
-----------------------------------------------
SRC
-----------------------------------------------
DEF RobotTask1( )
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
BAS (#INITMOV,0 )
;ENDFOLD (BASISTECH INI)
;FOLD PTP RobotMotion1 Vel=50 % PDAT1 Tool[0] Base[0];%{PE}%R 4.1.5,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:RobotMotion1, 3:, 5:50, 7:PDAT1
$BWDSTART=FALSE
PDAT_ACT=PPDAT1
BAS(#PTP_DAT)
FDAT_ACT=FRobotMotion1
BAS(#FRAMES)
BAS(#VEL_PTP,50)
PTP XRobotMotion1
;ENDFOLD
;FOLD PTP RobotMotion2 Vel=50 % PDAT1 Tool[0] Base[0];%{PE}%R 4.1.5,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:RobotMotion2, 3:, 5:50, 7:PDAT1
$BWDSTART=FALSE
PDAT_ACT=PPDAT1
BAS(#PTP_DAT)
FDAT_ACT=FRobotMotion2
BAS(#FRAMES)
BAS(#VEL_PTP,50)
PTP XRobotMotion2
;ENDFOLD
;FOLD PTP RobotMotion3 Vel=50 % PDAT1 Tool[0] Base[0];%{PE}%R 4.1.5,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:RobotMotion3, 3:, 5:50, 7:PDAT1
$BWDSTART=FALSE
PDAT_ACT=PPDAT1
BAS(#PTP_DAT)
FDAT_ACT=FRobotMotion3
BAS(#FRAMES)
BAS(#VEL_PTP,50)
PTP XRobotMotion3
;ENDFOLD
;FOLD PTP RobotMotion4 Vel=50 % PDAT1 Tool[0] Base[0];%{PE}%R 4.1.5,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:RobotMotion4, 3:, 5:50, 7:PDAT1
$BWDSTART=FALSE
PDAT_ACT=PPDAT1
BAS(#PTP_DAT)
FDAT_ACT=FRobotMotion4
BAS(#FRAMES)
BAS(#VEL_PTP,50)
PTP XRobotMotion4
;ENDFOLD
END