ABBaJ8ABB机器人高级编程.docx

上传人:b****5 文档编号:6360467 上传时间:2023-01-05 格式:DOCX 页数:40 大小:1.20MB
下载 相关 举报
ABBaJ8ABB机器人高级编程.docx_第1页
第1页 / 共40页
ABBaJ8ABB机器人高级编程.docx_第2页
第2页 / 共40页
ABBaJ8ABB机器人高级编程.docx_第3页
第3页 / 共40页
ABBaJ8ABB机器人高级编程.docx_第4页
第4页 / 共40页
ABBaJ8ABB机器人高级编程.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

ABBaJ8ABB机器人高级编程.docx

《ABBaJ8ABB机器人高级编程.docx》由会员分享,可在线阅读,更多相关《ABBaJ8ABB机器人高级编程.docx(40页珍藏版)》请在冰豆网上搜索。

ABBaJ8ABB机器人高级编程.docx

ABBaJ8ABB机器人高级编程

ABB[a]-J-8ABB机器人高级编程

8.1任务目的

Ø掌握ABB机器人RAPID高级编程方法。

Ø掌握常用的RAPID程序指令。

8.2任务施行

8.2.1事件程序EventRoutine

EventRoutine是使用RAPID指令编写的例行程序去响应系统事件的功能。

比方在系统启动时,检查IO输入信号的状态,就可通过EventRoutine来完成。

要注意的是,在EventRoutine中不能有挪动指令,也不能有太复杂的逻辑判断,防止程序死循环,影响系统的正常运行。

下面我们就以响应系统事件POWER_ON为例子,进展此功能的说明。

任务描绘:

编写rEvent例行程序,打印“StartOK〞字样,假如在开启后屏幕上显示,那么说明这个例行程序与POWER_ON系统事件关联。

操作步骤:

1.进入“控制面板〞-“配置〞画面,点击“主题〞,选择“Controller〞。

2.双击“EventRoutine〞。

3.点击“添加〞。

4.Event选择“POWER_ON〞〔定义可参考手册〕。

5.Routine选择“rEvent〞。

6.Task选择默认任务“T_ROB1〞〔使用多任务系统要明确例行程序在哪个任务中〕。

7.点击“确定〞后重启。

8.重启后,在操作员画面中能看到信息。

8.2.2多任务MultiTasking

MultiTasking就是在有一个在前台运行用于控制机器人逻辑运算和运动的RAPID程序的同时,后台还有与前台并行运行的RAPID程序,也就是我们所说的多任务程序了。

*系统需要623-1MultiTasking选项。

多任务程序最多可以有20个不带机器人运动指令的后台并行的RAPID程序。

多任务程序可用于机器人与PC之间不连续的通讯处理,或作为一个简单的PLC进展逻辑运算。

后台的多任务程序在系统启动的同时就开场连续的运行,不受机器人控制状态的影响。

多任务程序——任务间数据通讯的方法:

◆任务间是可以通过程序数据进展数据的交换。

◆在需要数据交换的任务中建立存储类型为可变量而且名字一样的程序数据。

◆在一个任务中修改了这个数据的数值,在另一个任务中名字一样的数据也会随之更新。

1.建立多任务

1.进入“控制面板〞-“配置〞画面的“Controller〞主题,选择“Task〞。

2.点击“添加〞。

3.设置Task值为“T_Back〞〔名字可自由起〕。

4.Type选择“NONMAL〞。

5.Mainentry进展重命名,命名为“mainback〞,与前台主程序区分开。

6.进展重启操作,使设置生效。

重新启动后,点击右下角快捷菜单,再点击多任务按钮,将T_ROB1前台任务取消掉。

7.到程序编辑器添加程序模块和主例行程序〔mainback〕,并在程序中添加一些指令。

8.电机上电,运行程序,观察IO的变化。

9.在Task的编辑画面,将Type设定为“SEMISTATIC〞,后台连续运行〔设置后,即使机器人前台程序没有执行,开机后,后台程序也会自动执行〕。

2.多任务之间数据通信

1.在“控制面板〞-“配置〞-“Controller〞主题的“Task〞中将任务更改为“NONMAL〞。

2.在两个任务中建立两个存储类型为可变量的名称一样的num类型数据abb1。

3.将任务改为后台运行“SEMISTATIC〞。

4.在前台程序中编写赋值语句将abb1的值进展更改。

5.执行指令,在程序数据界面观察程序数据的值。

8.2.3错误处理ErrorHandle

在RAPID程序执行的过程中,为了进步运行的可靠性,减少人为干预,对一些简单的错误〔如WAITDI〕进展自我处理。

除了系统的出错处理。

也可以根据控制的需要,定制对应的出错处理。

出错处理常用指令

指令

说明

EXIT

当出现无法处理时将程序停顿执行

RAISE

当定制出错处理时,用于激活出错处理

RETRY

再次执行激活出错处理的指令

TRYNEXT

执行激活出错处理的下一句指令

RETURN

回到之前的子程序

ResetRestryCount

复位重试的次数

*错误处理中最好不要放运动指令

操作步骤:

1.进入“程序编辑器〞,新建例行程序“rErrorHandle〞,在“错误处理程序〞上打勾。

2.添加WaitDI指令,选择MaxTime可选变量,值设置为3。

3.添加写屏指令TPWrite,写一段信息。

4.编辑出错处理,在ERROR下面添加处理指令〔翻开电子参考手册“技术参考手册〞-“RAPID手册〞下的?

RAPIDInstructions…?

说明书,在Instruction章节找到WAITDI指令的说明,找到MaxTime找到此指令触发的错误标示符〕。

5.添加IF指令,条件为“ERRNO=ERR_WAIT_MAXTIME〞。

6.THEN中可填写错误处理的指令,在此处我们填写一个写屏指令。

7.THEN中添加TRYNEXT指令,继续执行激活出错指令的下一条指令。

8.2.4TCP轨迹限制加减速度的设定

我们可以对机器人运动轨迹的加减速度进展限制来满足一些特殊应用的需要。

如机器人搬运高温液态金属进展浇注的动作,为了防止液体的溢出,这个时候我们就需要对加减速度进展限定。

例如:

•PathAccLimFALSE,FALSE;

TCP的加减速度被设定为最大值〔一般默认情况〕

•PathAccLimTRUE\AccMax:

=4,TRUE\DecelMax:

=4;

TCP的加减速度被限定在4m/s2

•MoveLp1,v1000,fine,tool0;

•PathAccLimTRUE\AccMax:

=4,FALSE;加速度被限定为4m/s2

•MoveLp2,v1000,z30,tool0;

•MoveLp3,v1000,fine,tool0;

•PathAccLimFALSE,FALSE;TCP的加减速度被设定为最大值

限制值最小只能设定为

8.2.5WorldZone区域监控功能的使用

WorldZone是用于控制机器人在进入一个指定区域后停顿或输出一个信号。

应用实例:

✧当两个机器人协同运动时设定保护区域。

✧在压铸机的开/合模区设定为WorldZone。

✧机器人进入了指定区域后,输出信号给外围设备。

•通过定义AB两点的位置来确定进展监控的区域。

•可以定义的WorldZone形状:

矩形、圆柱形、关节位置型。

WorldZone监控的是当前的TCP的坐标值,监控的坐标区域是基于当前使用的工件坐标WOBJ和工具坐标TOOLDATA的。

一定要使用EventRoutine的POWER_ON在启动系统的时候运行一次,就会开场自动监控了。

操作步骤:

1.使用WorldZone必须添加WorldZone的选项:

608-1WorldZone。

在“ABB〞-“系统信息〞-“系统属性〞-“控制模块〞-“选项〞中查看是否有WorldZone的选项。

2.在“手动操纵〞界面选定要监控的工具。

3.编制EventRoutine对应的程序:

设置两个矩形对角点Pos1和Pos2,设定对应的坐标值;

使用WZBoxDef\Inside,shPos,Pos1,Pos2;

WZDOSet\Stat,wzPos\Inside,shPos,do1,1;

指令来设定WorldZone和关联的IO信号。

4.设定EventRoutine,与POWER_ON关联,电机上电时自动开启WorldZone功能。

8.2.6限定单轴运动范围的操作

目的:

因为工作环境或控制的需要,我们有时候会对单个轴进展运动范围的限定。

方法:

我们可以对单轴的上限和下限值进展设定。

设定的数据以弧度的方式进展表达。

〔1弧度约等于度〕。

注意:

对单轴限定后,会使机器人的可到达范围变小。

1.进入“控制面板〞-“配置〞画面的“Motion〞主题,双击“Arm〞。

2.选择要限定的轴,进入。

3.设定UpperJointBound和LowerJointBound的值来设定单轴的上限和下限,单位为弧度〔默认为±180度,即±〕,实际的值与设定值留有一定的余量。

4.进入手动操纵形式,当轴运动超出设定的范围后,就会报错。

8.2.7使用IO信号调用例行程序

为了简化控制和对整个系统的一体化控制,我们通常会遇到以下的这种情况:

操作员直接从人机界面直接调出机器人要执行的RAPID例行程序。

要实现这样的操作的设定方法:

✧人机界面将程序编号发给PLC。

✧PLC将编号发到机器人的组输入端。

✧编写对应的RAPID程序。

操作步骤:

1.设定组输入gi1。

2.编写几个测试程序proc1()、proc2()和rSelectProg()。

rSelectProg用来判断调用那个程序。

3.rSelectProg内容如图:

使用CallByVar指令,“proc〞为固定值,根据后面数字的不同,选择调用proc1或proc2。

4.对gi1的值进展仿真,运行rSelectProc时,会调用与gi1的值对应的程序

8.3知识链接-常用RAPID程序指令与功能表

ABB机器人提供了丰富的RAPID程序指令,方便了大家对程序的编制,同时也为复杂应用的实现提供了可能。

以下就按照RAPID程序指令、功能的用处进展了一个分类,并对每个指令的功能作一个说明,如需对指令的使用与参数进展详细的理解,可以查看ABB机器人随机光盘说明书中的详细说明。

8.3.1程序执行的控制

1.程序的调用

指令

说明

ProcCall

调用例行程序

CallByVar

通过带变量的例行程序名称调用例行程序

RETURN

返回原例行程序

2.例行程序内的逻辑控制

指令

说明

CompactIF

假如条件满足,就执行一条指令

IF

当满足不同的条件时,执行对应的程序

FOR

根据指定的次数,重复执行对应的程序

WHILE

假如条件满足,重复执行对应的程序

TEST

对一个变量进展判断,从而执行不同的程序

GOTO

跳转到例行程序内标签的位置

Label

跳转标签

3.停顿程序执行

指令

说明

Stop

停顿程序执行

EXIT

停顿程序执行并制止在停顿处再开场

Break

临时停顿程序的执行,用于手动调试

SystemStopAction

停顿程序执行与机器人运动

ExitCycle

中止当前程序的运行并将程序指针PP复位到主程序的第一条指令。

假如选择了程序连续运行形式,程序将从主程序的第一句重新执行

8.3.2变量指令

1.赋值指令

指令

说明

:

=

对程序数据进展赋值

2.等待指令

指令

说明

WaitTime

等待一个指定的时间,程序再往下执行

WaitUntil

等待一个条件满足后,程序继续往下执行

WaitDI

等待一个输入信号状态为设定值

WaitDO

等待一个输出信号状态为设定值

3.程序注释

指令

说明

comment

对程序进展注释

4.程序模块加载

指令

说明

Load

从机器人硬盘加载一个程序模块到运行内存

UnLoad

从运行内存中卸载一个程序模块

StartLoad

在程序执行的过程中,加载一个程序模块到运行内存中

WaitLoad

当StartLoad使用后,使用此指令将程序模块连接到任务中使用

CancelLoad

取消加载程序模块

CheckProgRef

检查程序引用

Save

保存程序模块

EraseModule

从运行内存删除程序模块

5.变量功能

指令

说明

TryInt

判断数据是否是有效的整数

OpMode

读取当前机器人的操作形式

RunMode

读取当前机器人程序的运行形式

NonMotionMode

读取程序任务当前是否无运动的执行形式

Dim

获取一个数组的维数

Present

读取带参数例行程序的可选参数值

IsPers

判断一个参数是不是可变量

IsVar

判断一个参数是不是变量

6.转换功能

指令

说明

StrToByte

将字符串转换为指定格式的字节数据

ByteToStr

将字节数据转换成字符串

8.3.3运动设定

1.速度设定

指令

说明

MaxRobSpeed

获取当前型号机器人可实现的最大TCP速度

VelSet

设定最大的速度与倍率

SpeedRefresh

更新当前运动的速度倍率

AccSet

定义机器人的加速度

WorldAccLim

设定大地坐标中工具与载荷的加速度

PathAccLim

设定运动途径中TCP的加速度

2.轴配置管理

指令

说明

ConfJ

关节运动的轴配置控制

ConfL

线性运动的轴配置控制

3.奇异点的管理

指令

说明

SingArea

设定机器人运动时,在奇异点的插补方式

4.位置偏置功能

指令

说明

PDispOn

激活位置偏置

PDispSet

激活指定数值的位置偏置

PDispOff

关闭位置偏置

EOffsOn

激活外轴偏置

EOffsSet

激活指定数值的外轴偏置

EOffsOff

关闭外轴位置偏置

DefDFrame

通过三个位置数据计算出位置的偏置

DefFrame

通过六个位置数据计算出位置的偏置

ORobT

从一个位置数据删除位置偏置

DefAccFrame

从原始位置和交换位置定义一个框架

5.软伺服功能

指令

说明

SoftAct

激活一个或多个轴的软伺服功能

SoftDeact

关闭软伺服功能

6.机器人参数调整功能

指令

说明

TuneServo

伺服调整

TuneReset

伺服调整复位

PathResol

几何途径精度调整

CirPathMode

在圆弧插补运动时,工具姿态的变换方式

7.空间监控管理

指令

说明

WZBoxDef

定义一个方形的监控空间

WZCylDef

定义一个圆柱形的监控空间

WZSphDef

定义一个球形的监控空间

WZHomeJointDef

定义一个关节轴坐标的监控空间

WZLimJointDef

定义一个限定为不可进入的关节轴坐标监控空间

WZLimSup

激活一个监控空间并限定为不可进入

WZDOSet

激活一个监控空间并与一个输出信号关联

WZEnable

激活一个临时的监控空间

WZFree

关闭一个临时的监控空间

8.3.4运动控制

1.机器人运动控制

指令

说明

MoveC

TCP圆弧运动

MoveJ

关节运动

MoveL

TCP线性运动

MoveAbsJ

轴绝对角度位置运动

MoveExtJ

外部直线轴和旋转轴运动

MoveCDO

TCP圆弧运动的同时触发一个输出信号

MoveJDO

关节运动的同时触发一个输出信号

MoveLDO

TCP线性运动的同时触发一个输出信号

MoveCSync

TCP圆弧运动的同时执行一个例行程序

MoveJSync

关节运动的同时执行一个例行程序

MoveLSync

TCP线性运动的同时执行一个例行程序

2.搜索功能

指令

说明

SearchC

TCP圆弧搜索运动

SearchL

TCP线性搜索运动

SearchExtJ

外轴搜索运动

3.指定位置触发信号与中断功能

指令

说明

TriggIO

定义触发条件在一个指定的位置触发输出信号

TriggInt

定义触发条件在一个指定的位置触发中断程序

TriggCheckIO

定义一个指定的位置进展I/O状态的检查

TriggEquip

定义触发条件在一个指定的位置触发输出信号,并对信号响应的延迟进展补偿设定

TriggRampAO

定义触发条件在一个指定的位置触发模拟信号,并对信号响应的延迟进展补偿设定

TriggC

带触发事件的圆弧运动

TriggJ

带触发事件的关节运动

TriggL

带触发事件的线性运动

TriggLIOs

在一个指定的位置触发输出信号的线性运动

StepBwdPath

在RESTART的事件程序中进展途径的返回

TriggStopProc

在系统中创立一个监控处理,用于在STOP和QSTOP中需要信号复位和程序数据复位的操作

TriggSpeed

定义模拟输出信号与实机TCP速度之间的配合

4.出错或中断时的运动控制

指令

说明

StopMove

停顿机器人运动

StartMove

重新启动机器人运动

StarMoveRetry

重新启动机器人运动及相关的参数设定

StopMoveReset

对停顿运动状态复位,但不重新启动机器人运动

StorePath

储存已生成的最近途径

RestoPath

重新生成之前储存的途径

ClearPath

在当前的运动途径级别中,清空整个运动途径

PathLevel

获取当前途径级别

SyncMoveSuspend

在StorePath的途径级别中暂停同步坐标的运动

SyncMoveResume

在StorePath的途径级别中重返同步坐标的运动

IsStopMoveAct

获取当前停顿运动标志符

*这些功能需要选项“Pathrecovery〞配合

5.外轴的控制

指令

说明

DeactUnit

关闭一个外轴单元

ActUnit

激活一个外轴单元

MechUnitLoad

定义外轴单元的有效载荷

GetNextMechUnit

检索外轴单元在机器人系统中的名字

IsMechUnitActive

检查一个外轴单元状态是关闭/激活

6.独立轴控制

指令

说明

IndAMove

将一个轴设定为独立轴形式并进展绝对位置方式运动

IndCMove

将一个轴设定为独立轴形式并进展连续方式运动

IndDMove

将一个轴设定为独立轴形式并进展角度方式运动

IndRMove

将一个轴设定为独立轴形式并进展相对位置方式运动

IndReset

取消独立轴形式

IndInpos

检查独立轴是否已到达指定位置

IndSpeed

检查独立轴是都已到达指定的速度

注:

这些功能需要选项“Independentmovement〞配合

7.途径修正功能

指令

说明

CorrCon

连接一个途径修正生成器

CorrWrite

将途径坐标系统中的修正值写到修正生成器

CorrDiscon

断开一个已连接的途径修正生成器

CorrClear

取消所有已连接的途径修正生成器

CorrRead

读取所有已连接的途径修正生成器的总修正值

注:

这些功能需要选项“PathoffsetorRobotWare-Aresensor〞配合

8.途径记录功能

指令

说明

PathRecStart

开场记录机器人的途径

PathRecStop

停顿记录机器人的途径

PathRecMoveBwd

机器人根据记录的途径作后退运动

PathRecMoveFwd

机器人运动到执行PathRecMoveBwd这个指令的位置上

PathRecValidBwd

检查是否已激活途径记录和是否有可后退的途径

PathRecValidFwd

检查是否有可向前的记录途径

注:

这些功能需要选项“Pathrecovery〞配合

9.输送链跟踪功能

指令

说明

WaitWObj

等待输送链上的工件坐标

DropWObj

放弃输送链上的工件坐标

注:

这些功能需要选项“Conveyortracking〞配合

10.传感器同步功能

指令

说明

WaitSensor

将一个在开场窗口的对象与传感器设备关联起来

SyncToSensor

开场/停顿机器人与传感器设备的运动同步

DropSensor

断开当前对象的连接

注:

这些功能需要选项“Sensorsynchronization〞配合

11.有效载荷与碰撞检测

指令

说明

MotionSup

激活/关闭运动监控

LoadId

工具或有效载荷的识别

ManLoadId

外轴有效载荷的识别

注:

此功能需要选项“Collisiondetection〞配合

12.关于位置的功能

指令

说明

Offs

对机器人位置进展偏移

RelTool

对工具的位置和姿态进展偏移

CalcRobT

从jointtarget计算出robtarget

CPos

读取机器人当前的X、Y、Z

CRobT

读取机器人当前的robtarget

CJointT

读取机器人当前的关节轴角度

ReadMotor

读取轴电动机当前的角度

CTool

读取工具坐标当前的数据

CWObj

读取工件坐标当前的数据

MirPos

镜像一个位置

CalcJointT

从robtarget计算出jointtarget

Distance

计算两个位置的间隔

PFRestart

检查当途径因电源关闭而中断的时候

CSpeedOverride

读取当前使用的速度倍率

8.3.5输入输出信号的处理

1.对输入输出信号的值进展设定

指令

说明

InvertDO

对一个数字输出信号的值置反

PulseDO

数字输出信号进展脉冲输出

Reset

将数字输出信号置为0

Set

将数字输出信号置为1

SetAO

设定模拟输出信号的值

SetDO

设定数字输出信号的值

SetGO

设定组输出信号的值

2.读取输入输出信号值

指令

说明

AOutput

读取模拟输出信号的当前值

DOutput

读取数字输出信号的当前值

GOutput

读取组输出信号的当前值

TestDI

检查一个数字输入信号已置1

ValidIO

检查I/O信号是否有效

WaitDI

等待一个数字输入信号的指定状态

WaitDO

等待一个数字输出信号的指定状态

WaitGI

等待一个组输入信号的指定值

WaitGO

等待一个组输出信号的指定值

WaitAI

等待一个模拟输入信号的指定值

WaitAO

等待一个模拟输出信号的指定值

3.IO模块的控制

指令

说明

IODisable

关闭一个I/O模块

IOEnable

开启一个I/O模块

8.3.6通信功能

1.示教器上人机界面的功能

指令

说明

TPErase

清屏

TPWrite

在示教器操作界面上写信息

ErrWrite

在示教器事件日志中写报警信息并储存

TPReadFK

互动的功能键操作

TPReadNum

互动的数字键盘操作

TPShow

通过RAPID程序翻开指定的窗口

2.通过串口进展读写

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1