Hallo an Alle
Habe mal ein Programm wo die Beschleunigungkorrektur bzw. Geschwindigkeitkorrektur nicht funktioniert.
Ist so dass man die Startpunkt und die Abstand definiert.
Wird bei jede 1mm in eine Richtung die geschwindigkeit reduziert andere Richtung erhöht.
Wird noch dazu x korrektur auch ausgeführt.Diese funktioniert.
Danke im Voraus
Tamas
Code
&ACCESS RVP
&REL 61
&PARAM DISKPATH = KRC:\R1\Program
&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
&PARAM EDITMASK = *
DEF plan( )
;FOLD INI
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
BAS (#INITMOV,0 )
;ENDFOLD (BASISTECH INI)
;FOLD USER INI
;Make your modifications here
;ENDFOLD (USER INI)
;ENDFOLD (INI)
ptp $axis_act
;#######################################
reset_IO()
ptp $axis_act
iT_layer=2
iDT_speed=214 ;Drehzahl (*10)
;#######################################
oProgram_active=TRUE ;Program aktive to PLC
;Roboter Hubtisch muss unten sein
WAIT FOR eTisch_oben == FALSE
;check, if robot in Homeposition
goto ohne_home
WAIT FOR $IN_HOME1 == TRUE
;FOLD PTP HOME1 Vel=20 % PDAT4;%{PE}%R 8.2.19,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME1, 3:, 5:20, 7:PDAT4
$BWDSTART=FALSE
PDAT_ACT=PPDAT4
FDAT_ACT=FHOME1
BAS(#PTP_PARAMS,20)
PTP XHOME1
;ENDFOLD
ohne_home:
$OV_PRO=100
;#################
IF iT_layer ==0 Then
GOTO end_coating
ENDIF
;PTP Zuendpos
;FOLD LIN Ignitionpos Vel=0.1 m/s CPDAT34 Tool[1] Base[1];%{PE}%R 8.2.19,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:Ignitionpos, 3:, 5:0.1, 7:CPDAT34
$BWDSTART=FALSE
LDAT_ACT=LCPDAT34
FDAT_ACT=FIgnitionpos
BAS(#CP_PARAMS,0.1)
LIN XIgnitionpos
;ENDFOLD
;recipe_chg()
oT_speed = iDT_speed
;DT_start()
;Gun_START()
;Powder_START()
oT_layer_ACT=0 ;clear counter
L=0
goto start1
;FOLD LIN Startpunkt Vel=1 m/s CPDAT8 Tool[1] Base[1];%{PE}%R 8.2.19,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:Startpunkt, 3:, 5:1, 7:CPDAT8
$BWDSTART=FALSE
LDAT_ACT=LCPDAT8
FDAT_ACT=FStartpunkt
BAS(#CP_PARAMS,1)
LIN XStartpunkt
;ENDFOLD
;######
;FOLD PTP temp Vel=50 % PDAT14 Tool[1] Base[1];%{PE}%R 8.2.19,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:temp, 3:, 5:50, 7:PDAT14
$BWDSTART=FALSE
PDAT_ACT=PPDAT14
FDAT_ACT=Ftemp
BAS(#PTP_PARAMS,50)
LIN Xtemp
;ENDFOLD
start1:
Xtemp=XStartpunkt
;FOLD LIN temp CONT Vel=0.1 m/s CPDAT32 Tool[1] Base[1];%{PE}%R 8.2.19,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:temp, 3:C_DIS C_DIS, 5:0.1, 7:CPDAT32
$BWDSTART=FALSE
LDAT_ACT=LCPDAT32
FDAT_ACT=Ftemp
BAS(#CP_PARAMS,0.1)
LIN Xtemp C_DIS C_DIS
;ENDFOLD
LOOP_Layer: ;loop layer
$vel.cp= 0.00183
oT_layer_ACT=oT_layer_ACT+1
FOR x =1 TO 186
continue
Xtemp.x = Xtemp.x -1
continue
$vel.cp = $vel.cp + 0.00000403
LIN Xtemp c_dis
ENDFOR
FOR x =1 TO 186
continue
Xtemp.x = Xtemp.x +1
continue
$vel.cp = $vel.cp - 0.00000403
LIN Xtemp c_dis
ENDFOR
L=L+1
IF L>=iT_Layer THEN
GOTO loop_layer_end
ENDIF
oT_layer_ACT=oT_layer_ACT+1
L=L+1
IF L>=iT_Layer THEN
GOTO loop_layer_end
ENDIF
GOTO LOOP_Layer ;next loop
;######
LOOP_Layer_End:
;Powder_Stop()
;Gun_stop()
;goto end_prg
end_coating:
;#####################################################
;FOLD LIN Ignitionpos Vel=0.1 m/s CPDAT35 Tool[1] Base[1];%{PE}%R 8.2.19,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:Ignitionpos, 3:, 5:0.1, 7:CPDAT35
$BWDSTART=FALSE
LDAT_ACT=LCPDAT35
FDAT_ACT=FIgnitionpos
BAS(#CP_PARAMS,0.1)
LIN XIgnitionpos
;ENDFOLD
;Powder_Stop()
;Gun_stop()
end_prg:
;DT_Stop()
;################
goto ohne_home2
;FOLD PTP HOME1 Vel=20 % PDAT5;%{PE}%R 8.2.19,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME1, 3:, 5:20, 7:PDAT5
$BWDSTART=FALSE
PDAT_ACT=PPDAT5
FDAT_ACT=FHOME1
BAS(#PTP_PARAMS,20)
PTP XHOME1
;ENDFOLD
ohne_home2:
WAIT SEC .5
oProgram_active=FALSE ;Program end
;+++++++++++++++++++++++++++++++++
;++++++++ Program end ++++++++++
;+++++++++++++++++++++++++++++++++
END
Alles anzeigen