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
********************************
|