您的位置:首页 > 其它

螺旋线插补

2014-10-17 10:14 120 查看
锂电池焊接上的典型应用

深圳市雷赛智能控制股份有限公司 聂国强 左 力

摘 要SMC6480运动控制器与传统PLC运动控制系统相比在编程灵活性、插补性能及成本控制方面具有极大优势:其不但具有PLC的I/O逻辑控制功能,而且不需要任何扩展模块即可实现高精度直线插补、圆弧插补、螺旋插补等轨迹控制。本文通过一个锂电池焊接机运动控制系统的案例,详细介绍了采用SMC6480运动控制器通过BASIC程序控制多轴复杂轨迹的方法。

关键词运动控制器、BASIC程序、电池焊接

一 运动控制器的特点

SMC6480运动控制器是雷赛智能自主研发的基于10/100M以太网的通用型独立式运动控制器,可支持多个控制器和PC机组成运动控制系统;也可应用于各种单工位自动化设备上。

本控制器可控制4个步进或伺服电机,具有轨迹控制、网络控制等高级功能。基于FPGA的硬件结构,确保SMC6480控制器实现运动控制的高性能和系统运行的稳定性。运动控制算法及控制模块如:直线插补、圆弧插补、指令脉冲速度控制、原点及限位等信号的检测处理,均由运动控制器完成。

二 BASIC指令集的特点

SMC6480运动控制器采用雷泰公司自主开发的BASIC指令集编写用户的控制程序,通过简单的编程、参数设定即可开发出稳定可靠、高性能、高速连续轨迹运动控制系统。该指令集具有如下优点:

1.简单易学:基本的程序指令和Visual BASIC兼容;电机控制指令十分简单。和常用的PC机编程语言相比,该指令集具有统一变量类型、动态参数识别等特点,使用更加灵活。

2.交互性强:程序为解释执行方式,可以实时交互控制,用户可以随时了解程序执行的状态。

3.实时多任务:可以同时运行6个子任务,所以具有强大的实时多任务处理功能。

4. 中断响应:定时器信号、通用数字输入信号、限位信号可作为中断源,中断处理程序使控制器的响应速度更快。

三 电池焊接机的运动轨迹

某客户电池焊接机要求焊接电池端面顶部跑道形轨迹,产品外形如图1、图2所示。焊接轨迹如图3所示。





图1 电池产品外形一 图2 电池产品外形二



图3 焊接轨迹图

该电池焊接机的机械结构很特殊:X轴上固定Y轴,Y轴上固定U轴;电池工装固定在U轴上;激光焊接头水平固定,如图4所示。在焊接过程中焊接头始终保持和焊缝垂直的状态。



图4 焊接机俯视图

在运动控制器的控制之下,电池运动的位置如图5所示变化,先是C1位、然后是C2、C3、C4、C5和C6位。



图5 运动轨迹俯视图

如图6所示,电池的运动可以分解为X、Y轴的圆弧插补运动和U轴的旋转运动;即U轴的轴心OU绕圆心点O做圆弧插补运动;同时,电池绕U轴的轴心OU做旋转运动。当圆弧插补运动的圆心角a和电池绕U轴的转角b相等时,相当于电池绕圆心O做旋转运动。



图6 运动轨迹分析

电池焊缝上的点P0运动到P(m,n)处的轨迹方程为:

m = R sin a

n = R cos a

其中R为图6中的线段OP。

显然,该轨迹就是复合运动所产生的圆弧。在SMC6480运动控制器的BASIC程序中,调用螺旋插补命令,该复合运动就可以十分简单地完成。

四 电池焊接机的硬件结构

设备控制系统硬件结构图如图7所示。客户通过以太网从PC机下载BASIC程序至SMC6480运动控制器;机器正常运行时,不需要PC机参与工作。触摸屏通过串口与SMC6480交换信息、显示控制器的运动状态,接收操作者的指令。



图7 设备硬件系统结构图

五 焊接机BASIC程序

电池外形尺寸如图8所示,触摸屏界面如图9所示。



图8 焊接轨迹图



图9 触摸屏界面

BASIC程序代码如下:

auto: ’开机自动运行程序

Dim speed1 ’定义速度变量

FLASH_READ 1, speed1 ’读取已储存在Flash中的速度值

modbus_reg(2) = speed1 ’将读取的速度值显示在触摸屏上

run_state = 1 ’ 定义运动状态:1:停止,2:运行

out(1,0) ’初始化输出口1

out(3,0) ’初始化输出口3

while 1

if in(1) = 1 then ’ 触摸屏的启动按钮按下

if run_state = 1 then

stop 1

run 1, runtask ’启动任务1:runtask

end if

else

if in(4) = 1 then ’ 触摸屏的回零按钮按下

if run_state = 1 then

homemove ’运动平台回原点

end if

else

if modbus_bit(0) = 1 then ’ 触摸屏的保存参数按钮按下

modbus_bit(0) = 0

speed1= modbus_reg(2)

FLASH_WRITE 1, speed1 ’将速度参数保存到FLASH中

end if

end if

end if

wend

end

runtask: ’运行

run_state =2

out(3,0) ’ 运动完成信号置零

out(1,1) ’开激光

base(0,1,2)

VSPEED = speed1 ’设定当前坐标系插补轨迹速度

pmoveabs(100,100) ’按绝对坐标点位运动到起始点

wait idle ’等待轴停止

move(1000,0) ’直线插补,相对运动到(1000,0)

wait idle ’等待轴停止

MHELICAL(-1000,0,-500,0,1,100,1) ’螺旋插补,XY轴顺时针、相对运动半个圆、

’同时U轴转180度;

’U轴设定为每100个脉冲对应180度

wait idle ’等待轴停止

move(1000,0) ’直线插补,相对运动到(1000,0)

wait idle ’等待轴停止

MHELICAL(-1000,0,-500,0,1,100,1) ’螺旋插补,XY顺时针相对运动半个圆、

’同时U轴转180度

wait idle ’等待轴停止,整个轨迹结束

out(1,0) ’关激光

run_state = 1

out(3,1) ’ 运动完成信号输出

end

程序中几个关键指令解释如下:

1.PMOVEABS

语法:PMOVEABS( position1, position2, position3, position4 )

描述:点位运动

参数:position i:第i个轴运动坐标

2.MOVE

语法:MOVE( distance1 ,distance2 ,distance3 ,distance4 )

描述:直线插补运动

参数:distance i:第i个轴运动距离

3.MHELICAL

语法:MHELICAL(end1,end2,centre1,centre2,direction,distance3,mode)

描述:螺旋插补运动,第一轴和第二轴进行圆弧插补,第三轴相对于一、二轴的圆弧角做比例运动

参数:end1:第一个轴终点坐标

end2:第二个轴终点坐标

centre1:第一个轴圆心坐标,相对与起始点

centre2:第二个轴圆心坐标,相对与起始点

Direction:0-逆时针,1-顺时针

distance3:第三个轴运动距离

Mode:0-第三轴参与速度计算;1-第三轴不参与速度计算

六 总结

综上所述,我们可以看出,和PLC相比SMC6480运动控制器具有运动控制功能多、处理I/O信号能力强、性价比高等优点;而且采用BASIC编程十分简单、方便,很容易上手;使用SMC6480运动控制器可以轻而易举地完成各种自动化设备的复杂运动控制。

作者简介

聂国强 男 ,工程师 2007年河北工程大学自动化专业毕业,现在深圳从事自动化技术研发工作。

左 力 男, 博士,高级工程师 1998年华中理工大学机械学院毕业,现在深圳从事自动化技术研发工作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: