KUKA机器人在程序里的ASYPTP用法

描述

以下KRL声明允许在系统提交中使用,但不允许在扩展提交中使用:

• ASYPTP

• VECTORMOVEON()

• VECTORMOVEOFF()

• SET_TORQUE_LIMITS()

• RESET_TORQUE_LIMITS()

本例中的外部轴的运动指令可以在SUB程序中使用,前提是它被分配给系统提交,而不是扩展提交。 IF (($IN[12] == TRUE) AND ( NOT $IN[13] == TRUE)) THEN ASYPTP {E2 45} ASYPTP {E3 200} ... IF ((NOT $IN[12] == TRUE) AND  ($IN[13] == TRUE)) THEN ASYPTP {E2 0} ASYPTP {E3 90} 外部轴E2和E3根据特定输入进行移动。此处未使用WAIT语句或等待循环,因为它们会停止循环。

IF $OUT[DEF_ZANGE[ZangeKeyNr].A_AUF] AND NOT FlagGunOpen[SgbGunNr] AND $COULD_START_MOTION THEN     

机器人钳工能被激活

SG_ActiveGunNumber = SgbGunNr

SG_ExtaxActive=ServoGun[SG_ActiveGunNumber].ExtAxNumber

FlagGunOpen[SgbGunNr]=TRUE

OvAsyncSaved = $OV_ASYNC

$OV_ASYNC = $OV_JOG

$ACC_EXTAX[ServoGun[SgbGunNr].ExtAxNumber]=30

$VEL_EXTAX[ServoGun[SgbGunNr].ExtAxNumber]=10  

NewGunAxisPos = $AXIS_ACT 当前轴的位置

SGL_SET_AXIS_A_VALUE(NewGunAxisPos,SGL_GetOpenSoftEnd(SgbGunNr) * 0.99)  计算要打开电伺服焊钳开口的位置

ASYPTP NewGunAxisPos执行新算出来的轨迹

ENDIF

伺服焊钳建立压力

 E1 在 ASYPTP {E1 10} 时已同步。

 或者:$ASYNC_MODE 已配置 (位 0 = 1),以使在 ASYPTP 时在提交解释器中隐含地将轴设定为同步。

...

1 IF $PRO_STATE1==#P_FREE

2   SET_TORQUE_LIMITS(7,{upper 1000, monitor #off })

限制正扭矩并关闭常规的监控。

3   ASYPTP {E1 10}

沿工件后目标点 {E1 10} 方向移动。建立对工件的压力。

...

4   RESET_TORQUE_LIMITS(7)

取消扭矩限制并重新接通正式的监控。此外,使额定位置与实际位置相适应。

解释器在 RESET_TORQUE_LIMITS(7) 中等至异步运动已结束。

只在如此之后才进行额定 / 实际匹配。因此,不需要在 RESET… 之前编程设定  WAIT FOR $ASYNC_STATE == #IDLE。

5   ASYPTP {E1 -10} 重新打开焊钳。

6 ENDIF

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分