Epson工业机器人初体验-02

来源:互联网 发布:淘宝手机端图片加链接 编辑:程序博客网 时间:2024/05/17 09:15

题外话:上一次的Epson工业机器人体验只是初入门运行了一遍Epson软件自带的demo,这一次对Epson的语法进行一次入门。

TIP:机械手类似人手,如果你让它运行到了一个刁钻的角度,他就动不了了,所以在进行机械手操作时,不仅要注意机械手的活动范围,周围的障碍物,还要注意机械手在这个角度下的特定轴是否可以转动。

SPEL+语言

1.概述
SPEL+类似BASIC语言。
(哈,BASIC这么古老的语言我也不清楚,你是类似有什么用?可能听起来更亲切一点?)

2.程序结构

结构 内容 包含: ① 函数 ② 变量 ③ 宏指令 后缀名: .PRG 最小单元: 程序,main函数 函数: Function开始,Fend结束

程序示例:
MAIN.PRG
Function Main
Call Func1
Integer i 局部变量
….
Fend

3.变量
SPEL+中有三种不同的变量1
-Local:局部变量(同一Function)
-Module:模块变量(同一程序)
-Global:全局变量(同一项目)

4.动作指令(important)

使机械手运动的指令叫做动作指令。
种类:PTP动作指令,CP动作指令,Curves动作指令,Joint动作指令。

类型 指令 说明 PTP Go,Jump,BGo,TGo 最容易活动的路径到达命令(难道不是点到点?) CP Move,Arc,Arc3,Jump3/Jump3CP,Bmove,TMove,CVMove 制定机械手到达末表位置运动轨迹的指令

TIPS:
CP模式,即Continuous Path 连续路径模式。
指定PTP动作指令和Joint动作指令的速度和加/减速度时,使用SPEED指令和ACCEL指令
。指定CP模式动作指令时,使用SPEEDS指令和ACCELS指令。

PTP指令

包括指令:Go,Jump,BGo,TGo
PTP(Point To Point)动作,与运动轨迹无关,通过最短路径。
优点:运行速度快。
缺点:轨迹无法预测。

Go指令

功能:全轴同时的PTP动作,动作的轨迹是各关节分别对从当前的点到目标坐标进行插补。
格式:Go 目标坐标
示例:
1.Go P1 机械手动作到P1点
2.Go XY(50,400,0,0) 机械手运动到x=50,y=400,z=0,u=0
3.Go P1+X(50) 机械手运动到P1点x坐标值偏移量为+50的位置
4 Go P1:X(50) 机械手运动到P1点对应X坐标值为50的位置

Jump指令
功能:通过“门型动作”使手臂从当前位置移动到目标坐标。
格式:Jump目标坐标
示例:
1.Jump P‘机械手以“门型动作”运动到P1点’
2Jump P1 LimZ
-10 ‘以限定第三轴目标坐标 Z=-10的门型动作移动到P1点,如下图
门型运动
3. Jump P:Z(-10) LimZ -10 ‘以限定第三轴目标坐标Z=-10的门型动作移动到P1点位置,Z坐标值为-10的位置。’
TIPS:Jump将机械手抬至LimZ值,然后使手臂水平移动,快到目标上空时使其下降移动。

CP指令

包含指令:Move,Arc,Arc3,Jump3/Jump3CP,BMove,TMove,CVMove
CP(Continuous Path) 指令可以指定机械手到达目标位置的运动轨迹。
优点:轨迹可以控制,匀速动作。
缺点:速度慢。
加减速度请使用SPEEDS和ACCELS指令。

Move指令
功能:以直线轨迹将机械手从当前位置移动到指定目标位置。全关节同时启动,同时停止。
格式:Move 目标坐标
示例:Move P1
TIPS: 手臂姿势重要时请使用Go命令,手臂轨迹重要时请使用Move命令。只有Z轴上下运动时,Go与Move的轨迹一样。

Arc和Arc3指令
功能:Arc在XY平面上以圆弧插补动作。Arc3在3D空间里以圆弧插补动作。
格式:Arc经过坐标,目标坐标
说明:机械手从当前位置到目标坐标,通过圆弧运动经过两个点的位置。
示例:Arc P2,P3
弧形运动
弧形运动

TIPS:实际运行机器时请先使用低速进行动作范围确认,主要是因为有些位置在机械手的活动范围内,但是在特定的动作中不一定可以到达这些点。
Jump3/Jump3CP指令
功能:三维的门型运动, Jump3是两个CP运动和一个PTP运动组合而成。(有什么用?自己想想)
格式: Jump3 退避坐标,接近开始坐标,目标坐标
示例:Jump3 P1, P2, P3 ‘从当前位置经过保存坐标P1,接近坐标P2运动到目标坐标P3.如图
3D门型运动图
3d门型运动图
TIPS:
1.Jump不能用于6轴机械手,6轴机械手要使用Jump3和Jump3CP指令
2.Jump3CP 是3个CP动作的组合。
3.SCARA机械手z轴上升或者下降动作时,使用Jump指令可以提高运动速度。

BMove,TMove,CVMove指令(哦,这些是什么?以后再怼吧,咱先机械手动起来再说。)

机械手运动可少不了速度因素,接下来讲一下速度的设置吧。

PTP指令速度设定

指令 描述 SPeed 设定PTP运动速度(百分比格式?) 格式 Speed s,[a,b] 说明 s为速度,a为第三轴上升速度(其它轴呢?),b为第三轴下降速度 实例 Speed 80 Accel PTP加减速度值百分比 格式 Accel a, b, [c,d,e,f] 说明 a/b加减速度,c/d第三轴上升加减速度,e/f[自己想] 示例 Accel 80,80

CP指令速度设定

指令 描述 SpeedS 设定CP动作速度 格式 SpeedS 速度设定值 说明 不同机型对应的速度设定值范围(有图,在下面) 示例 SpeedS 800 AccelS 设定CP加减速度 格式 AccelS 加速设定值,[减速设定值] 说明 (同一个图) 示例 AccelS 800

速度限制
速度范围表

最后,我们来看个例子吧。

Function main  //定义方法名称    Integer i   //定义一个变量    Motor  On //开电机,不打开电源,玩个蛇?    Power  High //设定功率。高功率,低功率,跑的快还是慢呢?    Speed 100,50,10 //设置一波速度    //各种命令走你。。Fend //结束喽,yeah