绕着固定点旋转(基于TCP方向或者base或者用户坐标系方向),需注意,V变量需跟随工具坐标变化而变化,如果想得到比较好的旋转效果,需正确的设置TCP位置,并更新当前TCP的记录点(V10).
附代码:
NOP // 基于当前TCP记录开始点位置,基于BASE,改变TCP需更新此点 SETPOSE V010 -355.0688,-714.0648,-142.2637,-3.0294,-0.0435,2.5141 //设定绕rx的旋转角度deg,建议单次只旋转一个方向 SET D000 0 //设定绕ry的旋转角度deg,建议单次只旋转一个方向 SET D001 20 //设定绕rz的旋转角度deg,建议单次只旋转一个方向 SET D002 0 // 设置旋转参考坐标系,B000=1:绕当前TCP的方向,B000=2:绕BASE坐标系,B000=3:绕当前user坐标系 SET B000 1 // 设置当前用户坐标系No GETUSERFRAME V013 USER#(0) //用户修改以上部分!! //************************** //以下部分用户不需要修改 SETPOSE V011 0,0,0,0,0,0 SET V011(3) D000 SET V011(4) D001 SET V011(5) D002 SET V014 V013 // 角度转弧度 DIV V011(3) 180 MUL V011(3) 3.14159 DIV V011(4) 180 MUL V011(4) 3.14159 DIV V011(5) 180 MUL V011(5) 3.14159 MOVL V010 V=50.0MM/S CR=0.0MM // 绕当前TCP IF B000 = 1 THEN POSEMUL V010 V011 MOVL V010 VR=20DEG/S CR=0.0MM ENDIF // 绕BASE IF B000 = 2 THEN SETPOSE V012 0,0,0,0,0,0 SET V012(3) V010(3) SET V012(4) V010(4) SET V012(5) V010(5) POSEMUL V011 V012 SET V010(3) V011(3) SET V010(4) V011(4) SET V010(5) V011(5) MOVL V010 VR=20DEG/S CR=0.0MM ENDIF // 绕指定用户坐标系 IF B000 = 3 THEN POSEINV V013 POSEMUL V013 V010 // 得到开始点在用户坐标系下的值 SETPOSE V012 0,0,0,0,0,0 SET V012(3) V013(3) SET V012(4) V013(4) SET V012(5) V013(5) POSEMUL V011 V012 SET V013(3) V011(3) SET V013(4) V011(4) SET V013(5) V011(5) POSEMUL V014 V013 MOVL V014 VR=20DEG/S CR=0.0MM ENDIF END