中国节能协会城轨交通节能专业专委会
中国勘察设计协会轨道交通分会
中国土木工程学会轨道交通分会
中国城市轨道交通协会设计咨询专业委员会

学术前沿

西门子840D地铁车辆焊接程序设计与开发

发布日期:2012-12-08 18:46

西门子840D地铁车辆焊接程序设计与开发
 
摘  要:为满足地铁车辆不锈钢车体焊接工艺要求,车辆钢结构总组成焊接任务均由自动焊接机器人承担,要求生产高效可靠,自动挠度补偿、精确定位、最大限度控制焊接变形,保证产品焊接质量。因此对承担该焊接任务的西门子 840D 自动焊接机器人进行相关部分的程序设计与开发。
关键词: 焊接工艺、自动挠度补偿、精确定位、西门子840D
 
      前言:地铁总组成焊接程序采用模块化、柔性化的设计理念进行开发。 改变以往利用绝对坐标系进行工件定位的单一模式,采用绝对坐标与相对坐标相结合,并使用“R”指令增加人工干预的复合定位模式,以达到焊点精确定位、自动挠度补偿的目的,极大提高车辆组对精度和焊接质量。
 
      程序功能:精确定位、自动挠度补偿、断点续焊、工件误差补偿、迂回焊接等。
      程序结构:
一、主程序:SP3_WELD_DK74_MAIN.MPF
      对整个程序框架的构建和各个功能模块的整合, 设计实用的功能接口,对各个功能模块(子程序)的调用、数据传递。对焊接机器人的走行定位、焊接顺序、焊接过程、焊接姿态等方面进行控制,实现车体组对焊接的全过程。
      对主程序关键部分进行详细描述:
      -------------------------------------------
      PROC SP3_WELD_DK74_MAIN (主程序名称)
      -------------------------------------------
      子程序声明过程:
      EXTERN SP3_ABS_74 (REAL) (X 绝对坐标值定位子程序声明)
      EXTERN SP3_WELD74_PREPARE (REAL) (Y 绝对坐标值、Z 增量子程序声明)
      EXTERN SP3_WELD74_STEP (REAL) (X 增量、挠度获取子程序声明)
      EXTERN SP3_WELD74_UP (INT) (焊接子程序声明)
-      ------------------------------------------
      主程序变量声明过程:
      DEF REAL _Offset(X 绝对坐标偏移变量 ), FRIST (初始焊点序号)
      DEF INT _NUM ( 焊点数量 ), _ACOUNT ( 计数器 ) ,_POINT(跳点次数)
      --------------------------------------------
      当工件摆放位置与程序 X 绝对位置存在偏差时,修正机器人内部参数 R3,并将 R3 值赋予变量 _Offset,保证机器人精确定位到工件实际焊接位置。
      _Offset = R3
      --------------------------------------------
    偏差值>10mm 时,机器人暂停并做出提示,要求操作者检查焊接工件,防止错误焊接。
      IF _Offset > 10
      MSG ("Offset invalid ! R3 > 10 ! Please change it! ")
      M_01: M0
      GotoB M_01
      ENDIF
      --------------------------------------------
      焊接定位过程:机器人以安全行走姿态走行至 X 绝对坐标值“49451.5 + _Offset”位置暂停,提示操作者检查焊接位置并确认操作。
      SP3_WELD74_FREE (安全行走姿态子程序调用)
      SP3_ABS_74(49451.5 + _Offset)
      MSG ("please check the position of weld point") (屏幕提示)
      M0 (暂停)
      MSG("") (屏幕清空)
      --------------------------------------------
      SP3_WELD74_PREPARE(17.95) ( 机器人调整 Y 绝对坐标值并获取 Z 增量值 17.95,运行至焊接姿态)
      --------------------------------------------
      断点续焊功能判断: 在焊接过程中某个焊接位置出现错误,通过设置内部指令 R31,机器人会自动判断并走行至该位置重新焊接。
      _NUM = 48 (焊点数量 48)
      FOR _POINT = 1 TO _NUM-1 (循环判断 47 次)
      IF (R31 == _POINT) (判断条件)
      X3 = IC(-60*_POINT) (X 绝对坐标增量值为-60*R31,实现快速跳转)
      ENDIF
      ENDFOR
      --------------------------------------------
      焊接过程:通过循环语句控制,机器人依次焊接,直至焊接完成,关闭焊接电源、冷却水,以安全姿态行走至 X 绝对坐标“10000”。
      FRIST = R31 (R31 将初始焊点序号赋值给变量 FRIST)
      FOR _ACOUNT = FRIST TO _NUM-1 (焊接循环 “47-FRIST”次)
      SP3_WELD74_STEP(-60) (每循环一次 X 增量值增加 “-60mm”)
      SP3_WELD74_UP (2) (使用 2 号焊接参数进行焊接)
      ENDFOR
      SP3_WELD74_FINISH (焊接结束子程序调用)
      SP3_WELD74_FREE (安全行走姿态子程序调用)
      SP3_ABS_74(10000) (安全位置)
      ……
      M30 (程序完成)
      -------------------------------------------
 
二、焊接功能模块:SP3_WELD74_UP(INT).SPF
      通过使用西门子 840D 数控系统内部“M”指令,控制焊接时机器人焊接动作全过程,包括焊接前准备:接通焊接电源、冷却水启动、空压机启动等;焊接中:调用焊接参数、执行焊接动作等;焊接后:关闭焊接电源、停止冷却、空压机关闭等,最终实现自动焊接。 子程序 SP3_WELD74_UP (INT _NUMBER)中,变量类型为整形,变量 _NUMBER 功能用于向机器人传递焊接参数类型。
 
三、自动挠度获取功能模块:GET_POS_Z3.SPF
      此功能模块为核心部分,设计严密的科学算法,实现机器人通过 X 绝对坐标值自动计算挠度、获取挠度的功能,大大提高了机器人自动点焊的精度,增强程序的实用性。
      对程序 GET_POS_Z3.SPF 关键部分进行详细描述:
      --------------------------------------------
      PROC GET_POS_Z3 (程序声明)
      DEF REAL Z_0, Z_1 (变量声明;Z_0, Z_1 分别表示特定点挠度值)
      DEF REAL dX_0, dX_1(变量声明;dX_0, dX_1 分别表示特定点 X 绝对坐标值)
      Z_0= 7.22 dx_0= 16499-7795(为特定点赋予 X 绝对坐标值、挠度值)
      Z_1= 10.77 dX_1= 16499-6625(为特定点赋予 X 绝对坐标值、挠度值)
      -------------------------------------------
      机器人获取当前位置 X 绝对坐标值在哪两个特定点之间,根据前后特定点挠度计算当前点挠度,并将其值赋予机器人内部参数 R10, 为子程序 SP3_WELD74_STEP.SPF 传递参数,最终计算当前点 Z 绝对坐标值。
      IF ($AA_IW[X3] <= dX_1) AND ($AA_IW[X3] > dx_0)
      R10 = Z_1 + ( (Z_0-Z_1)/(dX_0-dX_1) * ($AA_IW[X3]-dX_1) )
      ENDIF
      m17 (子程序结束)
      --------------------------------------------
      算法介绍:
      假设:特定点 A0、A1;当前点 Ax;dx_0、Z_0、dx_1、Z_1 分别为特定点 A0、A1 的 X 绝对坐标值、挠度值。 如图所示:

四、工件绝对坐标系定位系统:SP3_ABS_77.SPF
      该定位系统实现了机器人对工件的定位检测功能, 判断工件是否在合理的误差范围内, 将位置误差自动记录在主程序“R”参数内,自动调整机器人的自动点焊位置并进行报警提示。
 
五、焊接动作系统
      SP3_WELD74_PREPARE.SPF、 SP3_WELD74_STEP.SPF
      SP3_WELD74_FREE.SPF、 SP3_WELD74_FINISH.SPF
      该系统通过整合调用 4 个功能模块, 实现了整个焊接过程。包括:焊前自由状态、焊前设备准备、焊接参数自动调用传递、焊接开始、焊接过程检测、焊接结束准备等。
      该程序已经运用于地铁车辆的焊接生产制造中, 经过实际生产验证,该程序实用可靠、操作简单,真正实现了无人看管、自动焊接、迂回点焊等功能。大幅提高了生产效率,降低了工人劳动强度和生产成本。