using only one side is ok for up to 32A. 48 and 64A KSDs require both outputs wired.
tuneup requires use of oscilloscope. guesswork will not do.
maybe compare with MADA of something else that works well and uses large motor to get least initial values right (maybe KL or KP)
My new used kuka KR200L170 comp
- cientista
- Thread is marked as Resolved.
-
-
Hello,
Still with the same problem.
I disasemble the rotary table fuse and without the last skf the table rotatw fine, acelerate and stop very well.
When i put the last skf the table doesnt rotate.
It appears that the motor doesnt have enought force or torque to rotate the table.
Is very strange.
The desmultiplication is enormeous. 420 to one.
I think is enougt.
SKF?Your description is unclear. Was the motor able to turn when the drive shaft was not connected to the rotary table?
Panic is correct, you need to run an O-Scope trace of the motor commanded and actual position, velocity, and current.
-
Skf = bearing
Yess, when the motor is out of shaft it is all ok.Enviado do meu SM-G930F através do Tapatalk
-
Fist of all verify the brake of servo motor has been released.
It needs about 27V to supplied to brake to release.After that need pid tuning ( https://en.wikipedia.org/wiki/PID_controller )
but how an oscilloscope will help with tuning?
Needs software that shows commanded position actual position following error etc
to make system critically damped.
One rough approach is to tube servo motor "by ear" by hearing the noise produce..Also because there is high degree mechanical reduction this must defined somewhere
in kuka software the reducing ratio -
Hi,
The brake release.
The motor without been connected to rotary table run fine and i already tunned the motor by ear. I noticed the noise with high and low values and put a medium value with no noise.
The osciloscope i already see in kuka menu but i dont try to use either have seen video of that.
I think the problem is the motor doesnt have enought torque to run the rotary table. It is a very big table. -
Oscilloscope is a built into KSS (so called trace tool).
To tune axis one can create program that loops axis between two points. Axis uses two cascaded PI loops. First one need to tune speed controller, then position controller, then measure other parameters like rise time, stop time etc. -
Oscilloscope is a built into KSS (so called trace tool).
To tune axis one can create program that loops axis between two points. Axis uses two cascaded PI loops. First one need to tune speed controller, then position controller, then measure other parameters like rise time, stop time etc.Ok this virtual oscilloscope software i was think real oscilloscope...
Yes if there is this software in kss you must use this.What power/rpm servo you use for rotary table ?
-
Have you tried rotating the axis at minimum speed (1%)?
When you try rotating the axis, how long does it take for the error to occur?
What is the $RAT_MOT_AX setting for this axis?
-
Hello again,
Thank you.The motor that i have chosen is the biggest that i found:
0000119767 4.2kwmy $RAT_MOT_AX[7]={N 420,D 1} is already calibrated. 90º of real turn is 90º of axis position in controler.
I try at very low speed and very high speed and same result.
When i put the last bearing the error motor blocked is at the same time that i click to move. The motor doens't start to move.
My machine data:
Code
Display More&PARAM VERSION = 3.8.3 &REL 21 DEFDAT $MACHINE PUBLIC CHAR $V_R1MADA[32] $V_R1MADA[]="V3.8.3/KUKA5.6" ;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]=3 $AXIS_TYPE[5]=3 $AXIS_TYPE[6]=3 $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} $COUP_COMP[1,4]={N 0,D 1} $COUP_COMP[1,5]={N 0,D 1} $COUP_COMP[1,6]={N 0,D 1} $COUP_COMP[2,1]={N 0,D 1} $COUP_COMP[2,3]={N 0,D 1} $COUP_COMP[2,4]={N 0,D 1} $COUP_COMP[2,5]={N 0,D 1} $COUP_COMP[2,6]={N 0,D 1} $COUP_COMP[3,1]={N 0,D 1} $COUP_COMP[3,2]={N 0,D 1} $COUP_COMP[3,4]={N 0,D 1} $COUP_COMP[3,5]={N 0,D 1} $COUP_COMP[3,6]={N 0,D 1} $COUP_COMP[4,1]={N 0,D 1} $COUP_COMP[4,2]={N 0,D 1} $COUP_COMP[4,3]={N 0,D 1} $COUP_COMP[4,5]={N -1,D 170} $COUP_COMP[4,6]={N -2736,D 267750} $COUP_COMP[5,1]={N 0,D 1} $COUP_COMP[5,2]={N 0,D 1} $COUP_COMP[5,3]={N 0,D 1} $COUP_COMP[5,4]={N 0,D 1} $COUP_COMP[5,6]={N 16,D 1575} $COUP_COMP[6,1]={N 0,D 1} $COUP_COMP[6,2]={N 0,D 1} $COUP_COMP[6,3]={N 0,D 1} $COUP_COMP[6,4]={N 0,D 1} $COUP_COMP[6,5]={N 0,D 1} DECL FRA $EXCOUP_COMP[6,6] ;KOPPLUNGSFAKTOREN ACHSE 7 (INDEX 1) BIS ACHSE 12 (INDEX 12), N = ZAEHLER, D =NENNER $EXCOUP_COMP[1,2]={N 0,D 1} $EXCOUP_COMP[1,3]={N 0,D 1} $EXCOUP_COMP[1,4]={N 0,D 1} $EXCOUP_COMP[1,5]={N 0,D 1} $EXCOUP_COMP[1,6]={N 0,D 1} $EXCOUP_COMP[2,1]={N 0,D 1} $EXCOUP_COMP[2,3]={N 0,D 1} $EXCOUP_COMP[2,4]={N 0,D 1} $EXCOUP_COMP[2,5]={N 0,D 1} $EXCOUP_COMP[2,6]={N 0,D 1} $EXCOUP_COMP[3,1]={N 0,D 1} $EXCOUP_COMP[3,2]={N 0,D 1} $EXCOUP_COMP[3,4]={N 0,D 1} $EXCOUP_COMP[3,5]={N 0,D 1} $EXCOUP_COMP[3,6]={N 0,D 1} $EXCOUP_COMP[4,1]={N 0,D 1} $EXCOUP_COMP[4,2]={N 0,D 1} $EXCOUP_COMP[4,3]={N 0,D 1} $EXCOUP_COMP[4,5]={N 0,D 1} $EXCOUP_COMP[4,6]={N 0,D 1} $EXCOUP_COMP[5,1]={N 0,D 1} $EXCOUP_COMP[5,2]={N 0,D 1} $EXCOUP_COMP[5,3]={N 0,D 1} $EXCOUP_COMP[5,4]={N 0,D 1} $EXCOUP_COMP[5,6]={N 0,D 1} $EXCOUP_COMP[6,1]={N 0,D 1} $EXCOUP_COMP[6,2]={N 0,D 1} $EXCOUP_COMP[6,3]={N 0,D 1} $EXCOUP_COMP[6,4]={N 0,D 1} $EXCOUP_COMP[6,5]={N 0,D 1} REAL $MAMES[12] ;VERSCHIEBUNG ZW. MECH. UND MATH. NULLPUNKT ACHSE[I] (I=1:A1,I=7:E1) [MM,GRAD] $MAMES[1]=0.0 $MAMES[2]=-90.0 $MAMES[3]=90.0 $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=#NONE ; 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 -219,D 1} $RAT_MOT_AX[2]={N -5512,D 23} $RAT_MOT_AX[3]={N -2853,D 13} $RAT_MOT_AX[4]={N -3705,D 22} $RAT_MOT_AX[5]={N -170,D 1} $RAT_MOT_AX[6]={N 1575,D 16} $RAT_MOT_AX[7]={N 420,D 1} $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} DECL FRA $RAT_MOT_ENC[12] ;UEBERSETZUNG MOTOR-GEBER ACHSE[I] (I=1:A1,I=7:E1) N = ZAEHLER, D = NENNER $RAT_MOT_ENC[1]={N 1,D 4} $RAT_MOT_ENC[2]={N 1,D 4} $RAT_MOT_ENC[3]={N 1,D 4} $RAT_MOT_ENC[4]={N 1,D 4} $RAT_MOT_ENC[5]={N 1,D 4} $RAT_MOT_ENC[6]={N 1,D 4} $RAT_MOT_ENC[7]={N 1,D 4} $RAT_MOT_ENC[8]={N 1,D 3} $RAT_MOT_ENC[9]={N 1,D 3} $RAT_MOT_ENC[10]={N 1,D 3} $RAT_MOT_ENC[11]={N 1,D 3} $RAT_MOT_ENC[12]={N 1,D 3} INT $DSECHANNEL[12] ;ACHSZUORDNUNG AUF DSE $DSECHANNEL[1]=1 $DSECHANNEL[2]=2 $DSECHANNEL[3]=3 $DSECHANNEL[4]=4 $DSECHANNEL[5]=5 $DSECHANNEL[6]=6 $DSECHANNEL[7]=7 $DSECHANNEL[8]=0 $DSECHANNEL[9]=0 $DSECHANNEL[10]=0 $DSECHANNEL[11]=0 $DSECHANNEL[12]=0 INT $PMCHANNEL[12] ;ZUORDNUNG DER ACHSE ZU DSE, KPS, BREMSENKANAL UND SBM $PMCHANNEL[1]=20 $PMCHANNEL[2]=20 $PMCHANNEL[3]=20 $PMCHANNEL[4]=20 $PMCHANNEL[5]=20 $PMCHANNEL[6]=20 $PMCHANNEL[7]=21 $PMCHANNEL[8]=0 $PMCHANNEL[9]=0 $PMCHANNEL[10]=0 $PMCHANNEL[11]=0 $PMCHANNEL[12]=0 DECL REAL $LOOP_LG_PTP[18] ;NUR FUER POS-SLAVES!!! - VERSTAERKUNG DES LAGESREGLERS $LOOP_LG_PTP[1]=0.0 $LOOP_LG_PTP[2]=0.0 $LOOP_LG_PTP[3]=0.0 $LOOP_LG_PTP[4]=0.0 $LOOP_LG_PTP[5]=0.0 $LOOP_LG_PTP[6]=0.0 $LOOP_LG_PTP[7]=0.0 $LOOP_LG_PTP[8]=0.0 $LOOP_LG_PTP[9]=0.0 $LOOP_LG_PTP[10]=0.0 $LOOP_LG_PTP[11]=0.0 $LOOP_LG_PTP[12]=0.0 $LOOP_LG_PTP[13]=0.0 $LOOP_LG_PTP[14]=0.0 $LOOP_LG_PTP[15]=0.0 $LOOP_LG_PTP[16]=0.0 $LOOP_LG_PTP[17]=0.0 $LOOP_LG_PTP[18]=0.0 DECL REAL $LOOP_I_LG_PTP[18] ;NUR FUER POS-SLAVES!!! - INTEGRALANTEIL DES LAGEREGLERS $LOOP_I_LG_PTP[1]=0.0 $LOOP_I_LG_PTP[2]=0.0 $LOOP_I_LG_PTP[3]=0.0 $LOOP_I_LG_PTP[4]=0.0 $LOOP_I_LG_PTP[5]=0.0 $LOOP_I_LG_PTP[6]=0.0 $LOOP_I_LG_PTP[7]=0.0 $LOOP_I_LG_PTP[8]=0.0 $LOOP_I_LG_PTP[9]=0.0 $LOOP_I_LG_PTP[10]=0.0 $LOOP_I_LG_PTP[11]=0.0 $LOOP_I_LG_PTP[12]=0.0 $LOOP_I_LG_PTP[13]=0.0 $LOOP_I_LG_PTP[14]=0.0 $LOOP_I_LG_PTP[15]=0.0 $LOOP_I_LG_PTP[16]=0.0 $LOOP_I_LG_PTP[17]=0.0 $LOOP_I_LG_PTP[18]=0.0 DECL REAL $LOOP_G_VEL_PTP[18] ;NUR FUER POS-SLAVES!!! - VERSTAERKUNG DES DREHZAHLREGLERS $LOOP_G_VEL_PTP[1]=0.0 $LOOP_G_VEL_PTP[2]=0.0 $LOOP_G_VEL_PTP[3]=0.0 $LOOP_G_VEL_PTP[4]=0.0 $LOOP_G_VEL_PTP[5]=0.0 $LOOP_G_VEL_PTP[6]=0.0 $LOOP_G_VEL_PTP[7]=0.0 $LOOP_G_VEL_PTP[8]=0.0 $LOOP_G_VEL_PTP[9]=0.0 $LOOP_G_VEL_PTP[10]=0.0 $LOOP_G_VEL_PTP[11]=0.0 $LOOP_G_VEL_PTP[12]=0.0 $LOOP_G_VEL_PTP[13]=0.0 $LOOP_G_VEL_PTP[14]=0.0 $LOOP_G_VEL_PTP[15]=0.0 $LOOP_G_VEL_PTP[16]=0.0 $LOOP_G_VEL_PTP[17]=0.0 $LOOP_G_VEL_PTP[18]=0.0 DECL REAL $LOOP_I_VEL_PTP[18] ;NUR FUER POS-SLAVES!!! - INTEGRALANTEIL DES DREHZAHLREGLERS $LOOP_I_VEL_PTP[1]=0.0 $LOOP_I_VEL_PTP[2]=0.0 $LOOP_I_VEL_PTP[3]=0.0 $LOOP_I_VEL_PTP[4]=0.0 $LOOP_I_VEL_PTP[5]=0.0 $LOOP_I_VEL_PTP[6]=0.0 $LOOP_I_VEL_PTP[7]=0.0 $LOOP_I_VEL_PTP[8]=0.0 $LOOP_I_VEL_PTP[9]=0.0 $LOOP_I_VEL_PTP[10]=0.0 $LOOP_I_VEL_PTP[11]=0.0 $LOOP_I_VEL_PTP[12]=0.0 $LOOP_I_VEL_PTP[13]=0.0 $LOOP_I_VEL_PTP[14]=0.0 $LOOP_I_VEL_PTP[15]=0.0 $LOOP_I_VEL_PTP[16]=0.0 $LOOP_I_VEL_PTP[17]=0.0 $LOOP_I_VEL_PTP[18]=0.0 DECL INT $LOOP_DIRECTION[18] ;NUR FUER SLAVES!!! 1=GLEICHE RICHTUNG WIE MASTER, -1=ENTGEGENGESETZT $LOOP_DIRECTION[1]=1 $LOOP_DIRECTION[2]=1 $LOOP_DIRECTION[3]=1 $LOOP_DIRECTION[4]=1 $LOOP_DIRECTION[5]=1 $LOOP_DIRECTION[6]=1 $LOOP_DIRECTION[7]=1 $LOOP_DIRECTION[8]=1 $LOOP_DIRECTION[9]=1 $LOOP_DIRECTION[10]=1 $LOOP_DIRECTION[11]=1 $LOOP_DIRECTION[12]=1 $LOOP_DIRECTION[13]=1 $LOOP_DIRECTION[14]=1 $LOOP_DIRECTION[15]=1 $LOOP_DIRECTION[16]=1 $LOOP_DIRECTION[17]=1 $LOOP_DIRECTION[18]=1 DECL INT $SLAVE_LOOP_FOL_CRITICAL[18] ;PROZENTWERT ZUR KONFIGURATION EINER MAX. ABWEICHGRENZE MASTER ZU SLAVE (>100%) $SLAVE_LOOP_FOL_CRITICAL[1]=1 $SLAVE_LOOP_FOL_CRITICAL[2]=1 $SLAVE_LOOP_FOL_CRITICAL[3]=1 $SLAVE_LOOP_FOL_CRITICAL[4]=1 $SLAVE_LOOP_FOL_CRITICAL[5]=1 $SLAVE_LOOP_FOL_CRITICAL[6]=1 $SLAVE_LOOP_FOL_CRITICAL[7]=1 $SLAVE_LOOP_FOL_CRITICAL[8]=1 $SLAVE_LOOP_FOL_CRITICAL[9]=1 $SLAVE_LOOP_FOL_CRITICAL[10]=1 $SLAVE_LOOP_FOL_CRITICAL[11]=1 $SLAVE_LOOP_FOL_CRITICAL[12]=1 $SLAVE_LOOP_FOL_CRITICAL[13]=1 $SLAVE_LOOP_FOL_CRITICAL[14]=1 $SLAVE_LOOP_FOL_CRITICAL[15]=1 $SLAVE_LOOP_FOL_CRITICAL[16]=1 $SLAVE_LOOP_FOL_CRITICAL[17]=1 $SLAVE_LOOP_FOL_CRITICAL[18]=1 DECL REAL $SLAVE_LOOP_FOL_ALARM[18] ;ABWEICHUNGSLIMIT ZW. MASTER UND SLAVE (IN GRAD BZW. MM) $SLAVE_LOOP_FOL_ALARM[1]=0.0 $SLAVE_LOOP_FOL_ALARM[2]=0.0 $SLAVE_LOOP_FOL_ALARM[3]=0.0 $SLAVE_LOOP_FOL_ALARM[4]=0.0 $SLAVE_LOOP_FOL_ALARM[5]=0.0 $SLAVE_LOOP_FOL_ALARM[6]=0.0 $SLAVE_LOOP_FOL_ALARM[7]=0.0 $SLAVE_LOOP_FOL_ALARM[8]=0.0 $SLAVE_LOOP_FOL_ALARM[9]=0.0 $SLAVE_LOOP_FOL_ALARM[10]=0.0 $SLAVE_LOOP_FOL_ALARM[11]=0.0 $SLAVE_LOOP_FOL_ALARM[12]=0.0 $SLAVE_LOOP_FOL_ALARM[13]=0.0 $SLAVE_LOOP_FOL_ALARM[14]=0.0 $SLAVE_LOOP_FOL_ALARM[15]=0.0 $SLAVE_LOOP_FOL_ALARM[16]=0.0 $SLAVE_LOOP_FOL_ALARM[17]=0.0 $SLAVE_LOOP_FOL_ALARM[18]=0.0 DECL REAL $SLAVE_LOOP_SPEED_ALARM[18] ;MAX. GESCHW.-ABW. (1/MIN) FUER MOMENTENGEREGELTE SLAVE-ANTRIEB $SLAVE_LOOP_SPEED_ALARM[1]=0.0 $SLAVE_LOOP_SPEED_ALARM[2]=0.0 $SLAVE_LOOP_SPEED_ALARM[3]=0.0 $SLAVE_LOOP_SPEED_ALARM[4]=0.0 $SLAVE_LOOP_SPEED_ALARM[5]=0.0 $SLAVE_LOOP_SPEED_ALARM[6]=0.0 $SLAVE_LOOP_SPEED_ALARM[7]=0.0 $SLAVE_LOOP_SPEED_ALARM[8]=0.0 $SLAVE_LOOP_SPEED_ALARM[9]=0.0 $SLAVE_LOOP_SPEED_ALARM[10]=0.0 $SLAVE_LOOP_SPEED_ALARM[11]=0.0 $SLAVE_LOOP_SPEED_ALARM[12]=0.0 $SLAVE_LOOP_SPEED_ALARM[13]=0.0 $SLAVE_LOOP_SPEED_ALARM[14]=0.0 $SLAVE_LOOP_SPEED_ALARM[15]=0.0 $SLAVE_LOOP_SPEED_ALARM[16]=0.0 $SLAVE_LOOP_SPEED_ALARM[17]=0.0 $SLAVE_LOOP_SPEED_ALARM[18]=0.0 DECL INT $SLAVE_LOOP_PMCHANNEL[18] ;POWERMODUL FUER SLAVE-REGELKREISE $SLAVE_LOOP_PMCHANNEL[1]=0 $SLAVE_LOOP_PMCHANNEL[2]=0 $SLAVE_LOOP_PMCHANNEL[3]=0 $SLAVE_LOOP_PMCHANNEL[4]=0 $SLAVE_LOOP_PMCHANNEL[5]=0 $SLAVE_LOOP_PMCHANNEL[6]=0 $SLAVE_LOOP_PMCHANNEL[7]=0 $SLAVE_LOOP_PMCHANNEL[8]=0 $SLAVE_LOOP_PMCHANNEL[9]=0 $SLAVE_LOOP_PMCHANNEL[10]=0 $SLAVE_LOOP_PMCHANNEL[11]=0 $SLAVE_LOOP_PMCHANNEL[12]=0 $SLAVE_LOOP_PMCHANNEL[13]=0 $SLAVE_LOOP_PMCHANNEL[14]=0 $SLAVE_LOOP_PMCHANNEL[15]=0 $SLAVE_LOOP_PMCHANNEL[16]=0 $SLAVE_LOOP_PMCHANNEL[17]=0 $SLAVE_LOOP_PMCHANNEL[18]=0 DECL INT $LOOP_TYPE[18] ;1:MASTER (DEFAULT), 2:POS.-GEREGELTER SLAVE, 3:MOMENTENGEREGELTER SLAVE, 4:PARALLEL KSD, 5:POSITION TRACKER, 6:KRAFTREGELUNG, 7:EXTERN KONFIGURIERT, 8:EKO MASTER, 9:EKO SLAVE $LOOP_TYPE[1]=1 $LOOP_TYPE[2]=1 $LOOP_TYPE[3]=1 $LOOP_TYPE[4]=1 $LOOP_TYPE[5]=1 $LOOP_TYPE[6]=1 $LOOP_TYPE[7]=1 $LOOP_TYPE[8]=1 $LOOP_TYPE[9]=1 $LOOP_TYPE[10]=1 $LOOP_TYPE[11]=1 $LOOP_TYPE[12]=1 $LOOP_TYPE[13]=1 $LOOP_TYPE[14]=1 $LOOP_TYPE[15]=1 $LOOP_TYPE[16]=1 $LOOP_TYPE[17]=1 $LOOP_TYPE[18]=1 DECL INT $LOOP_TYPE_ATTRIBUTE[18] ;ZUSAETZLICHE EIGENSCHAFTEN DES REGELKREISES $LOOP_TYPE_ATTRIBUTE[1]=0 $LOOP_TYPE_ATTRIBUTE[2]=0 $LOOP_TYPE_ATTRIBUTE[3]=0 $LOOP_TYPE_ATTRIBUTE[4]=0 $LOOP_TYPE_ATTRIBUTE[5]=0 $LOOP_TYPE_ATTRIBUTE[6]=0 $LOOP_TYPE_ATTRIBUTE[7]=0 $LOOP_TYPE_ATTRIBUTE[8]=0 $LOOP_TYPE_ATTRIBUTE[9]=0 $LOOP_TYPE_ATTRIBUTE[10]=0 $LOOP_TYPE_ATTRIBUTE[11]=0 $LOOP_TYPE_ATTRIBUTE[12]=0 $LOOP_TYPE_ATTRIBUTE[13]=0 $LOOP_TYPE_ATTRIBUTE[14]=0 $LOOP_TYPE_ATTRIBUTE[15]=0 $LOOP_TYPE_ATTRIBUTE[16]=0 $LOOP_TYPE_ATTRIBUTE[17]=0 $LOOP_TYPE_ATTRIBUTE[18]=0 DECL INT $MASTER_LOOP[18] ;NUMMER DES MASTER-REGELKREISES, AUF DEN SICH DER SLAVE BEZIEHT $MASTER_LOOP[1]=0 $MASTER_LOOP[2]=0 $MASTER_LOOP[3]=0 $MASTER_LOOP[4]=0 $MASTER_LOOP[5]=0 $MASTER_LOOP[6]=0 $MASTER_LOOP[7]=0 $MASTER_LOOP[8]=0 $MASTER_LOOP[9]=0 $MASTER_LOOP[10]=0 $MASTER_LOOP[11]=0 $MASTER_LOOP[12]=0 $MASTER_LOOP[13]=0 $MASTER_LOOP[14]=0 $MASTER_LOOP[15]=0 $MASTER_LOOP[16]=0 $MASTER_LOOP[17]=0 $MASTER_LOOP[18]=0 DECL REAL $SLAVE_TORQUE_RATIO[18] ;MOMENTENGEREGELTER SLAVE: VERHAELTNIS SOLLMOMENT SLAVE/MASTER $SLAVE_TORQUE_RATIO[1]=0.0 $SLAVE_TORQUE_RATIO[2]=0.0 $SLAVE_TORQUE_RATIO[3]=0.0 $SLAVE_TORQUE_RATIO[4]=0.0 $SLAVE_TORQUE_RATIO[5]=0.0 $SLAVE_TORQUE_RATIO[6]=0.0 $SLAVE_TORQUE_RATIO[7]=0.0 $SLAVE_TORQUE_RATIO[8]=0.0 $SLAVE_TORQUE_RATIO[9]=0.0 $SLAVE_TORQUE_RATIO[10]=0.0 $SLAVE_TORQUE_RATIO[11]=0.0 $SLAVE_TORQUE_RATIO[12]=0.0 $SLAVE_TORQUE_RATIO[13]=0.0 $SLAVE_TORQUE_RATIO[14]=0.0 $SLAVE_TORQUE_RATIO[15]=0.0 $SLAVE_TORQUE_RATIO[16]=0.0 $SLAVE_TORQUE_RATIO[17]=0.0 $SLAVE_TORQUE_RATIO[18]=0.0 DECL INT $NINPUT_SENSORTYPE[18] ;DREHZAHL-GEBER. 1:RDW, 2:CAN-RDW, 3:INTERBUS-SENSOR, 4:LASER, 5:ENDAT GEBER, 6:KRC3A $NINPUT_SENSORTYPE[1]=1 $NINPUT_SENSORTYPE[2]=1 $NINPUT_SENSORTYPE[3]=1 $NINPUT_SENSORTYPE[4]=1 $NINPUT_SENSORTYPE[5]=1 $NINPUT_SENSORTYPE[6]=1 $NINPUT_SENSORTYPE[7]=1 $NINPUT_SENSORTYPE[8]=1 $NINPUT_SENSORTYPE[9]=1 $NINPUT_SENSORTYPE[10]=1 $NINPUT_SENSORTYPE[11]=1 $NINPUT_SENSORTYPE[12]=1 $NINPUT_SENSORTYPE[13]=1 $NINPUT_SENSORTYPE[14]=1 $NINPUT_SENSORTYPE[15]=1 $NINPUT_SENSORTYPE[16]=1 $NINPUT_SENSORTYPE[17]=1 $NINPUT_SENSORTYPE[18]=1 DECL INT $NINPUT_SENSORCHANNEL[18] ;KANALNUMMER DES DREHZAHL-GEBERS $NINPUT_SENSORCHANNEL[1]=1 $NINPUT_SENSORCHANNEL[2]=2 $NINPUT_SENSORCHANNEL[3]=3 $NINPUT_SENSORCHANNEL[4]=4 $NINPUT_SENSORCHANNEL[5]=5 $NINPUT_SENSORCHANNEL[6]=6 $NINPUT_SENSORCHANNEL[7]=7 $NINPUT_SENSORCHANNEL[8]=8 $NINPUT_SENSORCHANNEL[9]=9 $NINPUT_SENSORCHANNEL[10]=1 $NINPUT_SENSORCHANNEL[11]=2 $NINPUT_SENSORCHANNEL[12]=3 $NINPUT_SENSORCHANNEL[13]=4 $NINPUT_SENSORCHANNEL[14]=5 $NINPUT_SENSORCHANNEL[15]=6 $NINPUT_SENSORCHANNEL[16]=7 $NINPUT_SENSORCHANNEL[17]=8 $NINPUT_SENSORCHANNEL[18]=9 DECL INT $NINPUT_SUBCHANNEL[18] ;UNTERKANAL DES DREHZAHL-GEBERS $NINPUT_SUBCHANNEL[1]=0 $NINPUT_SUBCHANNEL[2]=0 $NINPUT_SUBCHANNEL[3]=0 $NINPUT_SUBCHANNEL[4]=0 $NINPUT_SUBCHANNEL[5]=0 $NINPUT_SUBCHANNEL[6]=0 $NINPUT_SUBCHANNEL[7]=0 $NINPUT_SUBCHANNEL[8]=0 $NINPUT_SUBCHANNEL[9]=0 $NINPUT_SUBCHANNEL[10]=0 $NINPUT_SUBCHANNEL[11]=0 $NINPUT_SUBCHANNEL[12]=0 $NINPUT_SUBCHANNEL[13]=0 $NINPUT_SUBCHANNEL[14]=0 $NINPUT_SUBCHANNEL[15]=0 $NINPUT_SUBCHANNEL[16]=0 $NINPUT_SUBCHANNEL[17]=0 $NINPUT_SUBCHANNEL[18]=0 DECL INT $POSINPUT_SENSORTYPE[18] ;POSITIONS-GEBER: 1:RDW, 2:CAN-RDW, 3:INTERBUS-SENSOR, 4:LASER, 5:ENDAT GEBER, 6:KRC3A $POSINPUT_SENSORTYPE[1]=1 $POSINPUT_SENSORTYPE[2]=1 $POSINPUT_SENSORTYPE[3]=1 $POSINPUT_SENSORTYPE[4]=1 $POSINPUT_SENSORTYPE[5]=1 $POSINPUT_SENSORTYPE[6]=1 $POSINPUT_SENSORTYPE[7]=1 $POSINPUT_SENSORTYPE[8]=1 $POSINPUT_SENSORTYPE[9]=1 $POSINPUT_SENSORTYPE[10]=1 $POSINPUT_SENSORTYPE[11]=1 $POSINPUT_SENSORTYPE[12]=1 $POSINPUT_SENSORTYPE[13]=1 $POSINPUT_SENSORTYPE[14]=1 $POSINPUT_SENSORTYPE[15]=1 $POSINPUT_SENSORTYPE[16]=1 $POSINPUT_SENSORTYPE[17]=1 $POSINPUT_SENSORTYPE[18]=1 DECL INT $POSINPUT_SENSORCHANNEL[18] ;KANALNUMMER DES POSITIONS-GEBERS $POSINPUT_SENSORCHANNEL[1]=1 $POSINPUT_SENSORCHANNEL[2]=2 $POSINPUT_SENSORCHANNEL[3]=3 $POSINPUT_SENSORCHANNEL[4]=4 $POSINPUT_SENSORCHANNEL[5]=5 $POSINPUT_SENSORCHANNEL[6]=6 $POSINPUT_SENSORCHANNEL[7]=7 $POSINPUT_SENSORCHANNEL[8]=8 $POSINPUT_SENSORCHANNEL[9]=9 $POSINPUT_SENSORCHANNEL[10]=1 $POSINPUT_SENSORCHANNEL[11]=2 $POSINPUT_SENSORCHANNEL[12]=3 $POSINPUT_SENSORCHANNEL[13]=4 $POSINPUT_SENSORCHANNEL[14]=5 $POSINPUT_SENSORCHANNEL[15]=6 $POSINPUT_SENSORCHANNEL[16]=7 $POSINPUT_SENSORCHANNEL[17]=8 $POSINPUT_SENSORCHANNEL[18]=9 DECL INT $POSINPUT_SUBCHANNEL[18] ;UNTERKANALNUMMER DES POSITIONS-GEBERS $POSINPUT_SUBCHANNEL[1]=0 $POSINPUT_SUBCHANNEL[2]=0 $POSINPUT_SUBCHANNEL[3]=0 $POSINPUT_SUBCHANNEL[4]=0 $POSINPUT_SUBCHANNEL[5]=0 $POSINPUT_SUBCHANNEL[6]=0 $POSINPUT_SUBCHANNEL[7]=0 $POSINPUT_SUBCHANNEL[8]=0 $POSINPUT_SUBCHANNEL[9]=0 $POSINPUT_SUBCHANNEL[10]=0 $POSINPUT_SUBCHANNEL[11]=0 $POSINPUT_SUBCHANNEL[12]=0 $POSINPUT_SUBCHANNEL[13]=0 $POSINPUT_SUBCHANNEL[14]=0 $POSINPUT_SUBCHANNEL[15]=0 $POSINPUT_SUBCHANNEL[16]=0 $POSINPUT_SUBCHANNEL[17]=0 $POSINPUT_SUBCHANNEL[18]=0 DECL FRA $LOOP_RAT_MOT_AX[18] ;NUR FUER SLAVES!!! - UEBERSETZUNG MOTOR-ANTRIEBSRAD DER SLAVE ACHSE $LOOP_RAT_MOT_AX[1]={N 0,D 1} $LOOP_RAT_MOT_AX[2]={N 0,D 1} $LOOP_RAT_MOT_AX[3]={N 0,D 1} $LOOP_RAT_MOT_AX[4]={N 0,D 1} $LOOP_RAT_MOT_AX[5]={N 0,D 1} $LOOP_RAT_MOT_AX[6]={N 0,D 1} $LOOP_RAT_MOT_AX[7]={N 0,D 1} $LOOP_RAT_MOT_AX[8]={N 0,D 1} $LOOP_RAT_MOT_AX[9]={N 0,D 1} $LOOP_RAT_MOT_AX[10]={N 0,D 1} $LOOP_RAT_MOT_AX[11]={N 0,D 1} $LOOP_RAT_MOT_AX[12]={N 0,D 1} $LOOP_RAT_MOT_AX[13]={N 0,D 1} $LOOP_RAT_MOT_AX[14]={N 0,D 1} $LOOP_RAT_MOT_AX[15]={N 0,D 1} $LOOP_RAT_MOT_AX[16]={N 0,D 1} $LOOP_RAT_MOT_AX[17]={N 0,D 1} $LOOP_RAT_MOT_AX[18]={N 0,D 1} DECL FRA $LOOP_RAT_EXTPOS_AX[18] ;UEBERSETZUNG DES SENSORRADES $LOOP_RAT_EXTPOS_AX[1]={N 0,D 1} $LOOP_RAT_EXTPOS_AX[2]={N 0,D 1} $LOOP_RAT_EXTPOS_AX[3]={N 0,D 1} $LOOP_RAT_EXTPOS_AX[4]={N 0,D 1} $LOOP_RAT_EXTPOS_AX[5]={N 0,D 1} $LOOP_RAT_EXTPOS_AX[6]={N 0,D 1} $LOOP_RAT_EXTPOS_AX[7]={N 0,D 1} $LOOP_RAT_EXTPOS_AX[8]={N 0,D 1} $LOOP_RAT_EXTPOS_AX[9]={N 0,D 1} $LOOP_RAT_EXTPOS_AX[10]={N 0,D 1} $LOOP_RAT_EXTPOS_AX[11]={N 0,D 1} $LOOP_RAT_EXTPOS_AX[12]={N 0,D 1} $LOOP_RAT_EXTPOS_AX[13]={N 0,D 1} $LOOP_RAT_EXTPOS_AX[14]={N 0,D 1} $LOOP_RAT_EXTPOS_AX[15]={N 0,D 1} $LOOP_RAT_EXTPOS_AX[16]={N 0,D 1} $LOOP_RAT_EXTPOS_AX[17]={N 0,D 1} $LOOP_RAT_EXTPOS_AX[18]={N 0,D 1} DECL INT $MOTOR_POLE_NUMBER[18] ;VARIABLE WIRD NICHT VERWENDET $MOTOR_POLE_NUMBER[1]=3 $MOTOR_POLE_NUMBER[2]=3 $MOTOR_POLE_NUMBER[3]=3 $MOTOR_POLE_NUMBER[4]=3 $MOTOR_POLE_NUMBER[5]=3 $MOTOR_POLE_NUMBER[6]=3 $MOTOR_POLE_NUMBER[7]=3 $MOTOR_POLE_NUMBER[8]=3 $MOTOR_POLE_NUMBER[9]=3 $MOTOR_POLE_NUMBER[10]=3 $MOTOR_POLE_NUMBER[11]=3 $MOTOR_POLE_NUMBER[12]=3 $MOTOR_POLE_NUMBER[13]=3 $MOTOR_POLE_NUMBER[14]=3 $MOTOR_POLE_NUMBER[15]=3 $MOTOR_POLE_NUMBER[16]=3 $MOTOR_POLE_NUMBER[17]=3 $MOTOR_POLE_NUMBER[18]=3 CHAR $SERVOFILE_CONFIG[16] ;SERVO-CONFIGURATIONSFILE $SERVOFILE_CONFIG[]="DEFAULT" CHAR $SERVOFILE1[16] $SERVOFILE1[]="KSD_32_MG1_S7_0" CHAR $SERVOFILE2[16] $SERVOFILE2[]="KSD_32_MIall" CHAR $SERVOFILE3[16] $SERVOFILE3[]="KSD_32_MIall" CHAR $SERVOFILE4[16] $SERVOFILE4[]="KSD_16_MH_L" CHAR $SERVOFILE5[16] $SERVOFILE5[]="KSD_16_MH_L" CHAR $SERVOFILE6[16] $SERVOFILE6[]="KSD_16_MH_L" CHAR $SERVOFILE7[16] $SERVOFILE7[]="KSD_48_MI1ALL" CHAR $SERVOFILE8[16] $SERVOFILE8[]="DEFAULT" CHAR $SERVOFILE9[16] $SERVOFILE9[]="DEFAULT" CHAR $SERVOFILE10[16] $SERVOFILE10[]="DEFAULT" CHAR $SERVOFILE11[16] $SERVOFILE11[]="DEFAULT" CHAR $SERVOFILE12[16] $SERVOFILE12[]="DEFAULT" CHAR $SERVOFILEKPS1[16] ;Servofile KPS1 DSE1 $SERVOFILEKPS1[]="KPS_600_20" ;Servofile KPS1 DSE1 CHAR $SERVOFILEKPS2[16] ;Servofile KPS2 DSE1 $SERVOFILEKPS2[]="DEFAULT" ;Servofile KPS2 DSE1 CHAR $SERVOFILEKPS3[16] ;Servofile KPS3 DSE1 $SERVOFILEKPS3[]="DEFAULT" ;Servofile KPS3 DSE1 CHAR $SERVOFILEKPS4[16] ;Servofile KPS4 DSE1 $SERVOFILEKPS4[]="DEFAULT" ;Servofile KPS4 DSE1 CHAR $SERVOFILEKPS5[16] ;Servofile KPS1 DSE2 $SERVOFILEKPS5[]="DEFAULT" ;Servofile KPS1 DSE2 CHAR $SERVOFILEKPS6[16] ;Servofile KPS2 DSE2 $SERVOFILEKPS6[]="DEFAULT" ;Servofile KPS2 DSE2 CHAR $SERVOFILEKPS7[16] ;Servofile KPS3 DSE2 $SERVOFILEKPS7[]="DEFAULT" ;Servofile KPS3 DSE2 CHAR $SERVOFILEKPS8[16] ;Servofile KPS4 DSE2 $SERVOFILEKPS8[]="DEFAULT" ;Servofile KPS4 DSE2 REAL $CURR_MAX[12] ;MAXIMALER POWERMODUL-STROM IN AEFF $CURR_MAX[1]=32.0 $CURR_MAX[2]=32.0 $CURR_MAX[3]=32.0 $CURR_MAX[4]=16.0 $CURR_MAX[5]=16.0 $CURR_MAX[6]=16.0 $CURR_MAX[7]=48.0 $CURR_MAX[8]=0.0 $CURR_MAX[9]=0.0 $CURR_MAX[10]=0.0 $CURR_MAX[11]=0.0 $CURR_MAX[12]=0.0 REAL $CURR_CAL[12] ;STROMKALIBRIERUNG POWERMODUL (STROMWANDLER) $CURR_CAL[1]=1.0 $CURR_CAL[2]=1.0 $CURR_CAL[3]=1.0 $CURR_CAL[4]=1.0 $CURR_CAL[5]=1.0 $CURR_CAL[6]=1.0 $CURR_CAL[7]=1.0 $CURR_CAL[8]=1.0 $CURR_CAL[9]=1.0 $CURR_CAL[10]=1.0 $CURR_CAL[11]=1.0 $CURR_CAL[12]=1.0 INT $CURR_LIM[12] ;STROMSOLLWERT LIMIT ACHSE [I] % $CURR_LIM[1]=100 $CURR_LIM[2]=100 $CURR_LIM[3]=100 $CURR_LIM[4]=100 $CURR_LIM[5]=100 $CURR_LIM[6]=100 $CURR_LIM[7]=100 $CURR_LIM[8]=100 $CURR_LIM[9]=100 $CURR_LIM[10]=100 $CURR_LIM[11]=100 $CURR_LIM[12]=100 REAL $CURR_MON[12] ;ZULAESSIGER NENNSTROM $CURR_MON[1]=16.7999992 $CURR_MON[2]=17.5 $CURR_MON[3]=17.5 $CURR_MON[4]=8.0 $CURR_MON[5]=8.0 $CURR_MON[6]=8.0 $CURR_MON[7]=16.5 $CURR_MON[8]=0.0 $CURR_MON[9]=0.0 $CURR_MON[10]=0.0 $CURR_MON[11]=0.0 $CURR_MON[12]=0.0 REAL $KPS_CURR_MAX[8] ;MAXIMALSTROM EINES KPS UEBER 1s $KPS_CURR_MAX[1]=70.0 $KPS_CURR_MAX[2]=70.0 $KPS_CURR_MAX[3]=70.0 $KPS_CURR_MAX[4]=70.0 $KPS_CURR_MAX[5]=70.0 $KPS_CURR_MAX[6]=70.0 $KPS_CURR_MAX[7]=70.0 $KPS_CURR_MAX[8]=70.0 REAL $KPS_CURR_RATED[8] ;NENNSTROM EINES KPS UEBER 60s $KPS_CURR_RATED[1]=20.0 $KPS_CURR_RATED[2]=20.0 $KPS_CURR_RATED[3]=20.0 $KPS_CURR_RATED[4]=20.0 $KPS_CURR_RATED[5]=20.0 $KPS_CURR_RATED[6]=20.0 $KPS_CURR_RATED[7]=20.0 $KPS_CURR_RATED[8]=20.0 REAL $CURR_COM_EX[6] ;STROMGRENZE EXTERNER ACHSEN FUER HANDVERFAHREN $CURR_COM_EX[1]=100.0 $CURR_COM_EX[2]=100.0 $CURR_COM_EX[3]=100.0 $CURR_COM_EX[4]=100.0 $CURR_COM_EX[5]=100.0 $CURR_COM_EX[6]=100.0 REAL $KT_MOT[12] ;KT-FAKTOR DER MOTOREN $KT_MOT[1]=0.974300027 $KT_MOT[2]=1.36000001 $KT_MOT[3]=1.36000001 $KT_MOT[4]=1.23379004 $KT_MOT[5]=1.23379004 $KT_MOT[6]=1.23379004 $KT_MOT[7]=1.39999998 $KT_MOT[8]=1.0 $KT_MOT[9]=1.0 $KT_MOT[10]=1.0 $KT_MOT[11]=1.0 $KT_MOT[12]=1.0 REAL $KT0_MOT[12] ;KT0-FAKTOR DER MOTOREN 1-12 $KT0_MOT[1]=1.20000005 $KT0_MOT[2]=1.41999996 $KT0_MOT[3]=1.41999996 $KT0_MOT[4]=1.33000004 $KT0_MOT[5]=1.33000004 $KT0_MOT[6]=1.33000004 $KT0_MOT[7]=1.58000004 $KT0_MOT[8]=1.0 $KT0_MOT[9]=1.0 $KT0_MOT[10]=1.0 $KT0_MOT[11]=1.0 $KT0_MOT[12]=1.0 REAL $RAISE_TIME[12] ;ACHSHOCHLAUFZEIT ACHSE[I] (I=1:A1,I=7:E1) [MS] $RAISE_TIME[1]=1058.5 $RAISE_TIME[2]=835.299988 $RAISE_TIME[3]=533.299988 $RAISE_TIME[4]=500.0 $RAISE_TIME[5]=450.0 $RAISE_TIME[6]=768.799988 $RAISE_TIME[7]=1500.0 $RAISE_TIME[8]=0.0 $RAISE_TIME[9]=0.0 $RAISE_TIME[10]=0.0 $RAISE_TIME[11]=0.0 $RAISE_TIME[12]=0.0 REAL $RAISE_T_MOT[12] ;MOTORHOCHLAUFZEIT ACHSE[I] (I=1:A1,I=7:E1) [MS] $RAISE_T_MOT[1]=6.80000019 $RAISE_T_MOT[2]=6.80000019 $RAISE_T_MOT[3]=6.80000019 $RAISE_T_MOT[4]=5.0 $RAISE_T_MOT[5]=5.0 $RAISE_T_MOT[6]=5.0 $RAISE_T_MOT[7]=5.0 $RAISE_T_MOT[8]=0.0 $RAISE_T_MOT[9]=0.0 $RAISE_T_MOT[10]=0.0 $RAISE_T_MOT[11]=0.0 $RAISE_T_MOT[12]=0.0 REAL $VEL_AXIS_MA[12] ;NENNDREHZAHL DES MOTORS ACHSE[I] (I=1:A1,I=7:E1) [U/MIN] $VEL_AXIS_MA[1]=4300.0 $VEL_AXIS_MA[2]=4000.0 $VEL_AXIS_MA[3]=4000.0 $VEL_AXIS_MA[4]=3300.0 $VEL_AXIS_MA[5]=3400.0 $VEL_AXIS_MA[6]=4100.0 $VEL_AXIS_MA[7]=3350.0 $VEL_AXIS_MA[8]=0.0 $VEL_AXIS_MA[9]=0.0 $VEL_AXIS_MA[10]=0.0 $VEL_AXIS_MA[11]=0.0 $VEL_AXIS_MA[12]=0.0 INT $VEL_CPT1_MA[12] $VEL_CPT1_MA[1]=29 $VEL_CPT1_MA[2]=29 $VEL_CPT1_MA[3]=29 $VEL_CPT1_MA[4]=29 $VEL_CPT1_MA[5]=29 $VEL_CPT1_MA[6]=29 $VEL_CPT1_MA[7]=29 $VEL_CPT1_MA[8]=29 $VEL_CPT1_MA[9]=29 $VEL_CPT1_MA[10]=29 $VEL_CPT1_MA[11]=29 $VEL_CPT1_MA[12]=29 INT $VEL_DSE_MA[12] ;achsweise Ueberwachungsgrenzen der Geschwindigkeit $VEL_DSE_MA[1]=136 $VEL_DSE_MA[2]=136 $VEL_DSE_MA[3]=136 $VEL_DSE_MA[4]=136 $VEL_DSE_MA[5]=136 $VEL_DSE_MA[6]=136 $VEL_DSE_MA[7]=136 $VEL_DSE_MA[8]=136 $VEL_DSE_MA[9]=136 $VEL_DSE_MA[10]=136 $VEL_DSE_MA[11]=136 $VEL_DSE_MA[12]=136 INT $AXIS_RESO[12] ;AUFLOESUNG DES MESSYSTEMS ACHSE[I] (I=1:A1,I=7:E1) [INKR] $AXIS_RESO[1]=4096 $AXIS_RESO[2]=4096 $AXIS_RESO[3]=4096 $AXIS_RESO[4]=4096 $AXIS_RESO[5]=4096 $AXIS_RESO[6]=4096 $AXIS_RESO[7]=4096 $AXIS_RESO[8]=4096 $AXIS_RESO[9]=4096 $AXIS_RESO[10]=4096 $AXIS_RESO[11]=4096 $AXIS_RESO[12]=4096 INT $RED_VEL_AXC[12] ;REDUZIERFAKTOR FUER AXIALE GESCHWINDIGKEIT BEI ACHSSPEZ. HANDVERFAHREN UND KOMMANDOBETRIEB (PTP) ACHSE[I] (I=1:A1,I=7:E1) [%] $RED_VEL_AXC[1]=7 $RED_VEL_AXC[2]=8 $RED_VEL_AXC[3]=8 $RED_VEL_AXC[4]=5 $RED_VEL_AXC[5]=5 $RED_VEL_AXC[6]=5 $RED_VEL_AXC[7]=60 $RED_VEL_AXC[8]=0 $RED_VEL_AXC[9]=0 $RED_VEL_AXC[10]=0 $RED_VEL_AXC[11]=0 $RED_VEL_AXC[12]=0 INT $RED_ACC_AXC[12] ;REDUZIERFAKTOR FUER AXIALE BESCHLEUNIGUNG BEI ACHSSPEZ. HANDVERFAHREN UND KOMMANDOBETRIEB (PTP) ACHSE[I] (I=1:A1,I=7:E1) [%] $RED_ACC_AXC[1]=15 $RED_ACC_AXC[2]=10 $RED_ACC_AXC[3]=10 $RED_ACC_AXC[4]=10 $RED_ACC_AXC[5]=15 $RED_ACC_AXC[6]=10 $RED_ACC_AXC[7]=60 $RED_ACC_AXC[8]=0 $RED_ACC_AXC[9]=0 $RED_ACC_AXC[10]=0 $RED_ACC_AXC[11]=0 $RED_ACC_AXC[12]=0 INT $RED_ACC_DYN=100 REAL $RED_VEL_CPC=2.0 ;REDUZIERFAKTOR FUER BAHN-UND ORIENTIERUNGSGESCHWINDIGKEIT BEI KARTESISCHEM HANDVERFAHREN UND KOMMANDOBETRIEB [CP] [%] REAL $RED_ACC_CPC=7.0 ;REDUZIERFAKTOR FUER BAHN-UND ORIENTIERUNGSBESCHLEUNIGUNGEN BEI KARTESISCHEM HANDVERFAHREN UND KOMMANDOBETRIEB [CP] [%] REAL $VEL_CP_T1=0.100000001 ;BAHNGESCHWINDIGKEIT IN T1 [M/S] MAX: 0.25 REAL $SPEED_LIMIT_TEACH_MODE=0.25 ;REDUZIERUNG DER TCP- UND FLANSCHGESCHWINDIGKEIT IN [M/S] MAX: 0.25 REAL $RED_JUS_UEB=100.0 ;REDUZIERFAKTOR FUER UEBERNAHMEFAHRT [%] INT $RED_ACC_OV[12] ;AXIALE REDUZIERUNG DER BESCHLEUNIGUNG FUER OVERRIDE ACHSE[I] (I=1:A1,I=7:E1) [%] $RED_ACC_OV[1]=100 $RED_ACC_OV[2]=100 $RED_ACC_OV[3]=100 $RED_ACC_OV[4]=100 $RED_ACC_OV[5]=100 $RED_ACC_OV[6]=100 $RED_ACC_OV[7]=60 $RED_ACC_OV[8]=0 $RED_ACC_OV[9]=0 $RED_ACC_OV[10]=0 $RED_ACC_OV[11]=0 $RED_ACC_OV[12]=0 FRAME $ACC_CAR_TOOL={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;FRAME (ACCORDING TO FLANGE) FOR CARTESIAN ACCELERATION MONITORING DECL ACC_CAR $ACC_CAR_LIMIT={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0,ABS 0.0} ;LIMITS FOR THE CARTESIAN ACCELERATION $ACC_CAR_ACT REAL $RDC2_PHASE_SHIFT_1=0.0 ; Phasenverschiebung der 1. RDW in Grad (-60 - +60) REAL $RDC2_PHASE_SHIFT_2=0.0 ; Phasenverschiebung der 2. RDW in Grad (-60 - +60) BOOL $ACC_CAR_STOP=FALSE ;ENABLE (TRUE) OR DISABLE (FALSE) CARTESIAN ACCELERATION MONITORING INT $RED_ACC_EMX[12] ;REDUZIERFAKTOR FUER BAHNTREUE NOT-AUS-RAMPE [ % ] $RED_ACC_EMX[1]=120 $RED_ACC_EMX[2]=150 $RED_ACC_EMX[3]=180 $RED_ACC_EMX[4]=250 $RED_ACC_EMX[5]=250 $RED_ACC_EMX[6]=250 $RED_ACC_EMX[7]=100 $RED_ACC_EMX[8]=100 $RED_ACC_EMX[9]=100 $RED_ACC_EMX[10]=100 $RED_ACC_EMX[11]=100 $RED_ACC_EMX[12]=100 BOOL $WARMUP_RED_VEL=FALSE ;WARMFAHR-FUNKTIONALITAET EINGESCHALTET REAL $WARMUP_TIME=30.0 ;[MIN] REAL $COOLDOWN_TIME=360.0 ;NACH DIESER ZEIT IM STILLSTAND [MIN] WIRD DER ROBOTER ALS KALT BETRACHTET INT $WARMUP_CURR_LIMIT=99 ;[%] DES MAXIMAL STROM INT $WARMUP_MIN_FAC=60 ;[%] REAL $WARMUP_SLEW_RATE=5.0 ;[%/sec] REAL $ST_TOL_VEL[12] ;GESCHWINDIGKEITSTOLERANZ FUER STILLSTANDSERKENNUNG ACHSE[I] (I=1:A1,I=7:E1) [U_MOT/MIN] $ST_TOL_VEL[1]=15.0 $ST_TOL_VEL[2]=15.0 $ST_TOL_VEL[3]=15.0 $ST_TOL_VEL[4]=15.0 $ST_TOL_VEL[5]=15.0 $ST_TOL_VEL[6]=15.0 $ST_TOL_VEL[7]=15.0 $ST_TOL_VEL[8]=15.0 $ST_TOL_VEL[9]=15.0 $ST_TOL_VEL[10]=15.0 $ST_TOL_VEL[11]=15.0 $ST_TOL_VEL[12]=15.0 INT $ST_TOL_TIME=200 ;ERKENNUNGSZEIT [MS] INT $BOUNCE_TIME=168 ;PRELLZEIT EMT-TASTER [MS] REAL $VEL_AX_JUS[12] ;GESCHWINDIGKEIT BEI EMT-JUSTAGE ACHSE[I] (I=1:A1,I=7:E1) [GRAD/SEC] $VEL_AX_JUS[1]=0.0386999995 $VEL_AX_JUS[2]=0.0538000017 $VEL_AX_JUS[3]=0.0559 $VEL_AX_JUS[4]=0.216999993 $VEL_AX_JUS[5]=0.163000003 $VEL_AX_JUS[6]=0.204999998 $VEL_AX_JUS[7]=0.100000001 $VEL_AX_JUS[8]=0.0 $VEL_AX_JUS[9]=0.0 $VEL_AX_JUS[10]=0.0 $VEL_AX_JUS[11]=0.0 $VEL_AX_JUS[12]=0.0 INT $SEN_DEL[12] ;ZURUECKGELEGTER WEG WAEHREND SIGNALLAUFZEIT IM EMT-TASTER ACHSE[I] (I=1:A1,I=7:E1) [INKR] $SEN_DEL[1]=0 $SEN_DEL[2]=0 $SEN_DEL[3]=0 $SEN_DEL[4]=0 $SEN_DEL[5]=0 $SEN_DEL[6]=0 $SEN_DEL[7]=0 $SEN_DEL[8]=0 $SEN_DEL[9]=0 $SEN_DEL[10]=0 $SEN_DEL[11]=0 $SEN_DEL[12]=0 REAL $L_EMT_MAX[12] ;LAENGE JUSTAGE-WEG EMT ACHSE[I] (I=1:A1,I=7:E1) [GRAD] $L_EMT_MAX[1]=1.60000002 $L_EMT_MAX[2]=1.60000002 $L_EMT_MAX[3]=1.60000002 $L_EMT_MAX[4]=8.0 $L_EMT_MAX[5]=8.0 $L_EMT_MAX[6]=6.4000001 $L_EMT_MAX[7]=10.0 $L_EMT_MAX[8]=0.0 $L_EMT_MAX[9]=0.0 $L_EMT_MAX[10]=0.0 $L_EMT_MAX[11]=0.0 $L_EMT_MAX[12]=0.0 REAL $G_VEL_CAL[12] ;GESCHWINDIGKEITS-FAKTOR FUER DREHZAHLREGLERVERSTAERKUNG $G_VEL_CAL[1]=0.0 $G_VEL_CAL[2]=0.0 $G_VEL_CAL[3]=0.0 $G_VEL_CAL[4]=0.0 $G_VEL_CAL[5]=0.0 $G_VEL_CAL[6]=0.0 $G_VEL_CAL[7]=0.0 $G_VEL_CAL[8]=0.0 $G_VEL_CAL[9]=0.0 $G_VEL_CAL[10]=0.0 $G_VEL_CAL[11]=0.0 $G_VEL_CAL[12]=0.0 REAL $LG_PTP[12] ;KV-FAKTOR PTP ACHSE[I] (I=1:A1,I=7:E1) [1/MS] $LG_PTP[1]=0.699999988 $LG_PTP[2]=0.720000029 $LG_PTP[3]=0.680000007 $LG_PTP[4]=0.400000006 $LG_PTP[5]=0.400000006 $LG_PTP[6]=0.400000006 $LG_PTP[7]=0.300000012 $LG_PTP[8]=0.0 $LG_PTP[9]=0.0 $LG_PTP[10]=0.0 $LG_PTP[11]=0.0 $LG_PTP[12]=0.0 REAL $LG_CP[12] ;KV-FAKTOR BAHN-FAHREN [1/MS] $LG_CP[1]=0.419999987 $LG_CP[2]=0.699999988 $LG_CP[3]=0.419999987 $LG_CP[4]=0.300000012 $LG_CP[5]=0.300000012 $LG_CP[6]=0.300000012 $LG_CP[7]=0.300000012 $LG_CP[8]=0.0 $LG_CP[9]=0.0 $LG_CP[10]=0.0 $LG_CP[11]=0.0 $LG_CP[12]=0.0 REAL $I_LG_PTP[12] ;INTEGRAL-FAKTOR DES LAGEREGLERS PTP ACHSE[I] (I=1:A1,I=7:E1) $I_LG_PTP[1]=0.0 $I_LG_PTP[2]=0.0 $I_LG_PTP[3]=0.0 $I_LG_PTP[4]=0.0 $I_LG_PTP[5]=0.0 $I_LG_PTP[6]=0.0 $I_LG_PTP[7]=0.0 $I_LG_PTP[8]=0.0 $I_LG_PTP[9]=0.0 $I_LG_PTP[10]=0.0 $I_LG_PTP[11]=0.0 $I_LG_PTP[12]=0.0 REAL $I_LG_CP[12] ;INTEGRAL-FAKTOR DES LAGEREGLERS CP ACHSE[I] (I=1:A1,I=7:E1) $I_LG_CP[1]=0.0 $I_LG_CP[2]=0.0 $I_LG_CP[3]=0.0 $I_LG_CP[4]=0.0 $I_LG_CP[5]=0.0 $I_LG_CP[6]=0.0 $I_LG_CP[7]=0.0 $I_LG_CP[8]=0.0 $I_LG_CP[9]=0.0 $I_LG_CP[10]=0.0 $I_LG_CP[11]=0.0 $I_LG_CP[12]=0.0 REAL $TC_SYM=0.100000001 ;ZEITKONST. SYMMETRIERFILTER REAL $DECEL_MB[12] ;BREMSRAMPE BEI GENERATOR. STOP [MS] $DECEL_MB[1]=882.099976 $DECEL_MB[2]=556.900024 $DECEL_MB[3]=296.299988 $DECEL_MB[4]=200.0 $DECEL_MB[5]=180.0 $DECEL_MB[6]=307.5 $DECEL_MB[7]=1500.0 $DECEL_MB[8]=0.0 $DECEL_MB[9]=0.0 $DECEL_MB[10]=0.0 $DECEL_MB[11]=0.0 $DECEL_MB[12]=0.0 INT $G_COE_CUR[12] ;P-VERSTAERKUNG DES STROMREGLERS ACHSE[I] (I=1:A1,I=7:E1) $G_COE_CUR[1]=15 $G_COE_CUR[2]=15 $G_COE_CUR[3]=15 $G_COE_CUR[4]=15 $G_COE_CUR[5]=15 $G_COE_CUR[6]=15 $G_COE_CUR[7]=15 $G_COE_CUR[8]=85 $G_COE_CUR[9]=85 $G_COE_CUR[10]=85 $G_COE_CUR[11]=85 $G_COE_CUR[12]=85 REAL $G_VEL_PTP[12] ;VN-FAKTOR DES DREHZAHLREGLERS PTP ACHSE[I] (I=1:A1,I=7:E1) $G_VEL_PTP[1]=65.0 $G_VEL_PTP[2]=50.0 $G_VEL_PTP[3]=60.0 $G_VEL_PTP[4]=40.0 $G_VEL_PTP[5]=40.0 $G_VEL_PTP[6]=25.0 $G_VEL_PTP[7]=80.0 $G_VEL_PTP[8]=0.0 $G_VEL_PTP[9]=0.0 $G_VEL_PTP[10]=0.0 $G_VEL_PTP[11]=0.0 $G_VEL_PTP[12]=0.0 REAL $G_VEL_CP[12] ;VN-FAKTOR DES DREHZAHLREGLERS CP ACHSE[I] (I=1:A1,I=7:E1) $G_VEL_CP[1]=52.0 $G_VEL_CP[2]=80.0 $G_VEL_CP[3]=32.0 $G_VEL_CP[4]=45.0 $G_VEL_CP[5]=45.0 $G_VEL_CP[6]=30.0 $G_VEL_CP[7]=80.0 $G_VEL_CP[8]=0.0 $G_VEL_CP[9]=0.0 $G_VEL_CP[10]=0.0 $G_VEL_CP[11]=0.0 $G_VEL_CP[12]=0.0 REAL $I_VEL_PTP[12] ;INTEGRAL-FAKTOR DES DREHZAHLREGLERS PTP ACHSE[I] (I=1:A1,I=7:E1) $I_VEL_PTP[1]=900.0 $I_VEL_PTP[2]=800.0 $I_VEL_PTP[3]=800.0 $I_VEL_PTP[4]=200.0 $I_VEL_PTP[5]=200.0 $I_VEL_PTP[6]=200.0 $I_VEL_PTP[7]=800.0 $I_VEL_PTP[8]=0.0 $I_VEL_PTP[9]=0.0 $I_VEL_PTP[10]=0.0 $I_VEL_PTP[11]=0.0 $I_VEL_PTP[12]=0.0 REAL $I_VEL_CP[12] ;INTEGRAL-FAKTOR DES DREHZAHLREGLERS CP ACHSE[I] (I=1:A1,I=7:E1) $I_VEL_CP[1]=575.0 $I_VEL_CP[2]=935.0 $I_VEL_CP[3]=550.0 $I_VEL_CP[4]=100.0 $I_VEL_CP[5]=100.0 $I_VEL_CP[6]=100.0 $I_VEL_CP[7]=800.0 $I_VEL_CP[8]=0.0 $I_VEL_CP[9]=0.0 $I_VEL_CP[10]=0.0 $I_VEL_CP[11]=0.0 $I_VEL_CP[12]=0.0 REAL $VEL_FILT[12] ;TACHO FILTER ACHSE [I] [MS]; VARIABLE HAT AB V5 MIT DSE_C33 KEINEN EINFLUSS! $VEL_FILT[1]=2.5 $VEL_FILT[2]=2.5 $VEL_FILT[3]=2.5 $VEL_FILT[4]=2.5 $VEL_FILT[5]=2.5 $VEL_FILT[6]=2.5 $VEL_FILT[7]=2.5 $VEL_FILT[8]=2.5 $VEL_FILT[9]=2.5 $VEL_FILT[10]=2.5 $VEL_FILT[11]=2.5 $VEL_FILT[12]=2.5 INT $TM_CON_VEL=0 ;MINIMALE KONSTANTFAHRPHASE [MS] REAL $APO_DIS_PTP[12] ;MAXIMALER UEBERSCHLEIFWEG PTP ACHSE[I] (I=1:A1,I=7:E1) [MM,GRAD] $APO_DIS_PTP[1]=90.0 $APO_DIS_PTP[2]=90.0 $APO_DIS_PTP[3]=90.0 $APO_DIS_PTP[4]=90.0 $APO_DIS_PTP[5]=90.0 $APO_DIS_PTP[6]=90.0 $APO_DIS_PTP[7]=90.0 $APO_DIS_PTP[8]=0.0 $APO_DIS_PTP[9]=0.0 $APO_DIS_PTP[10]=0.0 $APO_DIS_PTP[11]=0.0 $APO_DIS_PTP[12]=0.0 DECL CP $ACC_MA={CP 10.0,ORI1 1000.0,ORI2 1000.0} ;CP = MAX. BAHNBESCHLEUNIGUNG [M/SEC2], ORI1 = MAX. SCHWENKBESCHLEUNIGUNG [GRAD/SEC2], ORI2 = MAX. DREHBESCHLEUNIGUNG [GRAD/SEC2] DECL JERK_STRUC $JERK_MA={CP 500.0,ORI 50000.0,AX {A1 1000.0,A2 1000.0,A3 1000.0,A4 1000.0,A5 1000.0,A6 1000.0,E1 1000.0,E2 1000.0,E3 1000.0,E4 1000.0,E5 1000.0,E6 1000.0}} ;Maximaler Ruck CP: [m/s^3], ORI: [deg/^3], AX: [deg/s^3] (rotatorisch) bzw. [m/s^3] (linear) DECL CP $VEL_MA={CP 3.0,ORI1 400.0,ORI2 400.0} ;CP = MAX. BAHNGESCHWINDIGKEIT [M/SEC], ORI1 = MAX. SCHWENKGESCHWINDIGKEIT [GRAD/SEC], ORI2 = MAX. DREHGESCHWINDIGKEIT [GRAD/SEC] DECL CP $ACC_OV={CP 4.5999999,ORI1 200.0,ORI2 200.0} ;CP = BAHNBESCHL. BEI OV.-AEND. [M/SEC2], ORI1 = SCHWENKBESCHL. BEI OV.-AEND. [GRAD/SEC2], ORI2 = DREHBESCHL. BEI OV.-AEND. [GRAD/SEC2] INT $RED_T1=7 ;REDUKTIONSFAKTOR T1 [%] MAX: 15% INT $DEF_FLT_PTP=228 ;DEFAULTFILTER PTP INT $DEF_FLT_CP=180 ;DEFAULTFILTER CP INT $DEF_OV_JOG=10 ;VORBESETZUNG FUER OVERRIDE DECL SW_ONOFF $ANA_DEL_FLT=#OFF ;LR_VERZ. IN ANAOUT DELAY INT $SEQ_CAL[12] ;REFERIER-REIHENFOLGE DER ACHSEN SCHRITT[I] $SEQ_CAL[1]='B0001' $SEQ_CAL[2]='B0010' $SEQ_CAL[3]='B0100' $SEQ_CAL[4]='B1000' $SEQ_CAL[5]='B00010000' $SEQ_CAL[6]='B00100000' $SEQ_CAL[7]='B01000000' $SEQ_CAL[8]='B10000000' $SEQ_CAL[9]='B000100000000' $SEQ_CAL[10]='B001000000000' $SEQ_CAL[11]='B010000000000' $SEQ_CAL[12]='B100000000000' INT $DIR_CAL='B000111111111' ;REFERIER-RICHTUNG INT $RED_CAL_SD=5 ;REDUKTIONSFAKTOR NACH ERREICHEN DES NOCKENS [%] INT $RED_CAL_SF=20 ;REDUKTIONSFAKTOR VOR ERREICHEN DES NOCKENS [%] INT $BRK_MODE='B0101' ;BREMSENSTEUERUNGS-MODUS INT $BRK_OPENTM=56 ;BREMSOEFFNUNGSZEIT [MS] INT $BRK_DEL_COM=10000 ;BREMSVERZOEGERUNGSZEIT KOMMANDO-MODUS [MS] INT $BRK_DEL_PRO=20000 ;BREMSVERZOEGERUNGSZEIT IM PROGRAMM [MS] INT $BRK_DEL_EX=200 ;BREMSVERZOEGERUNGSZEIT FUER ZUSATZACHSEN INT $SERV_OFF_TM[12] ;REGLERSPERRZEIT ACHSE[I] (I=1:A1,I=7:E1) $SERV_OFF_TM[1]=84 $SERV_OFF_TM[2]=84 $SERV_OFF_TM[3]=84 $SERV_OFF_TM[4]=84 $SERV_OFF_TM[5]=84 $SERV_OFF_TM[6]=84 $SERV_OFF_TM[7]=84 $SERV_OFF_TM[8]=84 $SERV_OFF_TM[9]=84 $SERV_OFF_TM[10]=84 $SERV_OFF_TM[11]=84 $SERV_OFF_TM[12]=84 INT $MS_DA[12] ;INAKTIVE LAGEREGELUEBERWACHUNG ACHSE[I] (I=1:A1,I=7:E1) $MS_DA[1]='B0000' $MS_DA[2]='B0000' $MS_DA[3]='B0000' $MS_DA[4]='B0000' $MS_DA[5]='B0000' $MS_DA[6]='B0000' $MS_DA[7]='B0000' $MS_DA[8]='B0000' $MS_DA[9]='B0000' $MS_DA[10]='B0000' $MS_DA[11]='B0000' $MS_DA[12]='B0000' INT $FFC_VEL='B111111111111' ;GESCHWINDIKEITSVORSTEURUNG EIN/AUS BOOL $FFC_TORQ=TRUE ;MOMENTENVORSTEUERUNG EIN/AUS INT $FFC_TORQ_AXIS='B00111111' ;MOMENTENVORSTEUERUNG ACHSWEISE BOOL $GEARTORQ_MON=TRUE ;GETRIEBEMOMENTENUEBERWACHUNG EIN/AUS INT $SERVOMODE[12] ;STEUERUNGSFUNKTIONALITAETEN $SERVOMODE[1]='B0000' $SERVOMODE[2]='B0000' $SERVOMODE[3]='B0000' $SERVOMODE[4]='B0000' $SERVOMODE[5]='B0000' $SERVOMODE[6]='B0000' $SERVOMODE[7]='B0000' $SERVOMODE[8]='B0000' $SERVOMODE[9]='B0000' $SERVOMODE[10]='B0000' $SERVOMODE[11]='B0000' $SERVOMODE[12]='B0000' INT $ACC_ACT_MA=250 ;GRENZWERT SOLLBESCHLEUNIGUNG [%] INT $VEL_ACT_MA=110 ;GRENZWERT SOLLGESCHWINDIGKEIT [%] INT $ILLEGAL_SPEED=200 ; GRENZWERT GESCHWINDIGKEIT VOR FILTER [%] BOOL $MONITOR_ILLEGAL_SPEED=TRUE ; GESCHWINDIGKEITSUEBERWACHUNG VOR FILTER REAL $IN_POS_CAR=0.100000001 ;KARTESISCHES POSITIONIERFENSTER (TRANSLATIONSSTEIL) [MM] REAL $IN_POS_ORI=0.100000001 ;KARTESISCHES POSITIONIERFENSTER (ORIENTIERUNGSTEIL) [DEG] REAL $IN_POS_MA[12] ;POSITIONIERFENSTER ACHSE[I] (I=1:A1,I=7:E1) [MM,GRAD] $IN_POS_MA[1]=0.100000001 $IN_POS_MA[2]=0.100000001 $IN_POS_MA[3]=0.100000001 $IN_POS_MA[4]=0.100000001 $IN_POS_MA[5]=0.100000001 $IN_POS_MA[6]=0.100000001 $IN_POS_MA[7]=0.100000001 $IN_POS_MA[8]=0.0 $IN_POS_MA[9]=0.0 $IN_POS_MA[10]=0.0 $IN_POS_MA[11]=0.0 $IN_POS_MA[12]=0.0 INT $TIME_POS[12] ;POSITIONIERZEIT ACHSE[I] (I=1:A1,I=7:E1) $TIME_POS[1]=512 $TIME_POS[2]=512 $TIME_POS[3]=512 $TIME_POS[4]=512 $TIME_POS[5]=512 $TIME_POS[6]=512 $TIME_POS[7]=512 $TIME_POS[8]=512 $TIME_POS[9]=512 $TIME_POS[10]=512 $TIME_POS[11]=512 $TIME_POS[12]=512 INT $IN_STILL_MA=4 ;FAKTOR FUER STILLSTANDSFENSTER REAL $FOL_ERR_MA[12] ;FAKTOR FUER SCHLEPPFEHLERUEBERWACHUNG $FOL_ERR_MA[1]=20.0 $FOL_ERR_MA[2]=20.0 $FOL_ERR_MA[3]=20.0 $FOL_ERR_MA[4]=20.0 $FOL_ERR_MA[5]=20.0 $FOL_ERR_MA[6]=20.0 $FOL_ERR_MA[7]=20.0 $FOL_ERR_MA[8]=20.0 $FOL_ERR_MA[9]=20.0 $FOL_ERR_MA[10]=20.0 $FOL_ERR_MA[11]=20.0 $FOL_ERR_MA[12]=20.0 INT $VEL_ENC_CO=50 REAL $COM_VAL_MI[12] ;SOLLDREHZAHLBEGRENZUNG ACHSE[I] (I=1:A1,I=7:E1) [%] $COM_VAL_MI[1]=150.0 $COM_VAL_MI[2]=150.0 $COM_VAL_MI[3]=150.0 $COM_VAL_MI[4]=150.0 $COM_VAL_MI[5]=150.0 $COM_VAL_MI[6]=150.0 $COM_VAL_MI[7]=150.0 $COM_VAL_MI[8]=150.0 $COM_VAL_MI[9]=150.0 $COM_VAL_MI[10]=150.0 $COM_VAL_MI[11]=150.0 $COM_VAL_MI[12]=150.0 INT $TL_COM_VAL=50 INT $TOUCH_VEL=50 ;MAXIMALE RUECKZUGSGESCHW. F. TOUCHSENSOR IN % INT $TOUCH_ACC=50 ;RUECKZUGSBESCHL. F. TOUCHSENSOR IN % INT $TOUCH_SVEL=0 ;STARTGESCHW. BEIM TOUCH IN % DER SUCHGESCHW. REAL $SOFTN_END[12] ;SOFTWARE-ENDSCHALTER NEGATIV ACHSE[I] (I=1:A1,I=7:E1) [MM,GRAD] $SOFTN_END[1]=-185.0 $SOFTN_END[2]=-142.0 $SOFTN_END[3]=-120.0 $SOFTN_END[4]=-350.0 $SOFTN_END[5]=-120.0 $SOFTN_END[6]=-350.0 $SOFTN_END[7]=-185.0 $SOFTN_END[8]=0.0 $SOFTN_END[9]=0.0 $SOFTN_END[10]=0.0 $SOFTN_END[11]=0.0 $SOFTN_END[12]=0.0 REAL $SOFTP_END[12] ;SOFTWARE-ENDSCHALTER POSITIV ACHSE[I] (I=1:A1,I=7:E1) [MM,GRAD] $SOFTP_END[1]=185.0 $SOFTP_END[2]=0.0 $SOFTP_END[3]=148.0 $SOFTP_END[4]=350.0 $SOFTP_END[5]=120.0 $SOFTP_END[6]=350.0 $SOFTP_END[7]=185.0 $SOFTP_END[8]=0.0 $SOFTP_END[9]=0.0 $SOFTP_END[10]=0.0 $SOFTP_END[11]=0.0 $SOFTP_END[12]=0.0 DECL AXBOX $AXWORKSPACE[8] ;ACHSSPEZ. ARBEITSRAEUME $AXWORKSPACE[1]={A1_N 0.0,A1_P 0.0,A2_N 0.0,A2_P 0.0,A3_N 0.0,A3_P 0.0,A4_N 0.0,A4_P 0.0,A5_N 0.0,A5_P 0.0,A6_N 0.0,A6_P 0.0,E1_N 0.0,E1_P 0.0,E2_N 0.0,E2_P 0.0,E3_N 0.0,E3_P 0.0,E4_N 0.0,E4_P 0.0,E5_N 0.0,E5_P 0.0,E6_N 0.0,E6_P 0.0,MODE #OFF} $AXWORKSPACE[2]={A1_N 0.0,A1_P 0.0,A2_N 0.0,A2_P 0.0,A3_N 0.0,A3_P 0.0,A4_N 0.0,A4_P 0.0,A5_N 0.0,A5_P 0.0,A6_N 0.0,A6_P 0.0,E1_N 0.0,E1_P 0.0,E2_N 0.0,E2_P 0.0,E3_N 0.0,E3_P 0.0,E4_N 0.0,E4_P 0.0,E5_N 0.0,E5_P 0.0,E6_N 0.0,E6_P 0.0,MODE #OFF} $AXWORKSPACE[3]={A1_N 0.0,A1_P 0.0,A2_N 0.0,A2_P 0.0,A3_N 0.0,A3_P 0.0,A4_N 0.0,A4_P 0.0,A5_N 0.0,A5_P 0.0,A6_N 0.0,A6_P 0.0,E1_N 0.0,E1_P 0.0,E2_N 0.0,E2_P 0.0,E3_N 0.0,E3_P 0.0,E4_N 0.0,E4_P 0.0,E5_N 0.0,E5_P 0.0,E6_N 0.0,E6_P 0.0,MODE #OFF} $AXWORKSPACE[4]={A1_N 0.0,A1_P 0.0,A2_N 0.0,A2_P 0.0,A3_N 0.0,A3_P 0.0,A4_N 0.0,A4_P 0.0,A5_N 0.0,A5_P 0.0,A6_N 0.0,A6_P 0.0,E1_N 0.0,E1_P 0.0,E2_N 0.0,E2_P 0.0,E3_N 0.0,E3_P 0.0,E4_N 0.0,E4_P 0.0,E5_N 0.0,E5_P 0.0,E6_N 0.0,E6_P 0.0,MODE #OFF} $AXWORKSPACE[5]={A1_N 0.0,A1_P 0.0,A2_N 0.0,A2_P 0.0,A3_N 0.0,A3_P 0.0,A4_N 0.0,A4_P 0.0,A5_N 0.0,A5_P 0.0,A6_N 0.0,A6_P 0.0,E1_N 0.0,E1_P 0.0,E2_N 0.0,E2_P 0.0,E3_N 0.0,E3_P 0.0,E4_N 0.0,E4_P 0.0,E5_N 0.0,E5_P 0.0,E6_N 0.0,E6_P 0.0,MODE #OFF} $AXWORKSPACE[6]={A1_N 0.0,A1_P 0.0,A2_N 0.0,A2_P 0.0,A3_N 0.0,A3_P 0.0,A4_N 0.0,A4_P 0.0,A5_N 0.0,A5_P 0.0,A6_N 0.0,A6_P 0.0,E1_N 0.0,E1_P 0.0,E2_N 0.0,E2_P 0.0,E3_N 0.0,E3_P 0.0,E4_N 0.0,E4_P 0.0,E5_N 0.0,E5_P 0.0,E6_N 0.0,E6_P 0.0,MODE #OFF} $AXWORKSPACE[7]={A1_N 0.0,A1_P 0.0,A2_N 0.0,A2_P 0.0,A3_N 0.0,A3_P 0.0,A4_N 0.0,A4_P 0.0,A5_N 0.0,A5_P 0.0,A6_N 0.0,A6_P 0.0,E1_N 0.0,E1_P 0.0,E2_N 0.0,E2_P 0.0,E3_N 0.0,E3_P 0.0,E4_N 0.0,E4_P 0.0,E5_N 0.0,E5_P 0.0,E6_N 0.0,E6_P 0.0,MODE #OFF} $AXWORKSPACE[8]={A1_N 0.0,A1_P 0.0,A2_N 0.0,A2_P 0.0,A3_N 0.0,A3_P 0.0,A4_N 0.0,A4_P 0.0,A5_N 0.0,A5_P 0.0,A6_N 0.0,A6_P 0.0,E1_N 0.0,E1_P 0.0,E2_N 0.0,E2_P 0.0,E3_N 0.0,E3_P 0.0,E4_N 0.0,E4_P 0.0,E5_N 0.0,E5_P 0.0,E6_N 0.0,E6_P 0.0,MODE #OFF} CHAR $AXWORKSPACE_NAME1[24] $AXWORKSPACE_NAME1[]="AXWORKSPACE_NAME 1" CHAR $AXWORKSPACE_NAME2[24] $AXWORKSPACE_NAME2[]="AXWORKSPACE_NAME 2" CHAR $AXWORKSPACE_NAME3[24] $AXWORKSPACE_NAME3[]="AXWORKSPACE_NAME 3" CHAR $AXWORKSPACE_NAME4[24] $AXWORKSPACE_NAME4[]="AXWORKSPACE_NAME 4" CHAR $AXWORKSPACE_NAME5[24] $AXWORKSPACE_NAME5[]="AXWORKSPACE_NAME 5" CHAR $AXWORKSPACE_NAME6[24] $AXWORKSPACE_NAME6[]="AXWORKSPACE_NAME 6" CHAR $AXWORKSPACE_NAME7[24] $AXWORKSPACE_NAME7[]="AXWORKSPACE_NAME 7" CHAR $AXWORKSPACE_NAME8[24] $AXWORKSPACE_NAME8[]="AXWORKSPACE_NAME 8" INT $BRK_MAX_TM=1000 ;MAX. BREMSZEIT [MS] INT $EMSTOP_TIME=100 ;ZEITUEBERWACHUNG FUER NOT_STOP [MS] INT $ACT_VAL_DIF=6 ;GEBERISTWERTDIFFERENZ [INKR] CHAR $TRAFONAME[32] ;NAME DER KOORDINATENTRANSFORMATION $TRAFONAME[]="#KR200L170_CPT S C2 FLR ZH04" ;MAXIMAL 32 ZEICHEN DECL KINCLASS $KINCLASS=#STANDARD ;KINEMATIKKLASSEN (STANDARD,SPECIAL,TEST,NONE) INT $AX_SIM_ON='B0000' ;ACHSSIMULATION INT $SIMULATED_AXIS='B0000' ;Simulation von Roboterachsen INT $ACTIVE_AXIS_MASK='B00111111' ;Aktive Verfahrtasten, achsspez. INT $ACTIVE_KAR_MASK='B00111111' ;Aktive Verfahrtasten, kartesisch INT $TRAFO_AXIS=6 ;ANZAHL DER TRANSFORMIERTEN ACHSEN DECL MAIN_AXIS $MAIN_AXIS=#NR ;GRUNDACHSENKENNUNG (SS = PORTAL, CC = SCARA, NR = GELENKROBOTER) DECL WRIST_AXIS $WRIST_AXIS=#ZEH ;HANDACHSENKENNUNG (NOH = KEINE HAND, ZEH = ZENTRALHAND, SRH = SCHRAEGHAND DSH = DOPPELSCHRAEGHAND, WIH = WINKELHAND, WSH = WINKELSCHRAEGHAND INT $A4PAR=0 ;0=ACHSE 4 NICHT PARALLEL, 1=ACHSE 4 PARALLEL ZUR LETZEN ROTATORISCHEN GRUNDACHSE, 2=SONDERKINEMATIK: ACHSE 4 IMMER PARALLEL ZUR Z-IRO ACHSE BOOL $DEF_A4FIX=FALSE ;ACHSE 4 FIXIERT BOOL $DEF_A5LINK=FALSE ;4-ACHS-PALETTIERER ( A4=0 GRAD; A5 WIRD UEBER PARALLELOGRAMM GEFUEHRT ) INT $SPINDLE=0 ;SPINDELN (0 = NEIN, 1 = JA) INT $AXIS_SEQ[6] ;UMORDNUNG VON ACHSE[I] (I=1:A1,I=7:E1) $AXIS_SEQ[1]=1 $AXIS_SEQ[2]=2 $AXIS_SEQ[3]=3 $AXIS_SEQ[4]=4 $AXIS_SEQ[5]=5 $AXIS_SEQ[6]=6 INT $AXIS_DIR[12] ;DREHRICHTUNG DER ACHSE[I] (I=1:A1,I=7:E1) $AXIS_DIR[1]=-1 $AXIS_DIR[2]=1 $AXIS_DIR[3]=1 $AXIS_DIR[4]=-1 $AXIS_DIR[5]=-1 $AXIS_DIR[6]=-1 $AXIS_DIR[7]=1 $AXIS_DIR[8]=1 $AXIS_DIR[9]=1 $AXIS_DIR[10]=1 $AXIS_DIR[11]=1 $AXIS_DIR[12]=1 REAL $INC_AXIS[6] ;SCHRITTMASS ACHSSPEZIFISCH $INC_AXIS[1]=10.0 $INC_AXIS[2]=10.0 $INC_AXIS[3]=10.0 $INC_AXIS[4]=10.0 $INC_AXIS[5]=10.0 $INC_AXIS[6]=10.0 REAL $INC_EXTAX[6] ;SCHRITTMASS ACHSSPEZIFISCH EXTERNE ACHSEN $INC_EXTAX[1]=10.0 $INC_EXTAX[2]=10.0 $INC_EXTAX[3]=10.0 $INC_EXTAX[4]=10.0 $INC_EXTAX[5]=10.0 $INC_EXTAX[6]=10.0 REAL $INC_CAR[6] ;SCHRITTMASS KARTESISCH WERKZEUGBEZOGEN $INC_CAR[1]=100.0 $INC_CAR[2]=100.0 $INC_CAR[3]=100.0 $INC_CAR[4]=10.0 $INC_CAR[5]=10.0 $INC_CAR[6]=10.0 INT $POS_SWB[3] ;S-SCHALTBAR $POS_SWB[1]=0 ;S-SCHALTBAR; UEBERKOPF (O = NEIN, 1 = JA) $POS_SWB[2]=0 ;S-SCHALTBAR; ACHSE 2-3 (0 = NEIN, 1 = JA) $POS_SWB[3]=0 ;S-SCHALTBAR; ACHSE 5 (0 = NEIN, 1 = JA) INT $SINGUL_POS[3] ;BEHANDLUNG UNDEFINIERTER GELENKSTELLUNGEN BEI VORGABE EINES SINGULAEREN PTP-PUNKTES $SINGUL_POS[1]=0 ;BEHANDLUNG EINER UNDEFINIERTER GELENKSTELLUNG (0 = THETA=0, 1 = THETA=THETA ALT) $SINGUL_POS[2]=0 ;BEHANDLUNG EINER UNDEFINIERTER GELENKSTELLUNG (0 = THETA=0, 1 = THETA=THETA ALT) $SINGUL_POS[3]=0 ;BEHANDLUNG EINER UNDEFINIERTER GELENKSTELLUNG (0 = THETA=0, 1 = THETA=THETA ALT) REAL $DIS_WRP1=1410.0 ;MITTLERER ABSTAND HANDPUNKT ZUR SINGULARITAET 1 REAL $DIS_WRP2=0.0 ;MITTLERER ABSTAND HANDPUNKT ZUR SINGULARITAET 2 INT $ORI_CHECK=0 ;ORIENTIERUNGSPRUEFUNG AN CP-ENDPUNKTEN (NUR BEIM 5 ACHSER) FRAME $TIRORO={X 0.0,Y 0.0,Z 750.0,A 0.0,B 0.0,C 0.0} ;FRAME ZWISCHEN INTERNEN ROBOTERKOORDINATENSYSTEM UND ROBOTERKOORDINATENSYSTEM FRAME $TFLWP={X 0.0,Y 0.0,Z 210.0,A 0.0,B 0.0,C 0.0} ;FRAME ZWISCHEN FLANSCH- UND HANDPUNKTKOORDINATENSYSTEM FRAME $TX3P3={X 1200.0,Y 0.0,Z -45.0,A 0.0,B 90.0,C 0.0} ;ANBRINGUNG DER ROBOTERHAND REAL $LENGTH_A=350.0 ;GRUNDACHSLAENGE A REAL $LENGTH_B=1050.0 ;GRUNDACHSLAENGE B DECL DHART $DH_4={DHART_A 0.0,DHART_D 0.0,DHART_ALPHA 90.0} ;A = LAENGE A, D = LAENGE D, ALPHA = WINKEL ALPHA DECL DHART $DH_5={DHART_A 0.0,DHART_D 0.0,DHART_ALPHA -90.0} ;A = LAENGE A, D = LAENGE D, ALPHA = WINKEL ALPHA DECL SPIN $SPIN_A={SPIN_AXIS 0,SPIN_RAD_G 0.0,SPIN_RAD_H 0.0,SPIN_SG 0,SPIN_BETA 0.0} ;AXIS = ACHSE,AUF DIE DIE SPINDEL WIRKT, RAD_G = RADIUS G, RAD_H = RADIUS H SG = VORZEICHEN, BETA = WINKELVERSATZ DECL SPIN $SPIN_B={SPIN_AXIS 0,SPIN_RAD_G 0.0,SPIN_RAD_H 0.0,SPIN_SG 0,SPIN_BETA 0.0} DECL SPIN $SPIN_C={SPIN_AXIS 0,SPIN_RAD_G 0.0,SPIN_RAD_H 0.0,SPIN_SG 0,SPIN_BETA 0.0} DECL TRPSPIN $TRP_A={TRPSP_AXIS 0,TRPSP_COP_AX 0,TRPSP_A 0.0,TRPSP_B 0.0,TRPSP_C 0.0,TRPSP_D 0.0} ;AXIS = UEBER TRAPEZ ANGETRIEBENE ACHSE, COP_AXIS = KOPPELNDE ACHSE, A = TRAPEZLAENGE A, B= TRAPEZLAENGE B, C = TRAPEZLAENGE C, D = TRAPEZLAENGE D REAL $SPC_KIN[30] ;SONDERKINEMATIKEN $SPC_KIN[1]=0.0 ;A-PARAMETER FUER GRENZEBACHKINEMATIK $SPC_KIN[2]=0.0 ;D-PARAMETER FUER GRENZEBACHKINEMATIK $SPC_KIN[3]=0.0 $SPC_KIN[4]=0.0 $SPC_KIN[5]=0.0 $SPC_KIN[6]=0.0 $SPC_KIN[7]=0.0 $SPC_KIN[8]=0.0 $SPC_KIN[9]=0.0 $SPC_KIN[10]=0.0 $SPC_KIN[11]=0.0 $SPC_KIN[12]=0.0 $SPC_KIN[13]=0.0 $SPC_KIN[14]=0.0 $SPC_KIN[15]=0.0 $SPC_KIN[16]=0.0 $SPC_KIN[17]=0.0 $SPC_KIN[18]=0.0 $SPC_KIN[19]=0.0 $SPC_KIN[20]=0.0 $SPC_KIN[21]=0.0 $SPC_KIN[22]=0.0 $SPC_KIN[23]=0.0 $SPC_KIN[24]=0.0 $SPC_KIN[25]=0.0 $SPC_KIN[26]=0.0 $SPC_KIN[27]=0.0 $SPC_KIN[28]=0.0 $SPC_KIN[29]=0.0 $SPC_KIN[30]=0.0 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 ) INT $ASYNC_EX_AX_DECOUPLE='B0000' ;BITFELD FUER ABGEKOPPELTE ZUSATZACHSEN DECL EX_KIN $EX_KIN={ET1 #NONE,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 #NONE,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[]=" " FRAME $ET1_TA1KR={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,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 0.0,B 0.0,C 0.0} ;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 DECL ET_AX $ET2_AX={TR_A1 #NONE,TR_A2 #NONE,TR_A3 #NONE} ;EXTERNE ACHSEN #NONE, #E1, #E2, #E3, #E4, #E5, #E6 CHAR $ET2_NAME[20] ;NAME DER TRANSFORMATION ET2 MAX. 20 ZEICHEN $ET2_NAME[]=" " FRAME $ET2_TA1KR={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;FRAME ZWISCHEN A1 UND FUSSPUNKT DER KIN IN TRAFO ET2 FRAME $ET2_TA2A1={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN A2 UND A1 FRAME $ET2_TA3A2={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN A3 UND A2 FRAME $ET2_TFLA3={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN FL UND A3 FRAME $ET2_TPINFL={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN MESSPUNKT UND FL DECL ET_AX $ET3_AX={TR_A1 #NONE,TR_A2 #NONE,TR_A3 #NONE} ;EXTERNE ACHSEN #NONE, #E1, #E2, #E3, #E4, #E5, #E6 CHAR $ET3_NAME[20] ;NAME DER TRANSFORMATION ET3 MAX. 20 ZEICHEN $ET3_NAME[]=" " FRAME $ET3_TA1KR={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;FRAME ZWISCHEN A1 UND FUSSPUNKT DER KIN IN TRAFO ET3 FRAME $ET3_TA2A1={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN A2 UND A1 FRAME $ET3_TA3A2={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN A3 UND A2 FRAME $ET3_TFLA3={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN FL UND A3 FRAME $ET3_TPINFL={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN MESSPUNKT UND FL DECL ET_AX $ET4_AX={TR_A1 #NONE,TR_A2 #NONE,TR_A3 #NONE} ;EXTERNE ACHSEN #NONE, #E1, #E2, #E3, #E4, #E5, #E6 CHAR $ET4_NAME[20] ;NAME DER TRANSFORMATION ET4 MAX. 20 ZEICHEN $ET4_NAME[]=" " FRAME $ET4_TA1KR={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;FRAME ZWISCHEN A1 UND FUSSPUNKT DER KIN IN TRAFO ET4 FRAME $ET4_TA2A1={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN A2 UND A1 FRAME $ET4_TA3A2={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN A3 UND A2 FRAME $ET4_TFLA3={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN FL UND A3 FRAME $ET4_TPINFL={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN MESSPUNKT UND FL DECL ET_AX $ET5_AX={TR_A1 #NONE,TR_A2 #NONE,TR_A3 #NONE} ;EXTERNE ACHSEN #NONE, #E1, #E2, #E3, #E4, #E5, #E6 CHAR $ET5_NAME[20] ;NAME DER TRANSFORMATION ET5 MAX. 20 ZEICHEN $ET5_NAME[]=" " FRAME $ET5_TA1KR={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;FRAME ZWISCHEN A1 UND FUSSPUNKT DER KIN IN TRAFO ET5 FRAME $ET5_TA2A1={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN A2 UND A1 FRAME $ET5_TA3A2={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN A3 UND A2 FRAME $ET5_TFLA3={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN FL UND A3 FRAME $ET5_TPINFL={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN MESSPUNKT UND FL DECL ET_AX $ET6_AX={TR_A1 #NONE,TR_A2 #NONE,TR_A3 #NONE} ;EXTERNE ACHSEN #NONE, #E1, #E2, #E3, #E4, #E5, #E6 CHAR $ET6_NAME[20] ;NAME DER TRANSFORMATION ET6 MAX. 20 ZEICHEN $ET6_NAME[]=" " FRAME $ET6_TA1KR={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;FRAME ZWISCHEN A1 UND FUSSPUNKT DER KIN IN TRAFO ET6 FRAME $ET6_TA2A1={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN A2 UND A1 FRAME $ET6_TA3A2={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN A3 UND A2 FRAME $ET6_TFLA3={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN FL UND A3 FRAME $ET6_TPINFL={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;ZWISCHEN MESSPUNKT UND FL E6AXIS $H_POS={A1 0.0,A2 -90.0,A3 90.0,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 $AXIS_HOME[5] $AXIS_HOME[1]={A1 0.0,A2 -90.0,A3 90.0,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.0,A3 90.0,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.0,A3 90.0,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.0,A3 90.0,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.0,A3 90.0,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.0,A2 2.0,A3 2.0,A4 2.0,A5 2.0,A6 2.0,E1 2.0,E2 2.0,E3 2.0,E4 2.0,E5 2.0,E6 2.0} E6AXIS $H_AXIS_TOL[5] ;TOLERANZFENSTER FUER ERREICHEN DER HOME-STELLUNG $AXIS_HOME[.] $H_AXIS_TOL[1]={A1 2.0,A2 2.0,A3 2.0,A4 2.0,A5 2.0,A6 2.0,E1 2.0,E2 2.0,E3 2.0,E4 2.0,E5 2.0,E6 2.0} $H_AXIS_TOL[2]={A1 2.0,A2 2.0,A3 2.0,A4 2.0,A5 2.0,A6 2.0,E1 2.0,E2 2.0,E3 2.0,E4 2.0,E5 2.0,E6 2.0} $H_AXIS_TOL[3]={A1 2.0,A2 2.0,A3 2.0,A4 2.0,A5 2.0,A6 2.0,E1 2.0,E2 2.0,E3 2.0,E4 2.0,E5 2.0,E6 2.0} $H_AXIS_TOL[4]={A1 2.0,A2 2.0,A3 2.0,A4 2.0,A5 2.0,A6 2.0,E1 2.0,E2 2.0,E3 2.0,E4 2.0,E5 2.0,E6 2.0} $H_AXIS_TOL[5]={A1 2.0,A2 2.0,A3 2.0,A4 2.0,A5 2.0,A6 2.0,E1 2.0,E2 2.0,E3 2.0,E4 2.0,E5 2.0,E6 2.0} BOOL $CABLE2_MON=FALSE ;ANGABE, OB DER ANSCHLUSS DES ZWEITEN MOTORKABELS UEBERPRUEFT WERDEN SOLL (TRUE BEI SONDERMASCHINEN). DECL REAL $ASR_ERROR[12] ;SCHLUPFGRENZE IN % $ASR_ERROR[1]=0.0 $ASR_ERROR[2]=0.0 $ASR_ERROR[3]=0.0 $ASR_ERROR[4]=0.0 $ASR_ERROR[5]=0.0 $ASR_ERROR[6]=0.0 $ASR_ERROR[7]=0.0 $ASR_ERROR[8]=0.0 $ASR_ERROR[9]=0.0 $ASR_ERROR[10]=0.0 $ASR_ERROR[11]=0.0 $ASR_ERROR[12]=0.0 DECL FRA $RAT_EXT_ENC[12] ;UEBERSETZUNG SENSORRAD-SENSOR $RAT_EXT_ENC[1]={N 0,D 1} $RAT_EXT_ENC[2]={N 0,D 1} $RAT_EXT_ENC[3]={N 0,D 1} $RAT_EXT_ENC[4]={N 0,D 1} $RAT_EXT_ENC[5]={N 0,D 1} $RAT_EXT_ENC[6]={N 0,D 1} $RAT_EXT_ENC[7]={N 0,D 1} $RAT_EXT_ENC[8]={N 0,D 1} $RAT_EXT_ENC[9]={N 0,D 1} $RAT_EXT_ENC[10]={N 0,D 1} $RAT_EXT_ENC[11]={N 0,D 1} $RAT_EXT_ENC[12]={N 0,D 1} INT $AX_ENERGY_MAX[12] ;MAX. KINETISCHE ENERGIE DER ACHSE [J] $AX_ENERGY_MAX[1]=3888 $AX_ENERGY_MAX[2]=4529 $AX_ENERGY_MAX[3]=1692 $AX_ENERGY_MAX[4]=517 $AX_ENERGY_MAX[5]=634 $AX_ENERGY_MAX[6]=890 $AX_ENERGY_MAX[7]=3005 $AX_ENERGY_MAX[8]=3680 $AX_ENERGY_MAX[9]=3680 $AX_ENERGY_MAX[10]=3680 $AX_ENERGY_MAX[11]=3680 $AX_ENERGY_MAX[12]=3680 INT $BRK_ENERGY_MAX[12] ;MAX. ZULAESSIGE BREMSENERGIE [J] $BRK_ENERGY_MAX[1]=6855 $BRK_ENERGY_MAX[2]=7558 $BRK_ENERGY_MAX[3]=7558 $BRK_ENERGY_MAX[4]=1850 $BRK_ENERGY_MAX[5]=1850 $BRK_ENERGY_MAX[6]=1850 $BRK_ENERGY_MAX[7]=7235 $BRK_ENERGY_MAX[8]=4600 $BRK_ENERGY_MAX[9]=4600 $BRK_ENERGY_MAX[10]=4600 $BRK_ENERGY_MAX[11]=4600 $BRK_ENERGY_MAX[12]=4600 REAL $BRK_COOL_OFF_COEFF[12] ;ABKUEHLFAKTOR DER BREMSE [J/S] $BRK_COOL_OFF_COEFF[1]=38.0 $BRK_COOL_OFF_COEFF[2]=42.0 $BRK_COOL_OFF_COEFF[3]=42.0 $BRK_COOL_OFF_COEFF[4]=30.7999992 $BRK_COOL_OFF_COEFF[5]=30.7999992 $BRK_COOL_OFF_COEFF[6]=30.7999992 $BRK_COOL_OFF_COEFF[7]=40.0 $BRK_COOL_OFF_COEFF[8]=9.19999981 $BRK_COOL_OFF_COEFF[9]=9.19999981 $BRK_COOL_OFF_COEFF[10]=9.19999981 $BRK_COOL_OFF_COEFF[11]=9.19999981 $BRK_COOL_OFF_COEFF[12]=9.19999981 REAL $BRK_TORQUE[12] ;DYNAMISCHES BREMSMOMENT [NM] $BRK_TORQUE[1]=21.0 $BRK_TORQUE[2]=33.0 $BRK_TORQUE[3]=33.0 $BRK_TORQUE[4]=20.0 $BRK_TORQUE[5]=20.0 $BRK_TORQUE[6]=20.0 $BRK_TORQUE[7]=33.0 $BRK_TORQUE[8]=20.0 $BRK_TORQUE[9]=20.0 $BRK_TORQUE[10]=20.0 $BRK_TORQUE[11]=20.0 $BRK_TORQUE[12]=20.0 DECL REAL $SR_BRK_POLY[8,7] ;KURZSCHLUSSBREMSTABELLE $SR_BRK_POLY[1,1]=0.0 $SR_BRK_POLY[1,2]=0.0 $SR_BRK_POLY[1,3]=0.0 $SR_BRK_POLY[1,4]=0.0 $SR_BRK_POLY[1,5]=0.0 $SR_BRK_POLY[1,6]=0.0 $SR_BRK_POLY[1,7]=0.0 $SR_BRK_POLY[2,1]=0.0 $SR_BRK_POLY[2,2]=0.0 $SR_BRK_POLY[2,3]=0.0 $SR_BRK_POLY[2,4]=0.0 $SR_BRK_POLY[2,5]=0.0 $SR_BRK_POLY[2,6]=0.0 $SR_BRK_POLY[2,7]=0.0 $SR_BRK_POLY[3,1]=0.0 $SR_BRK_POLY[3,2]=0.0 $SR_BRK_POLY[3,3]=0.0 $SR_BRK_POLY[3,4]=0.0 $SR_BRK_POLY[3,5]=0.0 $SR_BRK_POLY[3,6]=0.0 $SR_BRK_POLY[3,7]=0.0 $SR_BRK_POLY[4,1]=0.0 $SR_BRK_POLY[4,2]=0.0 $SR_BRK_POLY[4,3]=0.0 $SR_BRK_POLY[4,4]=0.0 $SR_BRK_POLY[4,5]=0.0 $SR_BRK_POLY[4,6]=0.0 $SR_BRK_POLY[4,7]=0.0 $SR_BRK_POLY[5,1]=0.0 $SR_BRK_POLY[5,2]=0.0 $SR_BRK_POLY[5,3]=0.0 $SR_BRK_POLY[5,4]=0.0 $SR_BRK_POLY[5,5]=0.0 $SR_BRK_POLY[5,6]=0.0 $SR_BRK_POLY[5,7]=0.0 $SR_BRK_POLY[6,1]=0.0 $SR_BRK_POLY[6,2]=0.0 $SR_BRK_POLY[6,3]=0.0 $SR_BRK_POLY[6,4]=0.0 $SR_BRK_POLY[6,5]=0.0 $SR_BRK_POLY[6,6]=0.0 $SR_BRK_POLY[6,7]=0.0 $SR_BRK_POLY[7,1]=0.0 $SR_BRK_POLY[7,2]=0.0 $SR_BRK_POLY[7,3]=0.0 $SR_BRK_POLY[7,4]=0.0 $SR_BRK_POLY[7,5]=0.0 $SR_BRK_POLY[7,6]=0.0 $SR_BRK_POLY[7,7]=0.0 $SR_BRK_POLY[8,1]=0.0 $SR_BRK_POLY[8,2]=0.0 $SR_BRK_POLY[8,3]=0.0 $SR_BRK_POLY[8,4]=0.0 $SR_BRK_POLY[8,5]=0.0 $SR_BRK_POLY[8,6]=0.0 $SR_BRK_POLY[8,7]=0.0 DECL REAL $SR_CART_BRK_POLY[8,2] ; POLYGONZUG DER MAXIMALEN KARTESISCHEN BREMSWEGE $SR_CART_BRK_POLY[1,1]=0.0 $SR_CART_BRK_POLY[1,2]=0.0 $SR_CART_BRK_POLY[2,1]=0.0 $SR_CART_BRK_POLY[2,2]=0.0 $SR_CART_BRK_POLY[3,1]=0.0 $SR_CART_BRK_POLY[3,2]=0.0 $SR_CART_BRK_POLY[4,1]=0.0 $SR_CART_BRK_POLY[4,2]=0.0 $SR_CART_BRK_POLY[5,1]=0.0 $SR_CART_BRK_POLY[5,2]=0.0 $SR_CART_BRK_POLY[6,1]=0.0 $SR_CART_BRK_POLY[6,2]=0.0 $SR_CART_BRK_POLY[7,1]=0.0 $SR_CART_BRK_POLY[7,2]=0.0 $SR_CART_BRK_POLY[8,1]=0.0 $SR_CART_BRK_POLY[8,2]=0.0 DECL MAXTOOL $SR_MAX_TOOL={LOAD_CM_R 0.0,LOAD_CM_Z 0.0,LOAD_M 0.0,LOAD_J 0.0,TOOL_R 0.0,TOOL_Z 0.0} ; TOOLGRENZEN FUER GUELTIGKEIT VON $SR_CART_BRK_POLY DECL REAL $SR_TIME_D=0.0 ;REAKTIONSZEIT DSE-DREHZAHLSTOPP DECL REAL $SR_TIME_N=0.100000001 ;Sicherheitsfaktor Overrideregelung SafeRobot REAL $AXIS_JERK[12] ; ERLAUBTER ACHSRUCK [DEG/S^3] / [M/S^3] $AXIS_JERK[1]=7379.0 $AXIS_JERK[2]=8939.2998 $AXIS_JERK[3]=13490.7998 $AXIS_JERK[4]=20626.5 $AXIS_JERK[5]=23391.8008 $AXIS_JERK[6]=22254.6992 $AXIS_JERK[7]=1.E+20 $AXIS_JERK[8]=1.00000002E+20 $AXIS_JERK[9]=1.00000002E+20 $AXIS_JERK[10]=1.00000002E+20 $AXIS_JERK[11]=1.00000002E+20 $AXIS_JERK[12]=1.00000002E+20 ENDDAT
-
If everything works until the last bearing is installed, that strongly suggests a mechanical binding issue.
-
If everything works until the last bearing is installed, that strongly suggests a mechanical binding issue.Thank you.
I dismantled the worm and my employee had made a mistake in assembling the worm.
He mounted a washer in the wrong place that was holding the worm.
I mounted the shaft with the washer in the correct position and behold, I can already move the reel with a finger even with a 3-ton stone on the table.
Tomorow i will mount the motor and see if is everything ok.
How can i tune with osciloscope ? I tried to produce graph in the osciloscope menu but without success.
There are some type of manual to tune ?Thank you
-
It's in the manual. I've attached an excerpt.
If the axis does not operate smoothly ('bouncing' at the start/stop of motions, extremely slow accel/decel), the O-Scope is used to trace the servo behavior. The G_VEL_ and I_VEL_ values for that axis need to be tuned as the P and I factors of a PID loop, respectively. Usually by reducing both to very small values, slowly increasing G_VEL_ until the axis begins to oscillate, then backing it off and then increasing I_VEL_ gradually.
-
Finaly i had some free time to work with the osciloscope.
I run
PTP E1 0
PTP E1 90
PTP E1 0
PTP E1 90
...
...I put comandade value E1 and actual value.
Comanded velocity and actual valocity.
Is the osciloscope good ?
I dont know. The error i think is good. -
Motor is only reaching 20% or so of the rated speed. Current is under 4A which is nothing. If that is load and speed at which you intend to operate, this is good.
-
Ideally, for tuning the PI gains, you would want to have the Commanded and Actual positions in the Trace. Positional traces, in my experience, are more sensitive than Velocity traces, especially at the start/end of motions. You particularly want to look for any overshoot and "ringing" in the positional trace when the axis is attempting to come to a stop.
http://support.motioneng.com/d…tuning/pid_overdamped.htm
But yes, your Velocity traces look quite good -- if you had any serious PI gain issues that needed tuning, I would expect to see more divergence between the Commanded and Actual.
But, as Panic says, to be sure, you need to repeat this Trace while pushing the axis at your intended highest speed&load conditions -- settings that work perfectly at low speeds may start to fail at higher speeds. Ideally, set up the trace and then run a test motion in Automatic, at 100% speed.
-
Hi again.
So many time elapsed searching for a dedicated spindle for my robot, last year i am with one borrowed.
Finaly i got one and i am trying to figure out to control the motor with the vfd.
I configure the beckoff module, i can set the VFD to run and set the RPM i want.
Thank you all for that. i read a lots of posts in this forum.
The problem is when i run my milling program in the start of program i set OUT[9]=true.
But when i press emergency stop the motor doesn't stop. the output is still active.
I already read that i can work with submit interpreter (plc user) and with interrupts.
What i need is:
1. if robot error when program is running the motor / water need to stop.
2. when clear the robot error and continue the milling program the motor need to start to work again and open water (only one intruction to set out true in the beggining of the src)
3. if water fail / motor temperature / VFD fail / or some IN[] = true set message and pause robot, better change the $OV_PRO ? $MOVE_ENABLE ? or $DRIVES_OFF ?
If you can give me some guidance to begin working i aprreciate.
-
read pinned topic READ FIRST
it will tell you many things including key manuals and where to find them.
then you can check System Variable manual to see what variable corresponds to Emergency Stop (it is $ALARM_STOP)
you can use that to either backup/restore output value or to create intermediate value and control the output based on that.
for example in your program, instead of
$OUT[34] = TRUE ; water pump
you can do something like
$OUT[834] = TRUE ; water pump "as programmed"
and then in SPS add:
$OUT[34] = $ALARM_STOP AND $OUT[834]; water pump
also in SPS you could add
IF (WaterFail OR ... OR ... OR ... ) THEN
$OV_PRO=0
ENDIF
-
Hi,
Thank you panic for correct guidance. It makes sense now. I have to try it.
I am trying to configure the sps and strange thing appen already three or four times.
The light from the KCP goes to 40% or 50% and errors appear:
310 Safety circuit for drives not ready
328 KCP connection error Whatchdog_error
364 Unknown Operation Mode (?)
And the softkeys stop working.
Already dissassemble the X19 cable, verify every one for continuity, is good.
If i let the robot off for some time, the KCP boot good and i can do everything with the robot.
Then alone the light from the KCP LCD goes 50 or 40% off and errors appear / softkeys stop working.
May be the KCP LCD ? batteries ? DSE board ? the KCP itself ? only the KCP membrane ?
I dont have spare parts to try.
Any toughts ?
Thank you.
-
maybe.. could be faulty hardware, like short in the cable (you only checked for continuity, not for absence of it), safety circuit power problem (or maybe result of one of connected devices experiencing excessive current draw) etc. so maybe check if fuses are correct values.
but if i may... i don't mean to be rude, but this is not the optimal format. please try to start separate topic, and choose topic name that is good description of the problem so when someone else tries to look through existing posts for same problem, they have a better chance to find it. this topics sounds more like description of an unboxing review rather than discussion to resolve some problem. and so far it has already covered bunch of different issues, from MADA, servo drives, DeviceNet, programming, SPS, KCP etc.
when someone has problem with DeviceNet, they want to look for topics related to DeviceNet.
When someone has problem with MADA, they will want to look for topics about MADA
... and do not want to sift through lengthy topics about unrelated things like DeviceNet and KCP and SPS programming and what not...
there is a value in it that one learns more but it is just not efficient and most people don't even read any more.
also, someone trying to offer support should not have to read 60 posts to find out what the problem is and what system is involved.
so be a pal and help us out...
Create an account or sign in to comment
You need to be a member in order to leave a comment