王丽莉
(上汽通用五菱汽车股份有限公司,广西 柳州545007)
在现代汽车焊接技术中,汽车车身的焊接主要采用电阻点焊,并有人工焊接和机器人焊接两种形式。简单伺服自动焊系统,是应用在车身制造的焊接环节中,介于机器人和人工焊之间的一直焊接方式。简单伺服自动焊主要应用在焊点分布表面集中,焊枪结构较大,人工焊接劳动强度较大的工位具有投资成本较低、占地空间较小,对安装环境无特殊要求等优势。
然而,在简单伺服自动焊系统应用开发的初期,由于不满足柔性生产线多车型的能力要求,只能应用在单一零部件专用生产线上,而很少应用在多车型柔性生产的主焊线上。为满足现代汽车生产需要,急需实现简单伺服自动焊系统在同一生产线同一个工位上的柔性多车型生产的能力。即在不同的车型运输到简单伺服自动焊工位时,简单伺服自动焊控制系统需要识别出工位当前的车型,并且根据当前车型的型面特征、焊点位置和数量做出不同的运动轨迹并且控制焊接控制器执行焊枪的焊接动作。在此基础上,也能够将简单伺服自动焊应用在多车型柔性主焊线的工位上。
简单伺服自动焊系统由机械传动机构、气动焊枪、控制系统三大部分组成。机械传动机构实现电机转动到气动焊枪运动过程的传递,气动焊枪执行了所有焊点的焊接动作,控制系统实现对伺服电机转动的位移、速度、加速度、加速率以及气动焊枪焊接启动的控制。本文主要介绍的是控制系统的设计,通过PLC(可编程逻辑控制器)控制伺服电机的运动位置、速度、加速度等参数,伺服电机驱动气动焊枪在特定的空间范围内运动,可实现X、Y、Z向的直线运动及旋转运动。在开始焊接前,焊枪停止在一个不干涉输送设备的地方,待工件运送到位后,PLC判段安全条件后,通过控制伺服电机的运动速度和运动距离,实现焊枪电极头在XY平面上任意位置的运动。同时,PLC根据伺服电机反馈的X、Y、Z轴伺服电机的位置反馈信息来判断和控制气动焊枪焊接时的打开动作,同时控制焊接控制器焊接电流的开启,焊接控制器按照事先设置好的焊接工艺参数输出到气动焊枪,焊接工艺动作结束后,焊接控制器发送焊接完成信号到PLC,PLC接收后控制气动焊枪打开,至此,单个焊点的焊接动作流程完成,进入下一个焊点的焊接动作流程,直到完成本工位要求的所有焊点后,PLC控制焊枪回到原点。
本文以车型1(代号113,以下简称车型1)、车型2(代号 210,以下简称车型 2)、车型 3(代号 202,以下简称车型3)为例阐述简单伺服自动焊控制系统实现以上三种具有不同型面特征及焊点数量要求的车型的柔性生产能力的具体方法与步骤,其原理和方法如图1所示。
图1 简单伺服自动焊控制系统实现多车型功能原理示意图
第一步,焊接工艺的需求整理与焊枪行走路径规划:根据三种不同型面焊接要求,焊点的数量及位置,规划焊枪行走轨迹,得到每个焊点的X、Y轴坐标值。根据生产节拍及伺服电机的能力来制定伺服电机运动的速度、加速度、加速率值整理并制成表格;
第二步,建立PLC参数寄存器数组与位置控制逻辑编程:根据第一步制成各参数表,在PLC程序中为每个车型建立伺服电机参数寄存器数组,并将参数值对应的数组中;
第三步,车型识别与逻辑编程:通过外部传感器识别出简单伺服自动焊系统当前工作任务的车型,PLC获取车型信息后经过逻辑判断,将对应车型的参数赋值到中间变量——伺服电机参数寄存器数组中;
第四步,PLC输出控制伺服电机运动驱动焊枪运动与控制焊枪执行焊接动作:PLC通过逻辑控制编程后输出运动控制指令到伺服控制器控制伺服电机驱动焊枪运动,同时输出继电器控制信号到焊接控制器控制焊枪执行焊接动作。
简单伺服自动焊控制系统,主要的目标是根据焊接工艺的需求,控制焊枪执行工艺指定的焊接任务,因此,首先要根据每一个需要在简单伺服自动焊工位需要焊接的车型的工艺要求,如焊点位置、焊点数量,为每一个车型制定对应的焊接工艺步骤与焊枪行走轨迹路径表,如表1所示。
以车型1为例,有19个焊点需要焊接,焊点位置分布如图1所示。伺服自动焊的控制系统需要得到焊枪行走到每一个焊点时焊枪X、Y轴电机相对于焊枪在原点时的位置坐标值。焊枪在原点(也就是每次执行焊接任务的起点和终点),将原点的X、Y轴电机的位置坐标值设置为(0,0)。同时焊枪的行走轨迹中有部分位置点为避让周围工装设备或者零件造型干涉而设置的空运行位置点,焊枪电极头运动到空运行位置点,不行进行焊接的动作。在图2焊枪电极头行走轨迹示意图中,以圆点标记的第5、6、15、16、17、25、26点表示空运行点,即车型1共有26个焊枪行走的位置点,包含19个需要焊接的点和7个不需要焊接的空运行点。
图2 伺服自动焊焊枪电极头行走轨迹示意图
按照图1规划好的路径轨迹,经过现场的对点调试后,得出全部26个焊枪行走轨迹点的X、Y坐标值后,需要为每一个位置点做一个编号,这个编号与PLC程序中对应的焊枪行走的每一个位置的步序号Step编号一致,如表1所示。
表1 自动焊焊枪电极头运动轨迹点坐标值
根据相同的方法,为车型2、车型3也分别建立如表1所示的焊枪电极头运动轨迹点坐标值表。同时根据伺服电机的功率、惯量、最大转速等参数以及生产节拍的要求,将X轴、Y轴的速度均设为800 mm/s,加/减速度均设为 1 500 mm/s2,加/减速率均设为6 000 mm/s3。
获取了伺服自动焊焊枪运动轨迹后,需要将这些参数设置到PLC控制系统中,供PLC进行逻辑编程使用,以实现焊枪能够按照设定的轨迹路线来进行运行并且执行焊接的动作。
本文柔性简单伺服自动焊应用示例中的控制系统,采用的是Rockwell的1769-L36ERM型号的PLC,Rockwell的2097V34PR6LM伺服驱动器及MPLB330PMJ74AA伺服电机。2.2.1建立PLC参数寄存器数组
首先,通过Rockwell的编程软件LOGIX5000[1],创建好逻辑程序的框架,为每个车型的每个step建立一套参数,如图3所示的以车型1为例,其中:
1)UB03_113.LeftPosition_AX为X轴运动的位置距;
2)UB03_113.LeftPosition_AY为Y轴运动的位置距离;
3)UB03_113.LeftSpeed_X为 X轴电机运动速度;
4)UB03_113.LeftSpeed_Y为Y轴电机运动速度;
5)UB03_113.LeftAccDec_X为X轴电机运动的加/减速度;
6)UB03_113.LeftAccDec_Y为Y轴电机运动的加/减速度;
7)UB03_113.LeftAccDecRate_X为X轴电机运动的加/减速率;
8)UB03_113.LeftAccDecRate_Y为Y轴电机运动的加/减速率;
图3 PLC编程软件中建立的伺服电机参数寄存器
将表1中的各轴坐标值以及运动的速度、加速度等参数输入PLC对应的数组中。PLC通过逻辑控制调用各参数数组中的值,控制焊枪X、Y轴电机的运动距离、运动速度。当焊枪运动到零件的焊点位置后,PLC接收到伺服电机编码器反馈的到位信号后,发送焊接命令到焊接控制器,启动焊接参数。PLC接收到焊接控制器反馈的焊接完成信号后,控制伺服电机驱动焊枪运动到下个焊点的位置。在完成最后一个焊点后,需要做一些避让动作,使焊枪回到原点(0,0)。
建立好参数寄存器后,将表1的X、Y轴的运动距离值输入寄存器数组UB03_113.LeftPosition_AX[β]、UB03_113.LeftPosition_AY[β]中,其中 β 即为 step号,β=1、2、3……24、25、26,这就就可以将工艺需求的各个焊点参数输入到PLC控制器中供编程使用。例如UB03_113.LeftPosition_AX[2],中括号内的数字为1,即Step=7,表示焊枪运动的第7个位置点,如图4所示,Y轴位置参数同理X轴。同时将X轴、Y轴运动的速度、加速度、加速率值到对应的寄存器数组中。车型2、车型3同理。
图4 X轴焊点位置寄存器数组
2.2.2 位置控制逻辑编程
PLC 通过 MAM[2](Motion Axis Move)指令将各个焊点的运动参数赋值到伺服控制器,伺服控制器再控制伺服电机按照参数完成相应的运动。而每个伺服控制器的MAM[2]指令的每个参数只能设置一个变量,当有多个不同车型的时,需要将不同车型的参数都赋值到同一个变量供伺服控制器读取。
将3个不同车型的位置控制参数赋值到同一组变量中,如图5所示,车型1的X轴位置坐标值变量UB03_113.LeftPosition_AX[β]、车型2的的X轴位置坐标值变量 UB03_210.LeftPosition_AX[β]、车型 3的的X轴位置坐标值变量UB03_202.LeftPosition_AX[β],都赋值到同一个变量UB03.Left_Gun.Position_AX[β]中,伺服控制器将读取这个变量的值控制伺服电机的运动。其中的40指的是总共拷贝数组中从0到第40位,本例有26个STEP,拷贝40位足够使用。这三段赋值语句,分别写在三个不同的独立子程序J001_113JobData、J002_210JobData、J003_202JobData中。
图5 将3个不同车型的位置控制参数赋值到同——变量的逻辑语句
根据三个车型的型面特征点,采用接近开关、行程开关、激光测距开关来识别和区分出当前工位需要焊接的车型,本文示例中的采用三个接近开关进行车型识别,逻辑如图6所示。根据识别出来的当前车型,通过跳转指令JSR[3](Jump to Subroutine)调用相应的子程序,如图7所示,实现不同车型调用不同伺服控制参数的功能。
图6 车型别逻辑
图7 根据不用车型调用不同的伺服控制参数指令程序
做好伺服控制参数赋值逻辑后,需要将各项控制参数赋值到伺服控制器。仍然以左侧焊枪的X轴位置参数为例,如图8所示,根据STEP号β的值,伺服控制器通过MAM[2]的指令,使轴Axis_UB03LX读取对应的 UB03.Left_Gun.Position_AX[β]的值,这个值就是X轴在STEP=β时相对于0点的绝对坐标值,伺服控制器将根据UB03.Left_Gun.Position_AX[β]的坐标值控制X轴电机的运动距离。通过MAM指令,伺服控制器还可以获得X轴电机运动的加速率、加速度、速度参数,伺服控制器根据获取的参数值,控制伺服伺服电机按照获取的参数值执行运动,到达指定的焊点位置,等待执行下一个MAM指令。
当X轴、Y轴都执行了对应步序号的MAM指令运动到指定的焊点位置后,PLC控制继电器输出ON,触发焊接控制器控制焊枪执行焊接的动作:焊枪臂夹紧并通焊接电流到电极头。焊接动作完毕后焊接控制器反馈信号通过继电器输入到PLC,PLC通过逻辑判断,给步序号β加1,即可进入下一个焊点的逻辑,直到β值大于26完成所有焊点的焊接。当β值大于26,给β赋值为0,当新的一台车身被运送到本工位时,其它控制条件满足,判断车身型号后,就可以重新开始新的一台车身的焊接。
图8 伺服控制器读取控制参数逻辑指令
按照以上的思路和具体方法步骤,可以完成多个不同车型在相同工位的伺服自动焊系统进行焊接的功能。在实现多种车型的柔性生产能力后,可以扩大简单伺服自动焊的应用范围,也极大方便了整线焊接工艺布局的规划以及后续车型导入同一生产线生产的能力。后续将研究在实现柔性生产能力的基础上实现多组不同焊接参数选择的功能,进一步扩大简单伺服自动焊系统柔性多车型生产能力。