首页 > 编程语言 >Epson机器人编程初级阶(一)

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

时间:2024-07-13 22:09:03浏览次数:10  
标签:p1 Epson 示例 编程 50 机器人 语法 初级 Go

EPSON控制柜类型:

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

RC90 为LS系列专用控制器。

 

机器人系统具有三种操作模式:TEACH,AUTO,TSET

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轴上下动作时,Go与Move的轨迹一样。

 

变量的类型(作用域)

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

全局变量 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

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

 

Here

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

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

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

 

where

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

 

 

For...Next

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

语法:

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

 

CX、CY、CZ、CU、CV、CW指令

功能:用于获取当前点的X、Y、Z、U、V、W的坐标

语法: 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的矩形

 

标签:p1,Epson,示例,编程,50,机器人,语法,初级,Go
From: https://www.cnblogs.com/zeussbook/p/18300806

相关文章

  • C++ 入门基础:开启编程之旅
    引言C++是一种高效、灵活且功能强大的编程语言,广泛应用于系统软件、游戏开发、嵌入式系统、科学计算等多个领域。作为C语言的扩展,C++不仅继承了C语言的过程化编程特性,还增加了面向对象编程(OOP)的支持,使得代码更加模块化、易于管理和复用。本文将带你走进C++的世界,从......
  • 从新手到高手:Scala函数式编程完全指南,Scala 方法与函数(10)
    1、Scala方法与函数Scala有方法与函数,二者在语义上的区别很小。Scala方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。Scala中的方法跟Java的类似,方法是组成类的一部分。Scala中的函数则是一个完整的对象,Scala中的函......
  • 【C++编程】数组、函数、结构体、指针、类
    数组:存储一个固定大小的相同类型元素的顺序集合声明、初始化:typearrayName[size0][size1]...={{value00,value01,...},{value10,value11,...},...};intmy_array[2][3]={{1,2,3},{4,5,6}};访问数组元素:arrayName[index0][index1]...;intget_eleme......
  • 生成对抗网络编程
    一、基础知识PyTorch提供简单的计算误差方法。最简单的均方误差:先计算每个输出节点的实际输出和预期输出之差的平方,再计算平均值。nn.MSELoss()误差函数&&损失函数误差是指预期输出与实际输出之间的差值。损失是指根据误差计算得到的,要考虑实际情况。1、构建和训练G......
  • 全网最适合入门的面向对象编程教程:16 类和对象的Python实现-多态、方法重写与开闭原则
    全网最适合入门的面向对象编程教程:16类和对象的Python实现-多态、方法重写与开闭原则摘要:本文主要介绍了Python中创建自定义类时子类如何实现对父类方法的重写、方法重写的定义和多态的基本概念,并对开闭原则进行介绍。原文链接:FreakStudio的博客往期推荐:学嵌入式的你,......
  • JAVA初级之File文件类
    目录1、概述2、构造方法 3、常用方法3.1获取功能的方法 3.2绝对路径和相对路径 3.3判断功能的方法 3.4创建删除的方法 3.5对目录的遍历4、经典案例4.1查询某个目录下所有的文件。 4.2 找到电脑中所有以avi结尾的电影。1、概述        在......
  • JAVA初级之IO流
    目录1、概述1.1什么是IO1.2IO的分类1.3IO的流向说明图解1.4IO流的父类2、字节流2.1字节流概念2.2字节输出流【OutputStream】2.2.1字节输出流的基本方法 2.2.2 FileOutputStream类2.2.3写出字节数据2.2.3数据追加续写 2.2.4写出换行 2.3 字节输入......
  • Cuda并行编程:组织线程模型
    重点计算线程唯一标识,并确保没有线程越界的技巧:以下列英伟达官方的Cuda程序示例为例子/*Copyright(c)2022,NVIDIACORPORATION.Allrightsreserved.**Redistributionanduseinsourceandbinaryforms,withorwithout*modification,arepermittedprovide......
  • 0173-GDB 调试汇编程序
    环境Time2022-11-12WSL-Ubuntu22.04QEMU6.2.0NASM2.15.05前言说明参考:https://os.phil-opp.com/multiboot-kernel/参考:https://ncona.com/2019/12/debugging-assembly-with-gdb/目标编写一个简单的汇编程序,使用GDB进行调试。汇编程序section.textglobal......
  • Python项目开发实战,掷硬币的连胜,案例教程编程实例课程详解
    在Python中进行实战项目,比如模拟掷硬币并记录连胜次数,是一个既有趣又能加深理解随机数生成、循环控制、条件判断等编程基础的好方法。下面,我将逐步引导你完成一个详细的Python项目,该项目将模拟掷硬币的过程,并追踪记录连胜的次数,同时我们会深入探讨一些编程概念,如函数封装、异常......