KEBA机器人控制系统基础操作与编程应用 教案 教学案例说明-码垛拆跺_第1页
KEBA机器人控制系统基础操作与编程应用 教案 教学案例说明-码垛拆跺_第2页
KEBA机器人控制系统基础操作与编程应用 教案 教学案例说明-码垛拆跺_第3页
KEBA机器人控制系统基础操作与编程应用 教案 教学案例说明-码垛拆跺_第4页
KEBA机器人控制系统基础操作与编程应用 教案 教学案例说明-码垛拆跺_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

码垛拆垛程序说明

目录

码垛程序说明......................................................1

一、系统说明................................................1

二、项目说明................................................1

三、程序说明................................................2

1.GetTool:抓取工具程序.................................2

2.GetBox:抓取盒子程序.................................5

3.PutBox:放置盒子程序.................................8

4.PutTool:卸下工具程序................................10

5.Main:主程序........................................12

一、系统说明

控制器:CP088F

系统版本:KeMotion303.16

本体名称:ArtarmTX60L

二、项目说明

码垛项目名称:Pallet_0416

项目程序组成:

GetBox:抓取盒子程序

GetTool:安装抓取工具程序

Main:主程序

PutBcx:放置盒子程序

PutTool:卸下释放工具程序

项目变量说明:

Palletjn:码垛进(物体放入,在托盘上进行码垛)

Pallet_Out:码垛出(物体取出,在托盘上进行拆垛)

Pallet_ln_2:码垛进2(物体放入2,在工作台上进行码垛)

注:(等待时间)可以设置长一些,比如1500ms,运行程序时,机器人速度

最好不要设置在100%,而是设置在50%左右即可。

②注意标黄底程序语句里,指令里用的动态参数和逼近参数(针对本条指令),以及单独

设置变量的动态参数组和逼近参数组的使用区别(针对■改语句下的所有动作指令)。

三、程序说明

1.GetTool:抓取工具程序

IO.DO_ConnectTool:=FALSE(抓取工具信号关闭)

WaitTime(500)(等待500ms)

RefSys(World)(设置参考坐标系为世界坐标系)

Tool(DefaultTool)(设置目前使用工具坐标系为默认工具坐标系)

PTP(apHome)(机器人关节运动到Home点)

PTP(apGetTool_gddl)(机器人关节运动到抓取工具的过渡点

Lin(cpGetTool_gdd2)(机器人直线运动到抓取工具的过渡点2)

Lin(cpGetToolPoint,dO,oaO)(机器人直线运动到抓取工具点,并设置该条运动指

令动态参数为dO,逼近参数为。2)

WaitlsFinished()(等待机器人运动到指定位置点)

IO.DO_ConnectTool:=TRUE(抓取工具信号打开)

WaitTime(500)(等待500ms)

Lin(cpGetTool_gdd3)(机器人直线运动到抓取7:具的过渡点3)

PTP(apGetTool_gddl)(机器人关节运动到抓取工具的过渡点1)

PTP(apHome)(机器人关节运动到Home点)

附图说明如下:

|IArtwmljfWorld|\DCuitroolj00%|

Ptlk<_0416G<Tooi33:、0隽16I1014

□・儿!L

GttToolsnphe

;lODO.ConfMCtTool:■FALSE

3WammH500)

4RefSyi(WortcO

5lodgMlTToM

7PTP(«pGt<To«4_Qddn

•Un(cpG4tTool.odd2)

3Lkn(cpC«rroolPoknt.dOM0|

IOW・MHFZh«dO

1110DO.ConmctToolTRUE

12WiRTImHWO)

I)Lin(cpG<tTooLodtf5)

14PTP(ipG»<Toci_gdd1J

TPTP(tpHofnt)

l<»>EOF<«

图1机器人关节运动到Home点

ERA

PaBetMHGKTool

GMTocISTEPtj

?K>DO.CofWWCfTo«i:•FALSE

3W.<TE|WO|

4R»TSyMWo<M)

5To<Mp«CMJ»TooO

SPTP(epHo<n«)

P-P|jpGetTc.:..Qd<:<:

♦LFcpG<T。。3g

>LrcpGMTooTKdoo«O)

toWaevFlnitMOO

iiIODO.ConnecfTool:•TRUE

12WatTwlWOI

ULHcpGMTool_9dd3)

MPTP(apG«(Tocij><M1»

»5PTF(epHom<)

・»>EOF<«

图2机器人关节运动到抓取工具的过渡点1

7Artar«T\|1K>%

3G«<T2':•?,套1,

国PaMtJMISlAjfar^TxeCtG«tToc4FTP|ipMar

G«T2FTBPtr

710DO_C4<ww€fT«ol••FMSC

9WaffTtoM<M0l

3TocMDWMTT

•PTPtapHWM)

10

Il»DO.CEtcfTI:•TRUE

f:WaffTtowdOOI

l>LWCtG<To«i_e>MJ)

M小《pG«(T2-fddn

•srTFttpHHm)

It»»fOF«<

图3机器人关节运动到抓取工具的过渡点2

7AftermTfWcrW\(MMMTOOI100%

),t_M6MTool

AT(MirwroOLpeGHToolPTPfipHjfl

GMTMSltPVj10

2»DO.C«<wwcfTo«l•FALW

jWaMTim^MOl

4R«fSyt(Wo<M|

9TafDtfeuCToon

cPTPtipHw<)

'PTP(«pG^Tool_fl<Kl1)

•EcpG^fTooUKkO

♦W4E”wdO

iiQDO.CeanectTool•TRl^

12WaffT«n«<mi

19LEcgfroolqg

MPTP(«pGHTool_o<kl1)

16FTP(«pMcm«)

K旧”

图4机器人直线运动到抓取工具点

GHTOOISTtPtjU

2lODO.Coon^tTool-FALSI

>WMT<YM(K0)

图5机器人直线运动到抓取工具的过渡点3

2.GetBox:抓取盒子程序

IO.DO_EnableVacuum:=FALSE(真空吸盘关闭)

WaitTime(500)(等待500ms)

RefSysfWorld)(设置参考坐标系为世界坐标系)

Tool(DefaultTool)(设置目前使用工具坐标系为默认工具坐标系)

PTP(apHome)(机器人关节运动到Home点)

PTP(apGetBox_gddl)(机器人关节运动到抓取盒子的过渡点\)

Tool(Tool_Vacuum)(设置目前使用工具坐标系为真空吸盘工具坐标系)

PTP(apGetBox_gdd2)(机器人关节运动到抓取盒子的过渡点2)

(机器人直线运动到抓取盒子点,并设置该条运动指

Lin(cpGetBox_Point/dO,oaO)

令的动态参数为dO,逼近参数为oaO)

WaitlsFinishedf)(等待机器人运动到指定位置点)

IO.DO_EnableVacuum:=TRUE(真空吸盘打开)

WaitTime(SOO)(等待500ms)

PTP(apGetBox_gdd2)(机器人关节运动到抓取盒子的过渡点2)

PTP(apGetBox_gddl)(机器人关节运动到抓取盒子的过渡点

PTP(apHome)(机器人关节运动到Home点)

附图说明如下:

7PTP(M>G«tBox-odd1|

6Too<(Tooi-V«cuum|

9PTP(apGttBox.gdd2)

,oLri(cpGM8oi_PoiHt.goaO)

IIWs*hFkni»h«dO

12IO.DO_£nibleV»ajum-TRUE

13WiltT»me(500|

uPTP(apGttBox.gdd2)

isPTP“G・tBox_9dd1)

16PTP(«pHomt)

17»>EOF«<

图6机器人关节运动到Home点

AnarWorld\D«f»J(Tool300%

l」UH-JAf11*%(>•>«

Qr*ttft>99!»W

o;Eu»BCA•,a*•a0•・・・;工

G«<B«xFTCP户夕,,#l~Q«21*Z

2IOOO.IrwW«V»€uum-FALU

3WtrfTm0KO)

4RgyXWE

3TOGA«U*TT

6PTP(«pH0^)

iPTP(4pG«<0oBj)d<11)

9PTFt^>G^So«^d<O)

10Lr<cpG«tBoi_PoM<0.o«0)

HWMMFWMdO

12K>IX>.EnMieV»cuum・TRUE

13WtMTkVH<001

i4PTP(4pG«(Bo>_04<Q)

15rTF^G^»o«_B<M1)

sunstop

•<

n»>COF«<

图7机器人关节运动到抓取盒子的过渡点1

MtMST1Ph10

210OO.En^UVacuum-FALSE

3W«<T»»w|W0|

4R«f8y«(W0f1d|

SZgfc«TT

6PTP(ipHom»)

:PTP(«pGt<BOM_fl<M1)

•Toe4(Tooi.Vacuui^)

9PTP(«pGMB««_g«>dQ)

.PK.680I

IlWWtFknHMdO

1210DO.EfMbtoVacuum:•TRUE

UWsffTm|500)

MPTP(«pGHBoi_®«M2)

ISPTP(ipG«<Boi_fl<M1)

KPTP(tpHom«)

•?»>ior«<

PWR

图8机器人关节运动到抓取盒子的过渡点2

图9机器人直线运动到抓取盒子点

£P.MJM1.(MwmTXm.peo^sth)GttBoiE(«pH©«r.

STEPhH

2IODO.€rMM«VKUOT-FALSE

9WaMBmHSOOI

4RtfSy»(WortflO

6T8KMMAY。。。

<PTP<ipHom«)

1PTP(M>G»CB0M.Qd<J1>

9TglCTooLVecuum)

□PTP(epC«<Box_gdd2)

10L*n(cpC^B«i_Po*ntgosO)IM

IIWartltFraMdO

12lODO.EfMNeVacuum,TRUE

13W«itnmHW01

PTP(ioG«Box_oddn

♦PTP(apHom«)

一I

PWR

图10机器人抓取盒子后,关节运动到抓取盒子的过渡点1

3.PutBox:放置盒子程序

Tool(Tool_Vacuum)(设置目前使用工具坐标小吸盘工具坐标系)

PTP(apHome)(机器人关节运动到Home点)

PTP(apPutBox_gddl)(机器人关节运动到放置盒子的过渡点

Dyn(dO)(设置以下所有指令的动态参数为d。)

Ovl(oaO)(设置以下所仃指令的动态参数为。。0)

Pallet_ln.ToPut()(进垛去放置盒子点、)

WaitlsFinished()(等待机器人运动到指定位置点)

IO.DO_EnableVacuum:=FALSE(真空吸盘关闭)

WaitTime(SOO)(等待500ms)

Pallet_ln.FromPut()(从放置盒子点出垛)

PTP(apPutBox_gddl)(机器人关节运动到放置盒子的过渡点口

PTP(apHome)(机器人关节运动到Home点)

//Lin(cpPutBox_Point)(该指令被注释,不执行)

//Lin(cp_PutBox_Point2)(该指令被注释,不执行)

附图说明如下:

图11机器人关节运动到放置盒子的过渡点1

图12进垛到达放置盒子点

图13出垛到码垛入口点

4.PutTool:卸下工具程序

RefSysfWorld)(设置参考坐标系为世界坐标系)

Tool(DefaultTool)(设置目前使用工具坐标系为默认工具坐标系)

PTP(apHome)(机器人关节运动到Home点)

PTP(apPutTool_gddl)(机器人关节运动到放置工具的过渡点口

Lin(cpPutTool_gdd2)(机器人直线运动到放置工具的过渡点2)

)(机器人直线运动到放置工具点,并设置该运动指令动态

LinlcpPutToolPoint,dOzoaO

参数为dO,逼近参数为oaO)

WaitlsFinished()(等待机器人运动到指定位置点)

IO.DO_ConnectTool:=FALSE(抓取工具信号关闭)

WaitTime(SOO)(等待500ms)

PTP(apPutTool_gddl)(机器人关节运动到放置工具的过渡点

PTP(apHome)(机器人关节运动到Home

附图说明如下:

图14机器人关节运动到放置工具的过渡点1

图15机器人直线运动到放置工具的过渡点2

图16机器人直线运动到放置工具点

5.Main:主程序

Pallet_ln.Reset))(Palletjn码垛数据复原-初始化)

CALLGetToolf)(调用GetTool子程序)

WHILENOTPalletJn.isFullDOPalletjn码垛没堆满时进行如下操作,用循环指令)

CALLGetBox()(调用GetBox子程厅,)

CALLPutBox()(调用PutBox子程序)

END_WHILE(结束WHILE循环)

Pallet_Out.actParts:=8(设置PHletJDut码垛中当前物体数为8,用赋值语句)

Pallet_ln_2.Reset()(Pa"et_m_2码垛数据复原,初始化)

WHILENOTPalletJn_2.isFullDO(Pallet_ln_2码垛没有堆满时进行如下操作)

Dyn(dO)(设置以下所有指令的动态参数为dO)

Ovl(oaO)(设置以下所有指令的动态参数为0ao)

Pallet_Out.ToGet()(进垛夫抓取盒子点)

WaitlsFinished()(等待机器人运动到指定位置点)

IO.DO_EnableVacuum:=TRUE(真空吸盘打开)

WaitTime(1500)(等待1500ms)

Pallet_Out.FromGet()(从抓取盒子点出垛)

PTP(apHome)(机器人关节运动到Home点)

Pallet_ln_2.ToPut()(进垛去放置盒子点)

WaitlsFinished()(等待机器人运动到指定位置点,即等待机器人到位)

IO.DO_EnableVacuum:=FALSE(真空吸盘关闭)

WaitTime(1500)(等待1500ms)

Pallet_ln_2.FromPut()(从放置盒子低出垛)

PTP(apHome)(机然人关节运动到Home点、)

END_WHILE(结束WHILE循环)

CALLPutToolf)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论