输送链跟踪Conveyor-Tracking案例_第1页
输送链跟踪Conveyor-Tracking案例_第2页
输送链跟踪Conveyor-Tracking案例_第3页
输送链跟踪Conveyor-Tracking案例_第4页
输送链跟踪Conveyor-Tracking案例_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

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

文档简介

MODULEMainMoudlePERStooldatatVacuum:=[TRUE,[[0,0,100],[1,0,0,0]],[0.2,[0,0,60],[1,0,0,0],0,0,0]];定义工具坐标系数据tVacuumPERSwobjdatawobj_cnv1:=[FALSE,FALSE,"CNV1",[[0,0,0],[1,0,0,0]],[[0,0,0],[1,0,0,0]]];定义工具坐标系数据wobj_cnv1,随CNV1运动而运动PERSwobjdataWobjBox:=[FALSE,TRUE,"",[[-86.398,269.736,1158.242],[0,1,0,0]],[[0,0,0],[1,0,0,0]]];定义固定的工件坐标系WobjBoxPERSLoaddataLoadEmpty:=[0.001,[0,0,0.001],[1,0,0,0],0,0,0];定义机器人空负载时的有效载荷数据,重量设为0.001kg,可其视为空载荷PERSLoaddataLoadFull:=[0.17,[0,0,-40],[1,0,0,0],0,0,0];定义机器人拾取产品时的负载数据PERSrobtargetpPick:=[[0,0,25],[0,1,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,669.289]];定义机器人拾取产品位置目标点数据PERSrobtargetpHome:=[[0,0.000003881,1037.528207824],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,0]];定义机器人工作原位HOME目标点数据PERSrobtargetpPlaceBase:=[[257,49.376,-0.608],[0,1,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,0]];定义机器人放置产品基准目标点数据PERSrobtargetpPlace:=[[187,119.376,-0.608],[0,1,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,0]];定义机器人放置产品位置目标点数据PERSspeeddatavMinEmpty:=[1500,400,6000,1000];PERSspeeddatavMidEmpty:=[2500,400,6000,1000];PERSspeeddatavMaxEmpty:=[5000,400,6000,1000];PERSspeeddatavMinLoad:=[800,400,6000,1000];PERSspeeddatavMidLoad:=[2000,400,6000,1000];PERSspeeddatavMaxLoad:=[4000,400,6000,1000];定义不同的速度数据,用于不同的运动过程PERSnumnCounter:=5;定义数值类型数据,用于放置计数,每个产品盒中放置8个产品PROCmain()主程序rInitAll;程序起始位置调用初始化程序,用复位机器人位置,信号数据MoveAbsJ绝对位置指令[[10.6346,12.9137,39.1326,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,0]]\NoEOffs,v1000,fine,tVacuum\WObj:=WobjBox;WHILETRUEDOWHILE如果条件满足,重复执行对应的程序rPick调用搭取产品程序rPostion;调用计算放置位置程序rPlace;调用放置产品程序ENDWHILEENDPROCPROCrInitAll()ActUnitCNV1ActUnit激活一个外轴单元系统;MoveLpHome,v500,fine,tVacuum\WObj:=wobj0;移动至工作原位HOMEResetdoVacuum;复位吸盘PulseDOc1RemAllPObj;PulseDO数字输出信号进行脉冲输出清除输送链队列中所有对象Dropwobjwobj_cnv1;DropW0bj放弃输送链上的工件坐标断开与Cnv1的连接WaitTime0.3;等待0.3sPulseDOdoMoveBox;PulseDO数字输出信号进行脉冲输出,发出产品盒移动脉冲信号,产品盒输送链开始移动,将空盒运送至装盒位置。nCounter:=1;复位计数器ENDPROCPROCrPick()声明搭取产品程序WaitWObjwobj_cnv1\RelDist:=50;WaitW0bj等待输送链上的工件坐标等待与Cnv1建立连接,相对距离为50nn,即当产品进入启动窗口,被连接后,需要再移动50nn才可被处理,通过对参数RelDist的更改,便于在调试过程灵活决定机器人工作范围的起点,一般情况下,为了充分利用机器人的工作范围,输送链系统的0.0位置一般位于机器人的工作范围以外,然后通过此参数的设置,保证机器人再输送链运行方向上的范围起点在机器人可到达范围内,这样调起来比较方便。MoveLOffs(pPick,0,0,80),vMaxEmpty,z20,tVacuum\WObj:=wobj_cnv1;移动到拾取位置上方80mm处,跟随CNV1运行MoveLpPick,vMinEmpty,fine,tVacuum\WObj:=wobj_cnv1;移动至拾取位置,跟随CNV1运动SetdoVacuum;置位吸盘,搭取产品WaitTime0.02;等待0.02GripLoadLoadFull;加载产品有效载荷数据MoveLOffs(pPick,0,0,80),vMinLoad,z20,tVacuum\WObj:=wobj_cnv1;移动到拾取位置上方80mm处,跟随CNV1运行ENDPROCPROCrPostion()TESTnCounterTEST对一个变量进行判断判断当前计数器数值,产品盒中放置的8个产品CASE1:pPlace:=Offs(pPlaceBase,0,0,0);若为1则计算放置位置,就是在放置基准点CASE2:pPlace:=Offs(pPlaceBase,0,70,0);若为2则计算放置位置,相对于放置基准点来说,沿着WobjBox的Y方向偏移了70mmCASE3:pPlace:=Offs(pPlaceBase,-70,0,0);若为2则计算放置位置,相对于放置基准点来说,沿着WobjBox的X方向偏移了70mm依次类推CASE4:pPlace:=Offs(pPlaceBase,-70,70,0);CASE5:pPlace:=Offs(pPlaceBase,-140,0,0);CASE6:pPlace:=Offs(pPlaceBase,-140,70,0);CASE7:pPlace:=Offs(pPlaceBase,-210,0,0);CASE8:pPlace:=Offs(pPlaceBase,-210,70,0);DEFAULT:Stop;若计数器当前值不等于上述任何情况,则认为计数出错,停止机器人程序运行ENDTESTENDPROCPROCrPlace()声明放置产品程序MoveLOffs(pPlace,0,0,80),vMaxLoad,z20,tVacuum\WObj:=WobjBox;移动放置处80nn处WaitDIdiBoxInPos,1;WaitDI等待一个输入信号状态为设定值等待当前放置工位处有产品盒,否则一直等待MoveLpPlace,vMinLoad,fine,tVacuum\WObj:=WobjBox;移动放置位置ResetdoVacuum;复位吸盘,释放产品WaitTime0.01;WaitTime0.01DropWObjwobj_cnv1;DropW0bj放弃输送链上的工件坐标处理该产品后,断开与CNV1的连接,断开连接的前一句运动指令使用的工件坐标系不能为正在跟踪的输送链系统,否则会报警。GripLoadLoadEmpty;加载空负荷数据MoveLOffs(pPlace,0,0,80),vMidEmpty,z20,tVacuum\WObj:=WobjBox;移动到放置位置上方80mm处,nCounter:=nCounter+1;计数器累计加1IFnCounter>8THEN判断当前计数器是否大于8PulseDOdoMoveBox;PulseDO数字输出信号进行脉冲输出若大于8则发出移动产品盒输送链脉冲信号,使对应输送链移动一个产品盒的间隔,将下一个空产品盒移动置放置工位处WaitDIdiBoxInPos,0;WaitDI等待一个输入信号状态为设定值等待检测传感器复位,即满载的产品盒移动出放置工位nCounter:=1;将计数器复位ENDIFENDPROCPROCrCalib()声明校准输送链及目标点的程序,该程序只在调试过程中使用,机器人自动生产时不调用该程序ActUnitCNV1;ActUnit激活一个外轴单元系统CNV1PulseDOc1RemAllPObj;PulseDO数字输出信号进行脉冲输出移除输送链队列中所有的对象DropWObjwobj_cnv1;DropW0bj放弃输送链上的工件坐标断开与CNV1的连接WaitTime0.3;等待0.3sWaitWObjwobj_cnv1;WaitW0bj等待输送链上的工件坐标等待CNV1系统建立连接MoveLpPick,v200,fine,tVacuum\WObj:=wobj_cnv1;将机器人移至机器人拾取产品位置,可选中此条指令或pPick点单击示教器程序编辑器界面中的“修改位置”,即可完成对该基准目标点的示教MoveLpPlaceB

温馨提示

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

评论

0/150

提交评论