ABB机器人简单单轴速度控制

[复制链接]
查看57020 | 回复0 | 2024-10-16 08:09:25 | 显示全部楼层 |阅读模式



1.ABB机器人提供MoveAbsj语句,让机器人以关节方式运动。

2.运动语句中MoveAbsj j1,v100,fine, tool 仍然是对当前TCP设定笛卡尔空间的速度规划。

3.如果想设定某个单轴以某个速度达到某个位置,如何实现?

4.对于具有独立轴选项的机器人,外轴和机器人本体4/6轴可以设置为独立轴模式,并使用IndCMove Station_A,2,-30.5语句让例如外轴的第二个轴以-30.5°/s 运动

5.对于机器人本体其他轴或者没有独立轴选项的机器人,如何实现以上功能。

6.可以编写简易语句,通过对MoveAbsj运动中设定运动时间,变相设定单轴运动速度。
PROCMoveAxis(num Axis,num Angle,num speed)
!要单轴运动的轴,该轴要走到的绝对位置角度,运动速度 °/sVAR jointtarget jtmp:=[[0,0,0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];VAR num StartAngle;VAR jointtarget jGoal:=[[0,0,0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];VAR num t;VAR num arr{6}:=[0,0,0,0,0,0];jGoal:=CJointT();
!记录当前位置TESTAxisCASE 1:StartAngle:=jGoal.robax.rax_1;jGoal.robax.rax_1:=angle;CASE 2:StartAngle:=jGoal.robax.rax_2;jGoal.robax.rax_2:=angle;CASE 3:StartAngle:=jGoal.robax.rax_3;jGoal.robax.rax_3:=angle;CASE 4:StartAngle:=jGoal.robax.rax_4;jGoal.robax.rax_4:=angle;CASE 5:StartAngle:=jGoal.robax.rax_5;jGoal.robax.rax_5:=angle;CASE 6:StartAngle:=jGoal.robax.rax_6;jGoal.robax.rax_6:=angle;DEFAULT:ENDTESTt:=abs((Angle-StartAngle)/speed);!运动时间等于运行角度/设定速度MoveAbsJ jGoal\NoEOffs,v100\T:=t,fine,tool0\WObj:=wobj0;ENDPROC
7.可以按照如下方式使用
PROCtestpath()MoveAbsJ j100\NoEOffs,v1000,fine,tool0\WObj:=wobj0;WHILETRUEDOMoveAxis 1,90,70;!机器人1轴走到90°,速度为70°/sMoveAxis 1,-90,70;ENDWHILEENDPROC
8.可以使用tunemaster,创建4001信号来监测各轴速度。例如设置1轴速度为70°/s,tunemaster监测的速度也为70°/s



********************************


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

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

本版积分规则