技术资料
当前位置: 主页 > 新闻中心 > 技术资料

ABB机器人(提前判断一个robtarget)是否可达——

类别:技术资料日期:2020-12-10 15:00:01
我要分享
ABB机器人

1. 机器人在运行MoveL p100,v1000,z50,tool0WObj:=wobj0;等语句时,若机器人走不到该位置p100,会出现上述报错。

2. p100为robtarget类型数据,即记录的是xyz等数据。

3. 该数据若非示教,而是通过计算或者外部相机拍照发送得到,有时就会发生机器人不可达。

4. 此时只有机器人运行到该行代码时,机器人报警并停机。

5. 是否可以提早对p100进行运算,检测机器人是否可达?

6. 可以使用函数CalcJoint函数,该函数返回p100在tool0下对应的各轴数据

jpos10:=CalcJointT(p100,tool0ErrorNumber:=myerrnum);

7. 增加ErrorNumber可选参数,此时若计算出的位置机器人不可达,则会得到报警代码ERR_ROBLIMIT(单轴超限)或者ERR_OUTSIDE_REACH(机器人不可达),后续对该错误代码处理即可。此时机器人不会停机。

8. 代码如下:

ABB机器人

jpos10:=CalcJointT(Home20,tool0\ErrorNumber:=myerrnum);

IF myerrnum=ERR_OUTSIDE_REACH THEN

TPWrite "Joint jpos10 is outside reach.";

TPWrite "jpos10.robax.rax_1: "+ValToStr(jpos10.robax.rax_1);

TPWrite "jpos10.robax.rax_2: "+ValToStr(jpos10.robax.rax_2);

TPWrite "jpos10.robax.rax_3: "+ValToStr(jpos10.robax.rax_3);

TPWrite "jpos10.robax.rax_4: "+ValToStr(jpos10.robax.rax_4);

TPWrite "jpos10.robax.rax_5: "+ValToStr(jpos10.robax.rax_5);

TPWrite "jpos10.robax.rax_6: "+ValToStr(jpos10.robax.rax_6);

ENDIF


在线客服
服务热线

服务热线

13918697515

微信咨询
返回顶部