I have a Kuka that's working fine, and wanted to make some changes, and then spotted something strange. It seems that the ArcTech commands (ArcOn, ArcOff etc) reset the $BASE and $TOOL. The robot works fine, and the only reason I stumbled upon this, was that I wanted to record the position right after the welding is complete with $POS_ACT, which gave me unexpected results. After some digging I found out that $BASE and $TOOL seem to be 'reset' during the welding.
If I monitor $BASE with the teach pendant before the welding I can see {FRAME:X0, Y0, Z0, A0, B0, C0}, if I monitor $BASE during the welding I see {FRAME}, when the welding is complete I see {FRAME:X0, Y0, Z0, A0, B0, C0} again.
This doesn't cause any issues other then the $POS_ACT not behaving as expected
$ACT_BASE remains the same, only $BASE
Example code of an ArcTech command that seems to reset $BASE:
;FOLD ARCON <WDAT1> SLIN CIRCLE0DEG Vel=0.2 m/s CPDAT1 Tool[1]:lastoorts Base[17]:Base17 ;%{PE}
;FOLD Parameters ;%{h}
;Params IlfProvider=kukaroboter.arctech.arconstandardslin; Kuka.IsGlobalPoint=False; Kuka.PointName=CIRCLE0DEG; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT1; Kuka.VelocityPath=0.2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=slin; ArcTech.Global.WdatVarName=gWDAT1; ArcTech.IsGlobalWdat=True; ArcTech.Basic=3.5.3.490; ArcTech.Advanced=3.5.1.36
;ENDFOLD
TRIGGER WHEN DISTANCE = 1 DELAY = ArcGetDelay(#PreDefinition, gWDAT1) DO ArcMainNG(#PreDefinition, gWDAT1, WP1) PRIO = -1
TRIGGER WHEN PATH = ArcGetPath(#OnTheFlyArcOn, gWDAT1) DELAY = ArcGetDelay(#GasPreflow, gWDAT1) DO ArcMainNG(#GasPreflow, gWDAT1, WP1) PRIO = -1
TRIGGER WHEN PATH = ArcGetPath(#OnTheFlyArcOn, gWDAT1) DELAY = ArcGetDelay(#ArcPreOn, gWDAT1) DO ArcMainNG(#ArcOnSplSingle, gWDAT1, WP1) PRIO = -1
ArcMainNG(#ArcOnBeforeSplSingle, gWDAT1, WP1)
SLIN CIRCLE0DEG WITH $VEL = SVEL_CP(0.2, , LCPDAT1), $TOOL = STOOL2(FP1), $BASE = EK(K_ROOT(FP1.BASE_NO), K_TYPE(FP1.BASE_NO), K_OFFS(FP1.BASE_NO)), $IPO_MODE = SIPO_MODE(FP1.IPO_FRAME), $LOAD = SLOAD(FP1.TOOL_NO), $ACC = SACC_CP(LCPDAT1), $ORI_TYPE = SORI_TYP(LCPDAT1), $APO = SAPO(LCPDAT1), $JERK = SJERK(LCPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
ArcMainNG(#ArcOnAfterSplSingle, gWDAT1, WP1)
;ENDFOLD
Display More