The Multilayer tech package is missing. I wanted to make a self-made function. Adjust TECH[5]&[6] to offset relative to the root seam path. Calculated the Z and Y offsets in TTS.
Without welding (LIN C_DIS C_DIS) everything works.
When I inserted ArcOn and ArcOff, the problems started. On ArcOn, WATE FOR TRUE is set and TECH is disabled, the robot leaves for the ROOT seam starting point. After ArcOn, the robot returns to the offset trajectory again. When it comes to ArcOff, the same thing happens.
Can you tell me how to bypass the offset with ArcOn and ArcOff?
KRC4 KSS8.5 ATB3.3.2
Code
DEF wpTestOnML( )
techSet ()
PTP XP1
LIN XP10 C_Dis C_Dis
TRIGGER WHEN PATH=-10.0 DELAY=0 DO MultyLayerTechOn () PRIO=-1
LIN XP11 ; ArcOn <= here the robot twitches
WATE FOR TRUE
LIN XP15 C_DIS C_DIS
LIN XP20 ;ArcOf <= here the robot twitches
WATE FOR TRUE
$TECH[5].MODE = #OFF
$TECH[6].MODE = #OFF
LIN XP30
ENDDEF
DEF MultyLayerTechOn ()
REAL Offset_Z, Offset_Y
$TECH_C[5].FCTCTRL.SCALE_OUT = 10
$TECH_C[6].FCTCTRL.SCALE_OUT = 10
$TECH_C[5].MODE = #SINGLE
$TECH_C[6].MODE = #SINGLE
END ;(MultyLayerTechOn)
DEF techSet ()
REAL Offset_Z, Offset_Y
$TECHSYS = #TTS
$TECH[5].FCTCTRL.GEOREF = #Z
$TECH[6].FCTCTRL.GEOREF = #Y
; correction using the function generator Z
$TECH[5].CLASS = #PATH
$TECH[5].FCTCTRL.SCALE_IN = 2.0
$TECH[5].FCTCTRL.OFFSET_IN = 0.0 ;
$TECH[5].FCTCTRL.SCALE_OUT = 0.0; <==
$TECH[5].FCTCTRL.OFFSET_OUT = 0.0;
; correction using the function generator Y
$TECH[6].CLASS = #PATH
$TECH[6].FCTCTRL.SCALE_IN = 2.0
$TECH[6].FCTCTRL.OFFSET_IN = 0.0 ;
$TECH[6].FCTCTRL.SCALE_OUT = 0.0; <==
$TECH[6].FCTCTRL.OFFSET_OUT = 0.0;
;================================================
$TECH[5].FCT.ORDER = 1 ;
$TECH[5].FCT.CPNUM = 3 ;
$TECH[5].FCT.CPS1.X1 = 0.0 ;
$TECH[5].FCT.CPS1.Y1 = 1.0 ;
$TECH[5].FCT.CPS1.X2 = 0.5 ;
$TECH[5].FCT.CPS1.Y2 = 1.0 ;
$TECH[5].FCT.CPS1.X3 = 1.0 ;
$TECH[5].FCT.CPS1.Y3 = 1.0 ;
$TECH[6].FCT.ORDER = 1 ;
$TECH[6].FCT.CPNUM = 3 ;
$TECH[6].FCT.CPS1.X1 = 0.0 ;
$TECH[6].FCT.CPS1.Y1 = -1.0 ;
$TECH[6].FCT.CPS1.X2 = 0.5 ;
$TECH[6].FCT.CPS1.Y2 = -1.0 ;
$TECH[6].FCT.CPS1.X3 = 1.0 ;
$TECH[6].FCT.CPS1.Y3 = -1.0 ;
END ;(techSet)
Display More