以下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
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !