KUKA電伺服機器人焊點地位賠償示意圖:
GLOBALDEFInitialize(TEACH_POS:INcont:IN)初始化
初始化示教地位
DECLE6PosTEACH_POS
DECLSG_Cont_Tcont
CONTINUE
$ADVANCE=3
SG_ExtaxActive=ServoGun[SG_ActiveGunNumber].ExtAxNumber
SG_ActiveWeldTimer=ServoGun[SG_ActiveGunNumber].WeldTimerIndex
bckupSetSG_AxVal()
–取得以后面的內(nèi)部軸速率加速度—迫近$跟提早運轉(zhuǎn)$RED_VEL
SGE_InitErrorHandler()
IF(ServoGun[SG_ActiveGunNumber].ExtAxNumber0)then
SGA_SensorReset()
ENDIF
;------初始化面-----------
P_Part=SGL_CALC_POS(TEACH_POSServoGun[SG_ActiveGunNumber].TipCorrection0)----取得焊接面地位
P_Approx=P_Part地位轉(zhuǎn)移/傳輸
P_Forcelim=P_Part地位轉(zhuǎn)移/傳輸
P_Pressure=P_Part
P_Weld=P_Part焊接地位
P_Ret=P_Part
SG_SpotHelper=P_Part
SG_PartPos=SGL_GET_AXIS_VALUE(TEACH_POS);力形式下能夠的極板打仗地位
END;
GLOBALDEFFCTE6POSSGL_CALC_POS(CURRENT_POS:INTipCorrection:INTouchDiff:IN)
TouchDiff=0履行焊接時
CURRENT_POS=TEACH_POS
TipCorrection=ServoGun[SG_ActiveGunNumber].TipCorrection=true電極校訂
SGL_CALC_START_POS
REALTouchDiffwearflexwearfixTouchOffset
E6POSCURRENT_POSRETURNED_POS
申通快遞分揀機器人的優(yōu)勢BOOLTipCorrection
IF(TipCorrection)THENTipCorrection=true電極校訂
wearflex=SG_WearFlex[SG_ActiveGunNumber]+SG_TipSeating_mm[SG_ActiveGunNumber]
wearflex蜿蜒磨損量由銑削后丈量出來SG_TipSeating_mm[1]電極坐值
wearfix=SG_WearFix[SG_ActiveGunNumber]+(SG_TipSeating_mm[SG_ActiveGunNumber]/2)
wearfix磨損修復(fù)由銑削后丈量出來
ELSE---不利用校訂
wearflex=0.0
wearfix=0.0
ENDIF
X標(biāo)的目的的賠償轉(zhuǎn)變坐標(biāo)–利用BASE坐標(biāo)
SG_Helpframe=SGL_CALC_TCP_POS(TouchDiffwearfix)---計較地位值
RETURNED_POS=CURRENT_POS:SG_Helpframe-----賠償值X標(biāo)的目的的坐標(biāo)
轉(zhuǎn)移內(nèi)部軸跟ST坐標(biāo)值用來不激活內(nèi)部軸時
RETURNED_=CURRENT_
RETURNED_=CURRENT_
RETURNED_=CURRENT_
RETURNED_=CURRENT_
RETURNED_=CURRENT_
RETURNED_=CURRENT_
RETURNED_=CURRENT_
RETURNED_=CURRENT_
TouchOffset=(wearflex+wearfix-TouchDiff)*SG_ClosingAxDir
計較誤差值
SG_ClosingAxDir=-1
TouchDiff=0履行焊接時
Wearflex蜿蜒磨損
Wearfix電極磨損
轉(zhuǎn)變賠償焊接面的內(nèi)部軸E1
SWITCHSG_ExtaxActiveSG_ExtaxActive=1
Case1
RETURNED_=CURRENT_+TouchOffset
Case2
RETURNED_=CURRENT_+TouchOffset
Case3
RETURNED_=CURRENT_+TouchOffset
Case4
RETURNED_=CURRENT_+TouchOffset
Case5
RETURNED_=CURRENT_+TouchOffset
Case6
RETURNED_=CURRENT_+TouchOffset
ENDSWITCH
RETURN(RETURNED_POS)反應(yīng)前往坐標(biāo)值
ENDFCT;
GLOBALDEFFCTE6POSSGL_CALC_TCP_POS(touchDiff:INwearFix:IN)
計較賠償值touchDiff=0wearFix電極磨損
SGL_CALC_TCP_START_POS
REALtouchDiffwearFix
E6POSRETURN_HELPFRAME
DECLSG_DIRECTIONTYP_TrealDirectio
RETURN_HELPFRAME=$NULLFRAME坐標(biāo)渾0
可以手動取件的分揀機器人realDirection=ServoGun[SG_ActiveGunNumber].GunDirection
GunDirection#PX--槍挪動標(biāo)的目的
IF((FDAT__FRAME==#TCP)ANDSG_RevFixedGunDirection)THEN
--------------FDAT__FRAME=#BASE以是此IF語句臨時沒有履行-------
realDirection=SG_RevToolDirection(ServoGun[SG_ActiveGunNumber].GunDirection)
ENDIF
--------------end---------------------
SWITCHrealDirectionrealDirection=#PX
CASE#NX
RETURN_=-wearFix+touchDiff
CASE#NY
RETURN_=-wearFix+touchDiff
蜘蛛手分揀機器人價位CASE#NZ
RETURN_=-wearFix+touchDiff
CASE#PX----------本次機器人履行的賠償數(shù)據(jù)touchDiff=0
RETURN_=wearFix-touchDiff間接用磨損值來賠償X標(biāo)的目的
CASE#PY
RETURN_=wearFix-touchDiff
CASE#PZ
RETURN_=wearFix-touchDiff
ENDSWITCH
RETURN(RETURN_HELPFRAME)
ENDFCT
搬運分揀機器人的發(fā)展史自動分揀機器人簡介分揀機器人找哪家