《工业机器人离线仿真》课件-2 码垛仿真工作站_第1页
《工业机器人离线仿真》课件-2 码垛仿真工作站_第2页
《工业机器人离线仿真》课件-2 码垛仿真工作站_第3页
《工业机器人离线仿真》课件-2 码垛仿真工作站_第4页
《工业机器人离线仿真》课件-2 码垛仿真工作站_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

码垛仿真工作站工业机器人离线仿真01仿真逻辑设计02程序编写03Smart组件运用04仿真调试学习内容仿真逻辑设计1学习重点学习难点1.smart子组件的运用码垛任务的规划及编程实现2.基本指令运用解压工作站压缩包基于此次码垛任务,在工作站中已经为大家创建xipan工具坐标系MyNewTool,在该工具坐标系及默认工件坐标系下为大家示教了机器人的3个目标点,即抓取点pick、第一个工件的放置点put。机器人末端执行器吸盘工具已安装在机器人上。为了实现仿真功能,设计仿真逻辑,可以创建两个smart组件,传送带smart用来实现产生工件并传送至线尾,吸盘smart组件用来实现吸取工件和放置工件。在传送带线尾设置一个传感器,用于检测工件是否到位,当工件到达线尾,机器人开始动作。配置机器人I/O信号添加1个数字量输出信号do_xipan,用以控制吸盘的吸取状态添加1个数字量输入信号di_boxinpos,用以控制机器人是否执行吸取动作1.在【控制器】选项卡中,展开【配置】选项,点击I/OSystem2.右键点击【Signal】,新建信号。弹出对话框中,输入信号名称,选择信号类型及指派信号所属设备。配置机器人I/O信号3.完成后,点击【确定】,提示重启控制器。在这里可以将所有信号都配置完成后再重启。在【控制器】选项卡下,展开【重启】,点击【重启动(热启动)】等待重启完成。配置机器人I/O信号程序编写2码垛规划在本次任务中,码垛作业的工件尺寸为400x300x150mm,一次作业流程共码垛4层,每层放置7个物料,基于单双层的码垛方案进行放置,具体放置位置及方向。如图所示:单数层摆放规律一致,双数层摆放规律一致。定义变量工件放置点在不断变化,通过for循环可以计算出放置点相对于第一个工件放置点的偏移值。奇数层的摆放规则相同,偶数层的摆放规则相同,在每一层中,第1-3个工件呈现一种摆放规律,4-7个工件呈现一种摆放规律,且工件旋转90度。定义cs表示当前搬运工件的层数定义bh表示当前搬运工件的编号定义xz用于记录每次放置点绕Z轴旋转角度定义x,y,z用于记录每次放置点相对第一个工件放置点put的x,y,z轴方向偏移值。程序声明如下:偏移量计算以i表示循环次数,i起始值为1。计算出层数cs:=(i-1)div7+1(求商)计算出编号bh:=(i-1)mod7+1(求余)z:=(cs-1)*150通过规律计算出其他偏移值如下:偏移值奇数层1、2、3奇数层4、5、6、7偶数层1、2、3偶数层4、5、6、7x-400*(bh-1)50-300(bh-4)-800+400*(bh-1)-850+300*(bh-4)y035040050xz090090TEST指令以下实例介绍指令TEST用法:TESTaCASE1,2,3:routine1;CASE4:routine2;DEFAULT:Stop;ENDTEST根据a的值,执行不同的指令。如果该值为1、2或3时,则执行routine1。如果该值为4,则执行routine2。否则,停止执行。程序编写PROCmain()Resetdo_xipan;

复位洗盘信号MoveAbsJhome,v1000,fine,MyNewTool;

机器人运动至安全点FORiFROM1TO28DOFor循环头,i从1至28cs:=(i-1)DIV7+1;

计算工件所在层数bh:=(i-1)MOD7+1;

计算工件所在该层的第几个(编号)z:=(cs-1)*150;

根据层数计算出Z轴上偏移值IFcsMOD2=1THEN

判断如果是单数层TESTbh

根据编号的值CASE1,2,3:

如果该值为1,2,3x:=-400*(bh-1);

计算X方向上的偏移量y:=0;Y轴方向上偏移量xz:=0;

绕Z轴旋转角度

程序编写

CASE4,5,6,7:

如果该值为4,5,6,7

x:=50-300*(bh-4);

计算X方向上的偏移量

y:=350;Y轴方向上偏移量

xz:=90;

绕Z轴旋转角度

DEFAULT:

否则

ENDTESTTEST语句结束

ELSEIFcsMOD2=0THEN

否则判断如果是偶数层TESTbh

根据编号的值CASE1,2,3:

如果该值为1,2,3x:=-800+400*(bh-1);

计算X方向上的偏移量y:=400;Y轴方向上偏移量xz:=0;

绕Z轴旋转角度

程序编写CASE4,5,6,7:

如果该值为4,5,6,7x:=-850+300*(bh-4);

计算X方向上的偏移量y:=50;Y轴方向上偏移量xz:=90;

绕Z轴旋转角度DEFAULT:

否则ENDTESTTEST语句结束ENDIFIF语句结束MoveJoffs(pick,0,0,300),v800,fine,MyNewTool;机器人运动至抓取点上方WaitDIdo_boxinpos,1;

等待工件到位信号为1MoveLpick,v800,fine,MyNewTool;

运动至抓取点WaitTime0.5;

延时0.5Ssetdo_xipan;

设置洗盘信号为1WaitTime0.5;

延时0.5S程序编写MoveLoffs(pick,0,0,300),v800,fine,MyNewTool;

运动至抓取点MoveJRelTool(put,x,y,z+200\rz:=xz),v800,fine,MyNewTool;运动至放置点上方MoveLRelTool(put,x,y,z\rz:=xz),v800,fine,MyNewTool;

运动至放置点WaitTime0.5;

延时0.5s

Resetdo_xipan;

设置吸盘信号为0

WaitTime0.5;

延时0.5sMoveLRelTool(put,x,y,z+200\rz:=xz),v800,fine,MyNewTool;运动至放置点上方ENDFORFor循环结束MoveAbsJhome,v1000,fine,MyNewTool\WObj:=wobj0;

回安全点ENDPROC

程序结束Smart组件运用3smart组件工件产生传送停止在【建模】选项卡下,点击【Smart组件】新建一个Smart组件。右键点击【重命名】修改名称为工件产生传送停止。工件产生传送停止smart工件产生传送停止smart在该Smart组件下,可以添加组件实现丰富的功能。也可以在【设计】页面下完成属性和信号的连接。工件产生传送停止smart为了能够产生工件,在【动作】选项中,添加第一个子组件【source】,该组件实现复制一个图形组件。工件产生传送停止smartSource通过端点捕捉,捕捉工件的本地原点产生工件传送并停止smart在仿真时,需要通过信号输入让source组件不断产生新工件,这时候可以在【信号和属性】选项下,添加【Timer】组件在仿真时,在指定的距离间隔脉冲输出一个数据信号属性:StartTime-第一个脉冲之前的时间Interval-脉冲宽度Repeat-指定信号脉冲是重复还是单次CurrentTime-输出当前时间输入:Active-设定为high(1)时,激活计时器Reset-设定为high(1)时,复位当前计时输出:Output-变成high(1)然后变成low(0)在指定的间隔距离Timer产生工件传送并停止smart难点:1.在这里第一个脉冲之前的时间可以设置为0.1S,如果设置为0秒,第一个脉冲会在设置的脉冲宽度9S后才产生。2.点击【Active】可以人为激活计时器,在这里设置为激活状态。添加完成后,点击设计,连接这两个smart组件的信号,这样就实现了每间隔固定时间会产生一个复制品的仿真效果。产生工件传送并停止smart工件产生传送停止smart完成到这一步后,我们可以仿真调试看看,是否能不断的产生新工件。在仿真前,保存仿真状态。点击播放,查看左侧是否有复制品产生以及位置是否正确。工件产生传送停止smart在仿真过程中,需要产生的复制品沿着传送带移动。产生的复制品不断的在增加,这需要多个smart组件共同实现该效果。在【本体】选项下添加【LinearMover】组件,该组件实现指定对象沿某一方向运动。在【其他】选项下添加【Queue】组件,该组件可以将多个对象编成一个组,进行统一的操作。工件产生传送停止smart属性:Object-移动的对象Direction-对象移动方向Speed-对象移动速度Reference-参考的坐标系ReferenceObject-参考对象输入:Execute-设定为high(1)时,移动对象LinearMover工件产生传送停止smartQueue属性:Back-设置进入队列的对象Front-在队列的第一个对象NumberOfObjects-队列中对象的数量输入:Enqueue-添加后面的对象到队列中Dequeue-将队列中第一个对象从队列中移除Clear-清空队列Delete-删除队列和工作站中第一个对象DeleteAll-清除队列和删除所有工作站的对象工件产生传送停止smart难点:1.LinearMover中移动的对象应为Queue。不能指定为某一复制品。原因在于传送带上移动的对象是不断变化的。2.LinearMover的输入信号Execute设置为1。这样只要队列中有对象,就会移动。不需要额外给输入信号。3.Queue中不需要做设置,需要通过属性连接。添加完成后,点击设计,进行相应的信号和属性连接。工件产生传送停止smart完成到这一步后,我们可以仿真调试看看,是否能不断的产生新工件,并沿着传送带移动。工件产生传送停止smart沿着传送带移动的对象到达传送带末端后要停止运动,【Queue】组件具有将队列中的第一个对象从队列里移出的功能,移出后,队列里的第一个对象就不再移动了。这里可以添加一个传感器用于检测对象移动到传送带末端。工件产生传送停止smartPlaneSensor属性:Origin-平面的原点Axis1-平面的轴1方向Axis2-平面的轴2方向SensedPart-传感器检测到的对象输入:Active-设定为high(1)时,激活传感器输出:SensorOut-当对象与平面相交时变成high(1)工件产生传送停止smart难点:1.平面传感器的位置设置。平面是由原点、两条轴线确定一个平面的。传感器平面应该设置为竖直的,且传感器应在能检测到物体的前提下,越小越好。2.传感器应一直为激活状态,即Active保持为1工件产生传送停止smart添加平面传感器完成后,进入【设计】页面,继续补齐信号和属性的连接。完成后可以启动仿真,查看是否能完整的实现第一个功能-产生工件传送并停止。工件产生传送停止smart当平面传感器检测到工件后,机器人才能开始吸取工件。所以需要将传感器检测到工件的信号传递给机器人。这就需要为整个smart添加一个输出信号。点击【输出】,新建一个数字量输出信号。工件产生传送停止smart信号新增完成后,将传感器输出信号连接至该信号。工件产生传送停止smart在【仿真】页面下,点击【工作站逻辑】后,点击【设计】。点击机器人控制器展开项,将信号添加进来。工件产生传送停止smart将smart组件的输出信号与机器人的输入信号连接起来,实现传感器检测到工件的信号与机器人输入信号的传递。产生工件传送并停止smart3.工件移动到传送带末端不停止,检查平面传感器是否激活状态,传感器是否检测到了其他物体。2.产生的工件不沿传送带移动,检查LinerMover中移动的对象是否设置为Queue。1.不能产生新工件,检查source组件中复制的对象是否设置了。可能出现的问题:smart组件吸盘吸取工件吸盘smart需要用到的子组件:安装子组件、拆除子组件、线传感器子组件、逻辑非子组件子组件之间属性和信号连接如下:吸盘smart安装一个对象属性:Parent-安装的父对象Flange-机械装置或工具数据安装到Child-安装对象Mount-移动对象到其父对象Offset-当进行安装时,位置与安装的父对象相对应的偏移Orientation-当进行安装时,方向与安装的父对象相对应的角度输入:Execute-设定为high(1)时,执行安装输出:Executed-当安装完成,变成high(1)Attacher吸盘smart拆除一个已安装对象属性:Child-已安装的对象KeepPosition-如果是false,已安装对象回到原始的位置。输入

温馨提示

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

评论

0/150

提交评论