KUKA机器人 执行在SPS系统程序里的ASYPTP用法

[复制链接]
查看95286 | 回复0 | 2024-2-28 09:09:21 | 显示全部楼层 |阅读模式
以下KRL声明允许在系统提交中使用,但不允许在扩展提交中使用:

• ASYPTP

• VECTORMOVEON()

• VECTORMOVEOFF()

• SET_TORQUE_LIMITS()

• RESET_TORQUE_LIMITS()
本例中的外部轴的运动指令可以在SUB程序中使用,前提是它被分配给系统提交,而不是扩展提交。IF (($IN[12] == TRUE) AND ( NOT $IN[13] == TRUE)) THENASYPTP {E2 45}ASYPTP {E3 200}...IF ((NOT $IN[12] == TRUE) AND  ($IN[13] == TRUE)) THENASYPTP {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

   ...
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则