版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、搬运码垛工作站建模1、创建机器人系统2、创建动态输送链3、创建动态夹具4、工作站逻辑连接5、添加 IO( 设置好需重启 ) 6、示教目标点(同步到 RAPID ) 7、 RAPID 编程创建机器人系统1、创建空工作站工氏乂空工ft%&s1MID 出于I*:f- 二:-.2、导入IRB 260机器人模型J d*-"1 -I吟-«±a V豹乎:f g.H -R L匚布|'酒诅leaL.r 匕巨.::ilMlrplflU ” I丰忡T7工惟帖I翊日ftO*?S7tUdfl fr .=忙M3, ii坤 li Pl* *nriHi血山CJUL"fR
2、c-bora_d<>i. -EiflTliHSPT. riTin:NBAt申K.s ,Wi九苛EF町X 眾kj耳"J简*£耐- J* El , 卄国-止i i3二宀<M;=T -二已P7I冃X _3 己打I圧13丄膽'创#U阅rnd=订十T刁朋-=1咼Cp!PECiiJ於g HRW 鶴曙E:- 辭呻,山;匚工衬£苗l理 也岸笫( !3、从布局创建机器人系统,勾选Chinese 和 709-1 网络讒疔工忤哲=Aflfi ftob0E£(udl04QiVlM讥2蚕:0 » i >e± t. g - 打 f
3、 -=t hfJ'rt=z a屹 匸*事L' -.-二二岂匕>-PJ-MfcXil q 1?H屯空灯-sfcfc二鼻k: *TT -tfMfi -tl L-a rSIXM左醪呂L空,1忏(!?1佯话】*心卡I Ufi«?_LlD_Ert_i3>;z5.+口 itfCWUmL - - rlDDC - ILH - 曲lO -沾(爲-鼻心眶- .71 畫1垛監=.龙弓 与率JS旦 尸、创建动态输送链1、添加输送链并修改位置二!& q 疗-=lima 百£屬53'|1|i":i2$ : "WWb常啊鬱2、创建600*4
4、00*200 的物料并修改位置七V- 宀r3、添加一个smart组件g组件廻A主却件左md闹件* e 佑P 耒保存工作站 J * ABB Robotstudio 6 . A :主翌n 基5蛊模 仍直控刮譎CRAPID AddJns零改©寻入几何依-匡憧F 0 如齒<?僦”筋表苣k £3表肯边界?园幾.Jg /A点生赵界T X00g盏去O帝音JE注疋表可拦'左m践臥法SD喫作a z;fli呈HZi_ I 关闭 I I砲I g遥瘫XI0 SC_送链I內理嶷岡 書味保存工作站*组件 JWTWf; = I »-r 1-J t 1 a =齐 囤邑r a?物料r
5、評枷料-2猱tc绢件编辑父內象组成I厲性弓酸I僖寻和連援I囲子对龜组件4、添加source组件5、设置物料本地原点剪切CtrRXCtrkCTIM卑世叶Smart劉羊0-1号出;1彳可嵐”已華接几何薛可见E這设走;S犬地坐标位盖工、丫、2俪0 000.00二 0|方向0 00Cjo 00-0.001驶討应用耋形昱艮©stXLS*I込厂* rf 讦=宀 l-nT"d 出6、添加 LINEMOVER 和 QUEUE 组件Li near Mover移动一牛对象到一杀我上伍耋1 SC J&送错XIug g输送链组成:国性与连结丨信号和as I设计子对aa件Smari 件添fi
6、n绢件.號觀乍1Z 未保存工作站* iflft 丿硝兀_输谖前LintarHovrI g Qneue 墮 S*ure* 才删物料*Source创建一乍图开養且件的拷raQueue喪示为对象的俅列,可作为组遊行操纵7设置LINEMOVER属性届性 Lin earM oversBObject3C_S|ijSSS/tSueu.eDisrection Gnm)a. oc-1.00 -0.00200”KtF&y也mg*Glolal信号Eicecute黄SI8、添加面传感器组件JU'tlr PlaneSen wrOri tin &nnO1000.00 : -220 DC)073.A
7、ll siCL 00:450.00C 0 ODAii=20-00-0.00:S5.00SeiLEedPart信号.00雇性ActiveSansorOut黄闭9、设置输送链不能被传感器检测2爲剪Ctrl-XOctn-c'吩等-宰二斷开詐曲鞋寻出*Tj何饥"已鏗釦何憔可乂y逵佬.更尹至亍忘走锂奩志底趙匚adTI/U憔直隆卫二=亠厶二匚 三.< =苗谡走为UC5哙g¥嵯教廻>于>丁二=3k卜a左掘宣抒:丁OkX删硃Del幅杳N*握労禹蕭工呵怙:裁世建蔓充可ffl悟矗墨卿10、设置SC输送链的属性连接现电: SC_SS K底i scjSi送链K哇与査牛惜号
8、加辕融耳瞎ISttK姐翹属性F巴1 g# Kh 站坯遅片 gff干庫ftgH 睛H轉 £世渲结II腸操5雨慢E祷旦H1SrtttrR埶琏曲盪遊这弍彰i:就fft隆I 晶1-”E11、设置信号连接竝1SC變细X-c嘲sGja送戡1 Su 曲 fh T左成居性写止财常勻n至昼1-界 wo(sg细-爲召s出fl1三三mCIT1i DrfihFi 1ailDT/O TiSTllil T吋ft曲二Tift苣”彌RK¥蒯象口忻刘象口任i;援siC-Slfi 矩'stsitZTfvSOILTCHSaur c«EcwcaluJQeuIngiLv JUTL-anaSc-Ti
9、zcTSM-.EbrQ-iitQ-jd-«-aJl-HHLria丄详-R?12、添加信号处理组件,用于检测传感器下降沿JSili'LogicGatelNOTIOp erator属性宿g I应I标巨1S 未保存工作站*机擁熬常SC融審X I覇sc_输送链组成幅性与连结信号和连按设计子內驟组件£nnartl4源仙纟冃件Li rte nlH over籟动一个対到一条线上LoeiHCT进血信号的谴辑运算表示掷对象的耻列*可作対组遊行撫纵Plajk«?«n3or监炎柚寸象与平面相交jflflLo进属Op血输血la输CM13、传感器下降沿触发source进行
10、copy腿 1scjatKft X上S J输送儀-C国护让h 仃闻成1显1込連站*总巳101«谡悴1名和f言号案出值1II 刃 TCWI L£ t LlZr.jit.E-ozinJS匾MiTT 5- fT.qls吨月可SH怕IS目标蹲ssc tesi链Ctu-lCXSVECEx4citio二ug CELl-CCIilEt.UllS<Eliz.-iutuePlnrcSrncrSriLsrTTOvIAti«cDr-Qur-e fic命g 11Be:心IF RfnrTcijuUL»eiDfi4【嵐丁riiipuiSlilu aHits査tdPtJ匕曲 帚
11、猜 畳电对I:皿14、传感器与SC输送链的输出联系丸t: SCJB碍 X 1ete. _»|用5C_输送谯M I謹乂直结I佶W牝迪播说If3lAJfi 号i 51 tiLIr.p:jt-InrinFi e利1 口 n巳ff开¥刁十宙洁吕 涓垢 (fltx涯信sa嘟祷目佈悽StirtCTIV臺er*SdLil CVELc. Chil dJi"即UXjuEkqUvdvHa*eS«is<rStitEctOur5uweUrQLrXieLog: cGte ITl险Ip屮Lofic辰2 FT(nr|lU h1咤让血t-【LlrK:iipi:<1Bi 叫F
12、L*aM 話 ciuvri=1flrn 厂EH!hP即 T" r.-iiiih-pi .-.t E ITHIr11? T 強15、添加仿真开始结束组件,用于激活传感器尙SC_输送琏羔加绍件組咸Ig性旨连a I信号和连樓I而子对a组件SoTirce尹创建一十圉形组件的拷贝n _ LiziearNlcver歹f够动-亍圖象到-条线上Queue歹S示拘対象的跳则,可作组讲行操瓠EI n uieS «EisorU ;£测內象与平面相交Lo<ic&4tft HOTHi进行s宇信号的逻辑运算r Siffula-tioitEvents世.仿頁开始和停止时发出的麻冲
13、信号rrr16、添加置位复位组件,对仿真开始结束信号进行保持念i 5(2_输送链组成子对象ffi件属性与连錯li崗琢閔+移动一个对象到一叢线上Q-ueue表示再对象的PA列,可作为组诜行燥纵PlaneSena or 监刪对象与平面掐交Loei cGate IIDI 逬li数室信号的逻辑运»S 1(11111 ati omErents仿頁开皓和恒止时芨出的脉冲佰号Loci cSRLfcicK i殳籌锁定17、豪5_输退«.旳區-e*34t iS占I应吕尊:4mi£ £gj_i 內4;!utta县 lu diiIW9dtrCTlffiBeihriE輸I書Tu
14、rn冃诃曹IicchLjuiLU EOT】JnLi-nLSnx"Bc«=rL4F14HS4C<J<<Idh爼h出由e ttE*i寫计1 aft椚#!?1* 【.IN If.-1 Pall 匸BEU.Ita |Ldn.'iL w :ididi 11-.-ife*!: m H*UQrtItSH号5tfR5«?d»E4VC4CiMitAdAJrO?CllUflK-5iM.irhriLirrJJw Pp卿*SCMBll>i ultk irfTirili £J.- IK ah -h r.ifliLn#产却.cml q uh
15、dTiqBrDl'kL丄 ItrYigtcbcLj-ntxcaiA<JkJCKunlJJJ£18、进行仿真设定选择SC输送链进行验证、创建动态夹具1、先制作一个吸盘模型,然后设置成工具,并安装到机器人法拉盘-二严i 2、添加SMART组件三二二-质性;Attach« IT X豆哉仿豆S刮 fti口PfDW <?匪 施征a 乩工具X考5_工具坦更 属性与遵结II信号和连擡丨厂干对鲁镰件遥m翱件£ 耒倶存工佯£占*唸(gyt具3、添力口 ATTACHER 和 DETACHER 组件屯SCZC具忑如銅件组ffi 属性与连结I信号和连接设i+
16、 子对象组甘Smartishh Attacliftr 玄装一亍对象k Dstaehsr於ffi除一个s安装的对象4、设置属性J1性?ar组七xipanfl an窘它 aipan:hl Id,Wcmjil属性;DetacherJi性(jMn)3 OO ; jo. 00; 0.00ki entation Cdec)3.00: CLDCi " 0.00:信号Luacu-te应用5、添加一个线传感器组件視蹙1比_1島乂厢sc_工具俎成属性与S结.信号和连接子対S组ft设计Child回 EeepTosi tionSm占礦件SsSMSWf何对象与两点之间的线段相交At tach tr安装一个对象
17、Line 头 ns QX6、线传感器设置属性信号ExecuteJS13; Line&erso rJittSt art (rum)EHSa : 000End jninjL505.DU ; 0QClEbe.OORadius (mm)4 OOSeoiEeJFartIIt£ieO_l lJ£<ia_OL/Ba£aSenseJFoiiLt (jnn)14.000 OO0 00信号ActiveSensorOul应用黄®7、设置吸盘工具不能被传感器检测r 宙'lEB; d V It塑 ifi* 屯£匚_ 巒 占I 屈I£扌玷勇
18、切Ctrl+X亡trl+亡冋与军巧住可见liS嵯3r机輕”ffli紅仙几何回把线传感器安装到吸盘(不更新位置,保持当前位置)CVI-K复起tIrHCts:- TH 二匕1一闇-fcj卑芽走辜立二,_Q1LU-电乳二具由 At tacker曲 Detacktr ? LizieSens »jTr " ” _ ” _F _ -w _ =, , += 丸_输送帯 -£壮盘1如 1 益托盘EZ可兀S*、设置属性连接选0刈S舉看磧詡斗届性Body IBody ilRB4S0i_llt)_240_mxipar组匸 t咗与佳站 N至涎sJl的 gj社UH=5?ia蜀如1謝1朗-百
19、ftgm旺W Hfl HH1呼Munl-L 丄二皿;:t:iNt井浹mii卞商H芾乐tt炷ALlur10、添加信号及连接4 SC_工具I Ki厨医耳ijif临嵩耳片 ETiP:TH 曰 DuFyoi.目諏录LjEuSauixr机ZbE:mil匚5 =:ifr订 gff二沪wit召 泪配 *1 tAjgH9C 二LSLEiitSflnirft嚴AjcLlva E血 Et*gipMTLTiirCkt姑lint/O *E.ectiEn $盅 世型 X/0 CDnatrlims H第11、添加信号处理取非和锁定组件sc_工具组粛 g性与连箱I信号和连接I设计I子曲聲组件乂 Attacker品安装一卜对
20、酸Dstichsr艷拆腺一个已安装的吋象左 LinaSiksory尊检测是晉有任何对象与两点Z间的技毆相交-rcmA进n数字信吕的逻辑运算12、继续信号连接心X,5 SC_XA蚯5:負i| IS号电確喪i£计严Rg1竺伯怎 HIT Ti EEB9&OEatFrdSr冃tUti1匚羊"斗TS*bgC屮tt HCuJ «Uji4£whCqfL阮诟mnUCLCll FffllQllpVEZX4C1Q小*F肌E讪L*Ci<*TchSMDv-lacbalL " -Za-L v'lLvl SKL aldkL.LLLKUiehQclpn
21、lV«clliUEl富miF FffT,a113、添加一个示教物料W14、应用手动线性验证SC工具糞坐化工貝tt号"XBo|o'1匚1*b|蛊歹OH宕J* 昴3 卫未诩?工站* 畐 lUll-BUJUiJZqU_Ul二;J期空zfljj Al 1 LcJU- g£( t L LCIJ-_ tuvL-idihjTX9Bl X L二工昊 Ir t± SH «上uA-n-Ki?Tidsfi.3Hr ITSfcfiMg豎- hri- E .雯-r WEB 3(Ld四、工作站逻辑连接I -二 p 0 问a1= "P °&quo
22、t;-u* 争*工:E: r八gtHlBP-J*如民気B>-Knm«wt* MKW芦鴨 SC PalletljK与也鶴r:E*也 "讹寻却,*=zErv*4w»MlA»5卫五、参考代码MODULE MainMoudlePERS tooldatatGrip:=TRUE,0,0,200,1,0,0,0,25,0,0.00109327,116.889,1,0,0,0,0,0,0;!吸盘工具数据PERS loaddata LoadEmpty:=0.01,0,0,1,1,0,0,0,0,0,0;PERS loaddata LoadFull:=40,0,0,5
23、0,1,0,0,0,0,0,0;!有效载荷数据PERS robtarget pHome:=1620.00,-0.00,1331.59,1.27986E-06,-0.707107,-0.707107,1.27986E-06,0,0,1,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;!基准点PERS robtarget pActualPos:=1620,-1.87531E-14,1331.59,1.27986E-06,-0.707107,-0.707107,1.27986E-06,0,0,1,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;
24、!实际点PERS robtarget pPick1:=1488.007792464,376.826660408,476.964684195,0,0.707106307,0.7071 07256,0,0,0,1,0,9E9,9E9,9E9,9E9,9E9,9E9;!1 路拾取目标点PERS robtarget pPlace1:=-292.446,1263.27,55.4492,0,0.707107,0.707106,0,1,0,2,0,9E+09,9E+09,9E+09, 9E+09,9E+09,9E+09;!1 路放置基准点PERS robtarget pBase1_0:=-292.44629
25、4945,1263.272085268,55.449220723,0,0.707107387,0.707106176,0,1, 0,2,0,9E9,9E9,9E9,9E9,9E9,9E9;!1路放置 0 度姿态PERS robtarget pBase1_90:=-391.976797324,1362.469634994,55.449159414,0,1,-0.000030621,0,1,0,3,0,9E9,9E9,9E9,9E9,9E9,9E9;!1路放置 90 度姿态PERS robtarget pPick2:=1488.013130905,-358.406014736,476.965039
26、287,0,0.707106307,0.707107256,0,-1,0,0,0,9E9,9E9,9E9,9E9,9E9,9E9;PERS robtarget pPlace2:=-317.378,-1857.99,55.449,0,0.707108,0.707106,0,-2,0,-1,0,9E+09,9E+09,9E+09,9E+09,9E+09,9E+09;PERS robtarget pBase2_0:=-317.378137718,-1857.993871961,55.448967354,0,0.707107745,0.707105817,0,-2,0,-1,0,9E9,9E9,9E9
27、,9E9,9E9,9E9;PERS robtarget pBase2_90:=-407.525988074,-1755.902485322,55.449282402,0,1,-0.000031217,0,-2,0,0,0,9E9,9E9,9E9,9E9,9E9,9E9;PERS speeddata MinSpeed:=1000,300,5000,1000;PERS speeddata MidSpeed:=2500,400,5000,1000;PERS speeddata MaxSpeed:=4000,500,5000,1000;!搬运速度定义PERS bool bPalletFull1:=FA
28、LSE;PERS bool bPalletFull2:=FALSE;!逻辑布尔量,拾取后为 UE,放置后为FALSEPERS num nCount1:=1;PERS num nCount2:=1;!输送链计数PROC Main()rInitAll;WHILE TRUE DOIF diBoxInPos1=1 AND diPalletInPos1=1 AND bPalletFull1=FALSE THENrPick1;rPlace1;ENDIFIF diBoxInPos2=1 AND diPalletInPos2=1 AND bPalletFull2=FALSE THENrPick2;rPlace
29、2;ENDIFWaitTime 0.1;ENDWHILEENDPROCPROC rInitAll()Reset doGrip;pActualPos:=CRobT(tool:=tGrip);pActualPos.trans.z:=pHome.trans.z;MoveL pActualPos,MinSpeed,fine,tGripWObj:=wobj0;MoveJ pHome,MidSpeed,fine,tGripWObj:=wobj0;bPalletFull1:=FALSE;nCount1:=1;bPalletFull2:=FALSE;nCount2:=1;ENDPROCPROC rPick1(
30、)MoveJ Offs(pPick1,0,0,400),MaxSpeed,z50,tGripWObj:=wobj0;MoveL pPick1,MinSpeed,fine,tGripWObj:=wobj0;Set doGrip;WaitTime 0.3;GripLoad LoadFull;MoveL Offs(pPick1,0,0,400),MinSpeed,z50,tGripWObj:=wobj0;ENDPROCPROC rPick2()MoveJ Offs(pPick2,0,0,400),MaxSpeed,z50,tGripWObj:=wobj0;MoveL pPick2,MinSpeed,
31、fine,tGripWObj:=wobj0;Set doGrip;WaitTime 0.3;GripLoad LoadFull;MoveL Offs(pPick2,0,0,400),MinSpeed,z50,tGripWObj:=wobj0;ENDPROCPROC rPlace1()rPosition1;MoveJ Offs(pPlace1,0,0,400),MidSpeed,z50,tGripWObj:=wobj0;MoveL pPlace1,MinSpeed,fine,tGripWObj:=wobj0;Reset doGrip;WaitTime 0.3;GripLoad LoadEmpty
32、;MoveL Offs(pPlace1,0,0,400),MidSpeed,z50,tGripWObj:=wobj0;MoveJ Offs(pPick1,0,0,400),MaxSpeed,z50,tGripWObj:=wobj0;nCount1:=nCount1+1;IF nCount1>20 THENbPalletFull1:=TRUE;ENDIFENDPROCPROC rPlace2()rPosition2;MoveJ Offs(pPlace2,0,0,400),MaxSpeed,z50,tGripWObj:=wobj0;MoveL pPlace2,MinSpeed,fine,tG
33、ripWObj:=wobj0;Reset doGrip;WaitTime 0.3;GripLoad LoadEmpty;MoveL Offs(pPlace2,0,0,400),MidSpeed,z50,tGripWObj:=wobj0;MoveJ Offs(pPick2,0,0,400),MaxSpeed,z50,tGripWObj:=wobj0;nCount2:=nCount2+1;IF nCount2>20 THENbPalletFull2:=TRUE;ENDIFENDPROCPROC rPosition1()TEST nCount1CASE 1:pPlace1:=Offs(pBas
34、e1_0,0,0,0);CASE 2:pPlace1:=Offs(pBase1_0,600+10,0,0);CASE 3:pPlace1:=Offs(pBase1_90,0,400+10,0);CASE 4:pPlace1:=Offs(pBase1_90,400+10,400+10,0);CASE 5:pPlace1:=Offs(pBase1_90,800+20,400+10,0);CASE 6:pPlace1:=Offs(pBase1_0,0,600+10,200);CASE 7:pPlace1:=Offs(pBase1_0,600+10,600+10,200);CASE 8:pPlace1
35、:=Offs(pBase1_90,0,0,200);CASE 9:pPlace1:=Offs(pBase1_90,400+10,0,200);CASE 10:pPlace1:=Offs(pBase1_90,800+20,0,200);CASE 11:pPlace1:=Offs(pBase1_0,0,0,400);CASE 12:pPlace1:=Offs(pBase1_0,600+10,0,400);CASE 13:pPlace1:=Offs(pBase1_90,0,400+10,400);CASE 14:pPlace1:=Offs(pBase1_90,400+10,400+10,400);C
36、ASE 15:pPlace1:=Offs(pBase1_90,800+20,400+10,400);CASE 16:pPlace1:=Offs(pBase1_0,0,600+10,600);CASE 17:pPlace1:=Offs(pBase1_0,600+10,600+10,600);CASE 18:pPlace1:=Offs(pBase1_90,0,0,600);CASE 19:pPlace1:=Offs(pBase1_90,400+10,0,600);CASE 20:pPlace1:=Offs(pBase1_90,800+20,0,600);DEFAULT:TPErase;TPWrite "the Counter of line 1 is error,please check it!"Stop;ENDTESTENDPROCPROC rPosition2()TEST nCount2CASE 1:pPlace2:=Offs(pBase2_0,0,0,0);CASE 2:pPlace2:=Offs(pBase2_0,600+10,0,0);CASE 3:pPlace2:=Offs(pBase2_90,0,400+10,0);CASE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论