MODULE Module1TASK PERS seamdata seam1:=[1,0.5,[0,0,0,0,0,0,0,0,0],0,0,0,0,0,[0,0,0,0,0,0,0,0,0],0,0,[0,0,0,0,0,0,0,0,0],0,0,[0,0,0,0,0,0,0,0,0],0.5];TASK PERS welddata weld1:=[7,0,[0,0,28,0,0,160,0,0,0],[0,0,0,0,0,0,0,0,0]];CONST robtarget p10:=[[960.00,-300.00,520.00],[0.382683,-1.95429E-8,-0.92388,-4.24699E-9],[-1,-1,-1,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];CONST robtarget p20:=[[960.00,300.00,520.00],[0.382683,-1.95372E-8,-0.92388,1.49809E-9],[0,0,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];CONST robtarget p30:=[[980.00,300.00,540.00],[0.382683,1.02466E-8,-0.92388,2.40946E-8],[0,0,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];CONST robtarget p40:=[[980.00,-300.00,540.00],[0.382683,-4.94899E-8,-0.92388,-5.11307E-9],[-1,-1,-1,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];CONST robtarget p50:=[[1248.42,0.00,953.07],[0.199804,4.77463E-9,0.979836,5.3919E-9],[0,0,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];TASK PERS weavedata weave1:=[1,0,2,4,0,0,0,0,0,0,0,0,0,0,0];CONST robtarget p70:=[[1248.42,0.00,953.07],[0.199804,4.77468E-9,0.979836,5.39195E-9],[0,0,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];CONST robtarget p60:=[[1248.42,0.00,953.07],[0.199804,4.77468E-9,0.979836,5.39195E-9],[0,0,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];CONST robtarget p90:=[[1248.42,0.00,953.07],[0.199804,4.77468E-9,0.979836,5.39195E-9],[0,0,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];CONST robtarget p80:=[[1248.42,0.00,953.07],[0.199804,4.77468E-9,0.979836,5.39195E-9],[0,0,0,0],[9E+9,9E+9,9E+9,9E+9,9E+9,9E+9]];PROC main()MoveJ p50, v500, fine, Weldgun;MoveJ p40, v500, z50, Weldgun;ArcLStart p10, v500, seam1, weld1\Weave:=weave1, fine, Weldgun;ArcLEnd p20, v500, seam1, weld1\Weave:=weave1, fine, Weldgun;MoveJ p30, v500, z50, Weldgun;MoveJ p50, v500, fine, Weldgun;ENDPROCENDMODULE
机器人弧焊焊接仿真运行机器人弧焊焊接程序编写完成后,必须对工作站中的程序与虚拟控制器中的程序进行相互同步,然后就可以仿真运行了。仿真运行过程中,机器人运行到焊接起始点后发出焊接启动信号,这时候机器人会检测焊接反馈信号diArcEst是否置位。由于未连接焊接电源,因此diArcEst信号无反馈,机器人停止运动,同时虚拟示教器的操作者窗口中弹出“焊接监控信号未置位”的错误信息。此时需要在仿真软件的I/O仿真器中将diArcEst手动置位,然后在操作者窗口中依次点击“Recovery Menu”→“Resum”,机器人开始焊接,并且实现摆动。当运动到焊接结束点时,机器人发出焊接停止信号,同时检测焊接反馈信号diArcEst是否复位,机器人同样会停止运动,虚拟示教器的操作者窗口中出现“焊接关闭监控信号未置位”的错误信息,这时需要在I/O仿真器中手动复位diArcEst,然后在操作者窗口中依次点击“Recovery Menu”→“Resum”,机器人进入下一步动作。对于虚拟仿真运行,可以直接关闭焊接,这样在运行时就不会检测焊接反馈信号了。在虚拟示教器中依次点击“主菜单”→“Production Manager”→“RobotWare Arc”→“锁定”,在锁定弧焊工艺界面中,点击“焊接启动”,即可将其切换为焊接锁定状态,这样焊接就被关闭了。仿真运行时机器人只按照焊接程序运动,而不会进行焊接,也就无需手动触发焊接反馈信号diArcEst了。The End上一篇:ABB机器人负载测算评估方法
概述弧焊焊接是机器人在生产制造中最常见的一种工艺应用,因此在机器人虚拟仿真工作中同样需要进行弧焊焊接虚拟仿真。本期就来介绍一下,在RobotStudio软件中实现ABB机器人弧焊焊接虚拟仿真的操作方法。使用软件版本:RobotStudio 6.08机器人弧焊焊接简易工作站布局在RobotStudio软件中创建虚拟仿真项目,然后从机器人模型库中添加机器人IRB 1410到虚拟仿真环境。再从RobotStudio软件的设备模型库中为机器人工作站添加周边设备模型,并将其放置到合适的位置,详细模型名称与位置坐标如下所示:机器人安装底座:Robot Pedestal 1400 H240,位置坐标(-34,0,0,0,0,0)焊接电源(焊机):Fronius TPS 4000,位置坐标(0,1250,0,0,0,90)清枪器:TSC2013,位置坐标(345,-1000,0,0,0,90)将机器人放置到安装底座上,坐标位置为(0,0,240,0,0,0),然后从设备模型库中添加送丝机模型Fronius VR 1500 Wire Feeder,并将其安装到机器人的第三个关节上。再添加弧焊焊枪模型Fronius Robacta MTG4000 22deg,然后将其安装到机器人上。使用软件自带的模型创建工具创建简易工装和工件,并将其布局到合适位置,详细参数如下:简易工装:尺寸(500,1000,740),位置坐标(700,-500,0,0,0,0)工件平板:尺寸(400,600,20),位置坐标(750,-300,740,0,0,0)工件立板:尺寸(20,600,280),位置坐标(940,-300,760,0,0,0)弧焊焊接机器人简易工作站创建完成后,其效果如下图所示。弧焊焊接机器人虚拟系统创建弧焊焊接机器人简易工作站创建和布局完成后,在“基本”菜单栏下,机器人系统下拉菜单中点击“从布局…”命令,创建机器人虚拟系统,弧焊焊接机器人需要选择的系统选项如下所示:Default Language:Chinese,简体中文系统语言Industrial Networks:709-1 DeviceNet Master/Slave,DeviceNet通信I/O模块Motion Events:608-1 World Zones,机器人工作区监控Motion Functions:611-1 Path Recovery,机器人路径恢复Motion Supervision:613-1 Collision Detection,机器人碰撞检测Engineering Tools:624-1 Continuous Application Platform,机器人系统连续应用平台Arc:633-4 Arc,机器人弧焊焊接工艺应用Power source:Standard I/O Welder,标准I/O信号接口类型弧焊焊接电源Application Production Manager:812-1 Production Manager,生产管理在配置焊接电源系统选项时,对于Fronius、ESAB、Kemppi、Miller等焊接电源,ABB机器人系统中有专用的系统接口选项;对于松下、麦格米特、奥太等焊接电源,可以选择“Standard IO Welder”系统选项,即使用标准I/O信号接口进行通信。本例以松下标准I/O信号焊接电源为例进行介绍。机器人虚拟系统创建完成后,将弧焊焊接工具数据同步到机器人虚拟系统。弧焊焊接机器人I/O信号配置在弧焊焊接过程中,机器人通过I/O信号控制焊接电源的启动与停止,并接收焊接电源的反馈信号,以实现自动焊接工作。一般情况下,机器人选配DSQC651信号模块与焊接电源进行通信。DSQC651是一个混合类型的信号模块,模块包含8个数字量输入接口、8个数字量输出接口和2个模拟量输出接口。首先配置机器人控制焊接电源启停的数字量输入输出信号,RobotStudio软件的“控制器”菜单栏下,点击“配置”下拉菜单中的“I/O System”,打开配置-I/O System窗口。在DeviceNet Device中新建DeviceNet设备。在弹出的实例编辑器中配置DeviceNet设备参数,详细参数内容如下:使用来自模板的值:DSQC 651 Combi I/O DeviceName:d651Address:10在Signal中新建数字量输入输出信号,详细配置参数如下表所示:然后再配置机器人对焊接电源电压、电流数据设定的模拟量输出信号,焊接电源的电压、电流输入值与机器人I/O信号模块的模拟量输出值呈线性正相关关系,即I/O信号模块的模拟量接口输出最小值对应焊接电源的电压、电流输入最小值,I/O信号模块的模拟量接口输出最大值对应焊接电源的电压、电流最大输入值。本例中的机器人I/O信号模块模拟量输出接口输出范围为0V~10V,而焊接电源的电压输入范围为12V~40.2V,电流的输入范围为30A~350A。它们之间的对应关系曲线如下图所示。根据机器人I/O信号模块模拟量输出与焊接电源电压、电流输入之间的对应关系,配置机器人模拟量输出信号,详细配置参数如下表所示:所有机器人I/O信号配置完成后,重新启动机器人,重启完成后配置的I/O信号生效。机器人弧焊焊接系统配置ABB机器人通过焊接工艺应用软件ArcWare实现自动焊接,ArcWare由焊接设备、焊接系统、焊接传感器三个部分组成。焊接时ArcWare控制焊接电源的启停,并实时监控焊接过程,检测焊接工作是否正常。当有错误发生时,ArcWare自动控制机器人停止焊接,同时将错误信息和处理方法显示在示教器上。在ArcWare中,可以为机器人选配焊接电弧跟踪或激光跟踪选项,以实现机器人焊接过程中的焊缝实时追踪。在创建机器人虚拟系统时,选择焊接工艺应用选项后,机器人的虚拟系统中就会内置ArcWare。此时的ArcWare为空置状态,需要操作人员进行单独配置后才能正常工作。RobotStudio软件的“控制器”菜单栏下,点击“配置”下拉菜单中的“Process”,打开配置-Process窗口。左侧的类型下点击“Arc Equipment Analogue Output”,为ArcWare的焊接设备配置模拟量输出信号。右侧窗口中双击“stdIO_T_ROB1”,在弹出的实例编辑器对话框中为焊接设备添加焊接电压、焊接电流输出信号。VoltReference:aoVoltReference,焊接设备电压输出CurrentReference:aoCurrentReference,焊接设备电流输出再在类型下点击“Arc Equipment Digital Input”,为焊接设备配置数字量输入信号。右侧窗口中双击“stdIO_T_ROB1”,在弹出的实例编辑器对话框中为焊接设备添加焊接启停反馈信号。ArcEst:diArcEst,焊接启停反馈,检测焊接起弧、熄弧是否成功继续在左侧类型下点击“Arc Equipment Digital Output”,为焊接设备配置数字量输出信号。右侧窗口中双击“stdIO_T_ROB1”,在弹出的实例编辑器对话框中进行焊接设备数字量输出信号的添加。GasOn:doGasOn,焊接气体控制WeldOn:doWeldOn,焊接启停控制FeedOn:doFeedOn,手动送丝控制,添加此信号时最好做一些逻辑处理,避免与焊接电源上的手动送丝发生冲突,同时也要避免在未关闭焊接电源时进行手动送丝。FeedOnBwd:doFeedOnBwd,手动退丝控制,本选项为可选配选项,若是需要配置则也要做与手动送丝控制信号相同的逻辑处理。机器人焊接设备配置完成后,对机器人进行重启,重启完成后配置生效。常用机器人弧焊焊接指令介绍ABB机器人系统中内置ArcWare后,其内部就会增加专用的弧焊焊接指令,使用弧焊焊接指令就能控制机器人对工件进行焊接。ABB机器人常用的焊接指令有两种,即直线焊接运动指令和圆弧焊接运动指令,每种焊接指令都包含起弧指令、过渡点指令和熄弧指令。机器人直线焊接运动指令详细指令格式如下图所示:机器人圆弧焊接运动指令详细指令格式如下图所示:对于较长的焊缝,为了防止机器人跑偏,还可以在起弧和熄弧运动指令之间增加过渡点焊接运动指令。其中,直线焊接过渡点运动指令为ArcL,圆弧焊接过渡点运动指令为ArcC,它们的指令格式与起弧、熄弧指令相同。焊接指令中的起弧、熄弧控制参数seamdata可以在程序数据中进行定义,其中需要配置的参数主要包含以下三个,根据焊接工艺要求进行设定:purge_time:吹扫时间,焊接开始前清理焊枪枪管中空气的时间,单位为秒,此时间不会影响焊接时间preflow_time:预送气时间,焊枪到达焊接起点位置时对焊接工件进行吹气保护,单位为秒postflow_time:尾送气时间,焊接结束后焊枪继续送气,对焊缝继续进行保护,单位为秒焊接控制参数welddata也需要在程序数据中进行定义,其中需要配置的参数也包含以下三个,根据焊接工艺要求进行设定:weld_speed:机器人焊接速度,单位为毫米/秒voltage:焊接电压,单位为伏特(V)current:焊接电流,单位为安培(A)焊接指令中的Weave是焊接摆动参数,它是焊接运动指令的可选变量,需要单独激活。在焊缝较宽的情况下,需要机器人进行摆动焊接。weavedata是摆动焊接的摆动参数,同样需要在程序数据中进行定义,摆动参数需要配置的内容较多,详细参数说明如下:weave_shape:摆动形状,其中0为不摆动,1为Z字型摆动,2为V字型摆动,3为三角形摆动weave_type:摆动模式,其中0表示由机器人6个轴共同实现摆动,1表示由机器人5、6轴实现摆动,2表示由机器人1、2、3轴实现摆动,3表示由机器人4、5、6轴实现摆动weave_length:摆动长度,表示在一个摆动周期内机器人的TCP向前移动的距离,单位为毫米weave_width:摆动宽度,单位为毫米weave_height:摆动高度,此参数只有在选择V字型或三角形摆动时才会生效,单位为毫米dwell_left:摆动左停留,摆动过程中机器人在摆动到左边时运动的距离,单位为毫米dwell_center:摆动中心停留,摆动过程中机器人在摆动到中心位置时运动的距离,单位为毫米dwell_right:摆动右停留,摆动过程中机器人在摆动到右边时运动的距离,单位为毫米weave_dir:摆动倾斜角度,摆动过程中机器人绕着焊缝X轴方向的倾斜角度weave_tilt:摆动倾斜角度,摆动过程中机器人绕着焊缝Y轴方向的倾斜角度weave_ori:摆动倾斜角度,摆动过程中机器人绕着焊缝Z轴方向的倾斜角度weave_bias:摆动中心偏移距离,单位为毫米常用的焊接摆动为正弦波型摆动,也就是Z字型摆动,这种摆动weavedata中只需要配置weave_shape、weave_type、weave_length、weave_width即可。机器人弧焊焊接示教编程按照下图所示的运行轨迹和路径点示教机器人程序,可以使用虚拟示教器进行示教也可以在软件中直接示教。编写好的机器人弧焊焊接程序,如下图所示:完整机器人焊接程序代码如下所示:
0 评论