任务
程序模块、系统模块
例行程序
PP指针
机器人运动指令:
MoveJ ToPoint, Speed, Zone,Tool \[Wobj];
MoveL ToPoint, Speed, Zone,Tool \[Wobj];
ToPoint:目标点,默认为 *。 ( robtarget ) Speed: 运行速度数据。 ( speeddata )Zone: 运行转角数据(转弯半径)。 ( zonedata ) Tool: 工具中心点 ( TCP )。 ( tooldata ) [\Wobj]:工件座标系。 ( wobjdata )
MoveJ(曲线运动)机器人以最快捷的方式运动至目标点,机器人运动轨迹不完全可控,但运动路径保持唯一,常用于机器人在空间大范围移动。MoveL(直线运动)机器人以线性移动方式运动至目标点,当前点与目标点两点决定一条直线,机器人运动状态可控,运动路径保持唯一,可能出现死点,常用于机器人在工作状态移动。固定坐标系,很完美的位置:

仿真软件显示画面:

程序使用C#写的,代码也是很简单。像C语言一样,C#也有主函数部分。

程序解读:
第一个MoveJ:初始位置
第二个MoveJ:取物件正上方
第三个Movej:取物件位置
Set:夹住
第四个Movej:取物件正上方
第五个Movej:放物件正上方
第六个Movej:放物件位置
Reset:放开
第七个Movej:放物件正上方
第八个Movej:初始位置
问题:为什么单步运行夹货物能改放到正确的位置,而连续运行下,夹货物会出现位置没放到对应位置的问题?
MoveJ的转角半径要越大越好,但不能超过下端路径的一半。需要将z50改成Fine模式,调整转角半径。因为在取物件或者放物件的时候,要将区域位置改成Fine模式。
科普:
机器人运动指令:
MoveJ ToPoint, Speed, Zone,Tool \[Wobj]; MoveL ToPoint, Speed, Zone,Tool \[Wobj];
解释:
ToPoint:目标点,默认为 *。 ( robtarget ) Speed: 运行速度数据。 ( speeddata ) Zone: 运行转角数据。 ( zonedata ) Tool: 工具中心点 ( TCP )。 ( tooldata ) [\Wobj]:工件座标系。 ( wobjdata )
应用:
MoveJ(曲线运动)机器人以最快捷的方式运动至目标点,机器人运动轨迹不完全可控,但运动路径保持唯一,常用于机器人在空间大范围移动。MoveL(直线运动)机器人以线性移动方式运动至目标点,当前点与目标点两点决定一条直线,机器人运动状态可控,运动路径保持唯一,可能出现死点,常用于机器人在工作状态移动。例子:
MoveJ:
MoveJ p20, v1000, z50,tool0;
MoveJ :曲线运动
MoveL:
MoveL p20, v1000, z50,tool0;
p20目标点v1000速度1000mm/s(TCP速度?)z50转弯半径50mm作用:有效提高运行效率;设置原则:
1、越大越好;
2、不超过下段路径长度的一半
全Fine和区域位置用Fine的用时对比:
全Fine:3.5s

区域位置用Fine:3s

MoveJ ToPoint, Speed, Zone,Tool \[Wobj];
ToPoint:更改名字,对程序更好理解(初始位置命名为pHome)
对以上各个指令ToPoint的更改:

2.2 路径规划以及MoveL,MoveJ指令使用
2.2.1 指令使用
MoveL:直线运动(转弯半径)
MoveJ:曲线运动(转弯半径)
例子:工件的上下摆放必须走直线(MoveL),防止出现问题
2.2.2TCP的跟踪:
