Epson机器人编程初级阶(一)

EPSON控制柜类型:

RC700可控制,除一体机和LS系列以外的所有机型。

RC90 为LS系列专用控制器。

 

机器人系统具有三种操作模式:TEACHAUTOTSET

TEACH:该模式可电动机器人及示教电位置,机器人将在低速率下运行

AUTO:外部

TSET:调试

 

机器人常用控制指令:

关节插补:GO, JUMP

直线插补:MOVE,

圆弧插补:ARC,ARC3

运行速度设定:Speed,SpeedS

回待机点:HOME

托盘运算:Pallet

跳转:GoTo,If Then Else

循环:For... Next,Do...Loop

调用子程序:GoSub,Call

等待:wait

停止:END,Halt

输入输出信号:Sw,On/Off,Out/in

Go点对点运动比move直线插补要快,move要多轴同步因此慢,Go的运行轨迹不是直线,Go不能替代直线。

 

Go

语法:Go p

Go p1:机械手手动到P1点

Go XY(50,400,0,0):机械手接收指令动作到x=50,y=400,z=0,u=0

Go p1+X(50):机械手动作到p1点,偏移+50的位置(相对定位)

Go p1:X(-50):机械手动作到p1点,偏移-50的位置(绝对定位)

Go p1 /L:机械手动作到p1点,使用左手轴

Go Here +Z(50):在当前Z轴上偏移50,Here当前点

同一个点位置有两个姿态可以到达,因此需要在点位置数据中设置Hand:Lefty/Righty

 

Home

回到起始点位置。起始点可自行配置,移动到指定点后,读取目前位置。然后调用Home,先配置后使用。用于避开障碍,防止撞机。

 

Jump 

点到点跳跃运动,以门型弧度升高运动,防止Z轴碰撞。门型高度可以在Arch设置中设置高度,默认C0 = 30mm。示例:JUMP P1 C0

Jump语法:

Jump p1 :机械手以门型动作到p1点

Jump p1 Limz -10:Z轴从当前点上抬10毫米后平移到p1点上方再下降到p1点

Jump p1: z(-50) LimZ -10:从当前点上抬到-10的位置,移动到p1点绝对位置-50

Jump p1 !DO; On1; D50; Off 1! 表示:在p1动作开始时打开输出1,在运行到p1动作50%时关闭输出1

 

Move

以直线轨迹将机械手从当前位置移动到指定的目标。

语法: move p1

SCARA机械手只有Z轴上下动作时,GoMove的轨迹一样。

 

变量的类型(作用域)

在一段程序中有效叫模块变量

全局变量 Global String BFH1$; 字符串变量后面加$符号

仅在当前程序中有效叫局部变量

 

数据类型 

Boolean,
Byte,
Double,
int32,
integer,
Real(单精度浮点型),
String,
UByte,
UInt32,
UShort,其中U表示无符号(+/-)

 

Arc

XY平面上以圆弧插补动作

Arc3

 3D空间里以圆弧插补动作

注意是圆弧动作,不是整圆,机器人完成圆的动作最少需要2个主要步骤

示例:画整个圆指令

Go p1

Arc p2,p3

Arc p4,p1

注意:一旦在MoveArc运动轨迹超过允许动作范围外,机械手会突然停止,给伺服电机带来撞机,有可能产生事故。为了防止故障,请在高速执行之前以低速进行动作范围确认。

 

Here

用于将机器人当前所在位置示教到位置变量中

P1 = Here:当当前位置带入P1

如果点动太慢,可以设置加快速度,再读取。

 

where

显示当前系统的相关坐标值

 

 

For...Next

循环,之间一连串的语句执行指定次数

语法:

For A1 = 1 To 4
    Move P(A1)
Next

 

CXCYCZCUCVCW指令

功能:用于获取当前点的XYZUVW的坐标

语法: A1=CX(here):获取当前点X坐标赋值给A1

 

JTran 指令

功能:单独移动一个关节
语法:JTran 关节编号,移动量
示例:JTran 1,20:表示第一个关节移动正20度

 

Speed

点到点动作速度设定

Speed 80:表示80mm/s动作速度

Speed 80,40,30:表示80动作速度,Z轴上升速度40,下降速度30

Speeds 轨迹速度设定

Speeds 80:表示轨迹动作的速度为800mm/s

 

Accel

点到点加减速度设定

语法: Accel a,b,[c,d,e,f]   a/b表示加/减速度,c/d第三轴加/减速度

Accel 80,80,30,30,60,60

 

Accels

轨迹动作加减速度

语法:Accels 加减速度设定值

示例:Accels 500 加减速度均为500mm/s
注意:运动动作前一定要设置速度,否则会速度过快

 

Call

回调函数

 

IO端口控制:

打开指定输出位:

语法:On 输出位,时间[单位秒,最小有效单位为0.01秒]

示例:On 1,0.5

 

关闭指定输出位:

语法:Off 输出位,时间[单位秒]

示例:Off 1,0.5

 

位组合输出(8位)

语法:Out 字节号,输出数据

示例:Out 0,0 将0~7位全部关闭

 

位组合输入(8位)

语法:In(字节号)=输出数据

示例:wait int(0)=0 等待0~7全部关闭

字节0对应0~7的位,1对应8~15,以此类推最大到255

 

Sw

返回指定的输入位状态

语法:Sw(输入位编号)

示例:Wait Sw(1) = On 待机到1开启

 

仿真示例:

走一个正方形:

1.编写代码:
Function main
Integer A1
P1 = Here
P2 = P1 +X(100)
P3 = P2 +Y(100)
P4 = P1 +Y(100)

For A1 = 1 To 4
Move P(A1)
Next
Move P1

Fend

 

2.设置要模拟的机器人

点击设置 >> 控制器 >> 机器人 >> 更改

 

3.选择机器人型号

依次选择机器人类型(品牌)>> 序列 >> 型号 ,最后点击确定。会进入重启控制器的进度条,等待完成。

 

4.点击Simulator机器人仿真

除了机器人左边绿线区域其他都可以删掉,只留下机器人。

 

5.点击模拟器设置

可以进行一些运动轨迹的样式设置等等,方便追踪观察。

 

6.打开电源

机器人管理,控制面板,打开电机开关

 

 7.步进示教调整

因为此时的模拟机器人是一个完全展开的状态,XY轴都是最大值。是不能直接运行的。

 

我们首先调动-Z轴,再调动-X轴,再调动+Y。使得模拟机器人的可运行轨迹足够支持代码中100*100的运行范围。移动速度太慢,我们可以设置步进距离。

 

8.运行代码

打开运行窗口,选择运行函数

 

 

点击开始,可以看到右边红色实线绘制出了一个100*100的矩形

 

posted @ 2024-07-13 22:06  别动我的猫  阅读(709)  评论(0编辑  收藏  举报