基于PMAC的多工位弹簧机自动换刀机构控制系统开发
2020-07-01王德成
李 伟,王德成,程 鹏
(1.中机生产力促进中心,北京 100044;2.机械科学研究总院,北京 100044)
0 引言
随着弹簧成形机技术的不断进步,弹簧成形过程的自动化程度、智能化程度在逐渐提高。由于多工位弹簧成形机在异形弹簧成形方面能力突出,使其逐渐得到广泛应用,其特点是适用于多品种小批量的生产[1]。但是目前多工位弹簧机成形滑座上的刀具是依靠螺栓固定在刀具安装座上,靠人工拧紧,每次更换生产对象,成形刀具都需要人工拆卸,换刀,装夹,拧紧,然后进行弹簧打样程序调试,导致弹簧生产过程的非加工时间占比很大[2]。相比于加工中心的自动换刀系统,实现多种不同工序自动切换的程序化管控[3],弹簧机的刀具更换效率较低,不利于弹簧高效生产,同时面向弹簧加工的CAD/CAM/CAPP高端成形技术也难以实现。因此,急需一种能够实现自动选刀、自动换刀和自动装夹的弹簧机自动换刀系统。
课题组针对此问题设计研发了多工位弹簧机的自动换刀机构样机,并基于该机构的运行原理,采用IPC+PMAC运动控制卡搭建了开放式自动换刀机构控制系统。IPC作为上位机完成人机交互和管理功能,PMAC作为下位机完成运动控制和逻辑控制功能。基于C#语言在Windows平台上开发了多工位弹簧机自动换刀机构的专用控制系统,实现了自动换刀机构的自动松夹刀具、自动卸刀、自动装刀控制,以及刀具信息管理的功能。
1 多工位弹簧机自动换刀机构运行原理
多工位弹簧机成形面板围绕芯轴均布了8个成形运动滑座,滑座上安装有不同成形作用的刀具,如折弯刀、曲线规、节距刀、辅助刀和辅助芯等。通过电机控制滑座运动,实现不同刀具向芯轴上的线材方向的组合进给与调控,实现不同的成形作用。课题组自主设计研发的自动换刀系统主要包括旋转刀库、自动松夹装置和自动换刀手臂3大部分。旋转刀库基本与加工中心刀库类似,主要负责在圆盘中存储刀具,需要1个电机负责选刀操作,1个气缸负责推动选刀套倒下和收回操作。在8个成形滑座上分别设计了刀具自动松夹装置,并通过8个气缸的动作和设计的功能装置,实现了8个工位弹簧机刀具的自动松夹动作。自动换刀手臂是针对多工位弹簧机的刀具布置特点设计的多自由度运动手臂,可以实现8个成形工位的刀具装卸操作和与刀库端的刀具更换操作,由1个旋转气缸、2个直线气缸、1个夹爪气缸和1个伺服电机的组合运动实现对应的动作。设计的弹簧机的自动换刀系统整体如图1所示。
图1 带自动换刀机构的弹簧机整体结构
2 控制系统硬件设计
由于本控制系统需要较好的开放性和扩展性,自动换刀机构的控制系统硬件采用了NC嵌入PC型的开放式控制体系,这种架构优点显著,很多学者都对其进行了研究[4-7]。PC部分采用工控机显示人机交互、刀具数据存储管理等功能,NC部分采用Delta Tau公司设计的Turbo PMAC Clipper多轴运动控制卡,完成PC部分下发的电机运动、输入输出控制等指令。Turbo PMAC Clipper是一种功能强大的,但是又同时具备结构紧凑和超高性价比优点的多轴控制器,提供了1个四轴伺服或步进控制加32个数字I/O 点的最小配置,控制轴数可以扩展至八轴及十二轴,I/O也可以扩展[8]。工控机与多轴控制器之间采用以太网通讯方式保证通讯的速率和可靠性,运动控制卡接收到上位机的指令后,经过计算,通过DTC-8B电机转接板发送指令到伺服驱动器驱动电机运动,通过ACC-34AT的I/O板输出信号给气缸的电磁换向阀控制气缸运动,同时将电机编码器信号、气缸到位信号通过接口板反馈给控制卡,达到精确控制的效果。所搭建的硬件系统如图2所示。
图2 自动换刀机构控制系统硬件系统
3 控制系统软件开发
3.1 软件整体架构
控制系统软件开发包含上位机的刀具管理和界面显示等模块程序编写,主要包括弹簧机在位刀具管理模块、刀库内刀具管理模块、自动换刀系统初始化模块、刀库选刀模块和装刀及卸刀模块;同时也包含Clipper运动控制卡内的相关参数设置、运动程序和PLC程序的编写,上下位机通过PcommServer控制卡动态链接库进行数据的通讯。整体架构如图3所示。
图3 控制系统软件开发架构
通过PMAC提供的可异步操作并快速重复执行PLC程序,可以完成板卡初始化配置、自动换刀系统位置初始化、各工位刀具装刀和卸刀等操作。PLC程序对应功能如表1所示。首先设置初始状态,保证运动时具有参照零位,然后根据8个工位的装刀和卸刀动作分别设计了16个PLC程序,可以控制电机的旋转位置和气缸的执行动作及顺序。在 PLC1程序中对ACC-34AT I/O板的进行初始化配置,定义M0~M31变量地址分别指向AI0~AI15、BO0~BO15输入和输出接口,用以实现对相应输入接口状态的监控和输出接口信号的控制。系统输入设备主要是气缸的到位信号,输出设备为8组自动松夹气缸和自动换刀手臂用的4组气缸。
表1 板卡PLC程序和功能
上位机程序基于C#语言在Windows系统的VS2019开发平台进行开发。C#是微软公司发布的一种面向对象的、运行于.NET Framework和.NET Core(完全开源,跨平台)之上的高级程序设计语言,是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言[9]。通过添加引用选择PcommServer 1.0 Type Library的com组件,调用PMAC运动控制卡提供的动态链接库,在程序编写时添加using PCOMMSERVERLib指令引用该库,即可使用库中的函数。该库为开发人员提供了丰富的函数接口,主要用到的库函数有如下几种:
PMAC.SelectDevice(); 选择运动卡编号
PMAC.Open(); 连接选择的运动卡
PMAC.GetResponse(); 发送在线指令
PMAC.Download(); 程序下载
PMAC.Close(); 关闭与运动控制卡的通讯
3.2 程序模块化设计
上位机主要分为刀库中刀具管理模块、刀库选刀模块、弹簧机在位刀具管理模块、自动换刀手臂初始化模块及装刀和卸刀控制模块。刀具的自动更换最主要的是装刀和卸刀的2个过程。二者有着严谨的逻辑流程。在装刀时,首先选中刀库中存储的刀具,此时将选中的刀具旋转到刀库换刀点并倒下刀套,到位后选择弹簧机无刀工位,发送装刀命令,自动换刀手臂按照设定好的换刀程序将刀库中的刀具夹取到装刀工位并夹紧,手臂回到初始位置状态,完成装刀动作;在卸刀时,首先选中刀库中无刀的刀套序号,选刀令空刀套倒下,选择要卸刀的工位,发送卸刀命令,自动换刀手臂按照设定程序将该工位上的刀具夹取到刀库空刀套中,手臂回到初始位置状态。在装刀和卸刀时,需要在程序中进行一些判定是否符合可以执行换刀动作,防止误操作导致刀具管理混乱,甚至撞刀现象。具体流程如图4和5所示。符合执行换刀动作时,向控制卡发送在线指令“ENABLE PLC n”调用对应的PLC程序。
图4 装刀流程逻辑示意
图5 卸刀流程逻辑示意
自动换刀系统初始化模块是在程序启动时,将各个动作执行元件的位置进行初始化操作。旋转刀库电机和换刀手臂中的电机进行回零操作时,使用在线指令的为“#nhm”,电机会按照设定的旋转方向寻找触发光电开关的信号,找到信号后设置回零位;同时控制电磁换向阀使各组气缸处于初始状态位。这样在选刀和多工位刀具更换时才可以有基准参照,找到准确位置。
刀库选刀模块是根据刀库中的刀具对应的角度控制电机位置,使用在线指令“#nj=xxx”进行选刀。选刀到位后使用气缸使刀套倒下进而方便换刀手臂操作。
为了实现上位机刀具的程序化管理,需要设置刀具管理模块。本文使用了C#中的文本IO读写接口,对刀库存储的刀具和弹簧机在位的刀具进行管理[10]。在程序开头使用using System.IO调用文本操作函数,文本的信息读取采用的是StreamReader类函数,文本的写入操作采用 StreamWriter类函数。分别建立刀库的刀具管理文件和弹簧机在位刀具管理文件,在程序启动时自动读取保存在文本中的刀具序号和名称,显示在对应的位置;程序关闭时自动将经过一系列换刀动作后的刀具最新信息保存在对应的文件中。
针对刀具如果需要人为更换的情况,还设置了人工修改刀具信息的模块,可以直接将对应的刀具信息进行修改保存。
人机界面设计如图6所示,主要由选刀区、弹簧机在位刀具显示区和换刀操作区组成。将来可扩展更多功能,如刀具详细数据管理,包括刀具的形状尺寸、刀具的使用周期、刀具的位置参数等。
图6 多工位弹簧机自动换刀系统人机界面
4 系统测试试验
为了检验所构建的控制系统的有效性,在自主设计的多工位弹簧机自动换刀系统的物理样机上进行了实际装刀测试和卸刀测试。通过对各成形工位的换刀机构进行测试试验,所构建的控制系统能够按照设计意图合理顺序驱动各部分动作执行机构,包括旋转伺服电机和各气缸执行元件。以3号工位为例,经测试,自动换刀手臂从刀库初始位置开始到达3号成形工位进行装刀或卸刀工作后,并返回刀库初始位置,整个流程用时为50 s,相比原有的人工拆刀-选刀-装刀过程大大减少了用时。换刀过程全程由计算机系统控制,运行平稳,逻辑性较好,无干涉发生,控制系统各项功能运行正常。表明所搭建的IPC+PMAC的开放式控制系统,能够很好地满足对自主设计的多工位弹簧成形机自动换刀机构实际运行的控制需求。
5 结束语
针对自主设计的多工位弹簧机的自动换刀机构缺乏运动控制的设计,进行了自动换刀系统的控制系统开发,采用IPC+PMAC的架构建立了上下位机的控制模式,上位机完成了人机交互、刀具管理和刀具更换的非实时控制体系,下位机完成了运动控制、输入输出逻辑控制的实时控制。并且基于C#语言开发了人机界面,针对换刀过程的流程进行了严谨的逻辑判定。经过实际测试,本系统可以满足自主设计的多工位弹簧机自动换刀机构的控制要求,提高了弹簧机自动化、柔性化水平。