多轴联动电火花加工数控系统开发.docx

上传人:b****8 文档编号:9959756 上传时间:2023-02-07 格式:DOCX 页数:17 大小:304.46KB
下载 相关 举报
多轴联动电火花加工数控系统开发.docx_第1页
第1页 / 共17页
多轴联动电火花加工数控系统开发.docx_第2页
第2页 / 共17页
多轴联动电火花加工数控系统开发.docx_第3页
第3页 / 共17页
多轴联动电火花加工数控系统开发.docx_第4页
第4页 / 共17页
多轴联动电火花加工数控系统开发.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

多轴联动电火花加工数控系统开发.docx

《多轴联动电火花加工数控系统开发.docx》由会员分享,可在线阅读,更多相关《多轴联动电火花加工数控系统开发.docx(17页珍藏版)》请在冰豆网上搜索。

多轴联动电火花加工数控系统开发.docx

多轴联动电火花加工数控系统开发

第16卷第2期计算机集成制造系统

Vol.16No.22010年2月

ComputerIntegratedManufacturingSystems

Feb.2010

文章编号:

1006-5911(201002-0372-08

收稿日期:

2009202206;修订日期:

2009206220。

Received06Feb.2009;accepted20June2009.

基金项目:

国家863计划重点资助项目(2009AA044201。

Foundationitem:

ProjectsupportedbytheNationalHigh2Tech.R&DProgram,Chi2

na(No.2009AA044201.

作者简介:

黄海鹏(1981-,男,黑龙江哈尔滨人,哈尔滨工业大学机电工程学院博士研究生,主要从事多轴联动电火花加工数控技术的研究。

E2mail:

haipengh@。

多轴联动电火花加工数控系统开发

黄海鹏1,迟关心1,王振龙1,孟凡新2,陈济轮2,张 昆2

(1.哈尔滨工业大学机电工程学院,黑龙江 哈尔滨 150001;

2.首都航天机械公司,北京 100076

摘 要:

为加工具有复杂几何结构或者材料较难加工的零件,开发了多轴联动电火花加工数控系统。

为了增强系统的实时性、稳定性和可靠性,采用RT2Linux技术,提出双核结构概念来分别处理实时任务和非实时任务。

确立数控系统由实时控制模块、驱动模块、用户管理模块和模块间的通信所组成。

提出了线程承载法解决实时任务间协调控制问题,以及循环选择法解决任务调度问题。

给出了平面二轴联动插补派生法构建适合电火花加工机床的多轴联动插补控制算法,提出内存映射法构建硬件实时驱动方式以增强系统驱动的实时性,提出线程-处理器模式构建用户管理模块,以使复杂的管理任务清晰化和易于管理,选择最优的通信方式来增强数控系统的实时性能。

开发出了五轴联动电火花加工数控系统,并运用该系统进行了带冠整体式涡轮盘的加工实验。

实验结果表明,该系统具有实时性强、稳定性好和可靠性高等特点。

关键词:

多轴联动;电火花加工;数控系统;RT2Linux技术中图分类号:

TG661   文献标识码:

A

Developmentofmulti2axiselectro2dischargemachiningCNCSystem

HUANGHai2peng1

CHIGuan2xin1

WANGZhen2long1

MENGFan2xin2

CHENJi2lun2

ZHANGKun

2

(1.SchoolofMechatronicsEngineering,HarbinInstituteofTechnology,Harbin150001,China;

2.CapitalAerospaceMachineryCompany,Beijing100076,China

Abstract:

Toprocessgeometricallycomplexorhardmaterialparts,anewkindofmulti2axisElectro2DischargeMa2chining(EDMComputerNumericalControl(CNCsystemwasdeveloped.Tostrengthenthereal2timeperform2ance,stabilityandreliabilityofthesystem,basedonRT2Linux,dual2kernelstructurewasproposedtorealizereal2timetaskandtime2sharingtaskseparately.CNCsystemwascomposedofreal2timecontrolmodule,drivemodule,CNCusermoduleandcommunicationsamongmodules.Thread2carryingmethodwasputforwardtosolvecollabora2tivecontrolofreal2timetasks.Circulation2selectionmethodwaspresentedtosolveschedulingproblem,andplanin2terpolationderivingmethodwasproposedtoconstructmulti2axisinterpolationalgorithm.Tostrengthenthereal2timeperformanceofdrivers,memory2mappingmethodwasadvanced.Tosimplifymanagementtasks,thread2pro2cessormodewasadvanced.Tostrengthenreal2timeperformanceofthesystem,theoptimalcommunicationmethodswereadopted.Five2axisEDMCNCsystemwasdevelopedandturbinebliskprocessingexperimentwascarriedouttovalidatetheperformance.Experimentalresultsindicatedthatthesystemwasstableandreliablewithgoodreal2timeperformance.

Keywords:

multi2axis;electro2dischargemachining;computernumericalcontrolsystem;RT2Linuxtechnology

第2期黄海鹏等:

多轴联动电火花加工数控系统开发

0 引言

随着电火花加工技术的发展,多轴联动电火花加工已经成为加工具有复杂几何结构或材料较难加工的零件的主要方法,并广泛应用于军事、航空、航天等领域[1],尤其在加工航天飞行器发动机的涡轮盘上,多轴联动电火花加工在国内已经成为唯一可靠的加工方法。

但是由于多轴联动电火花加工机床的用途非常特殊,国外对我国一直采取禁运措施,又由于生产的必需性,我国一直从第三方国家间接进口。

这样不但增加了成本,而且在购买自由性、软件升级、售后服务、关键技术等方面受到很大的限制。

自主研发多轴联动电火花加工数控系统对于打破国外垄断、推动我国航空航天事业和国防事业的发展具有非常重要的意义。

目前,国内尚未开发出真正应用于生产实践和产品化的四轴以上联动的电火花加工数控系统。

多轴联动电火花加工数控系统的开发要遵循实时性、稳定性和可靠性三个基本原则[223],其中系统的实时性能是主要部分。

数控系统需要把控制命令第一时间传递给外部设备,驱动设备进行指定操作,并且在第一时间接收外部中断信息,采集外部加工状态,对机床的运行进行调整,保证加工能够稳定地进行。

实时性强的系统能够保证加工的正确、高效、高质量和高成功率,实时性较差的系统会频繁地造成放电状态的不稳定,如短路和拉弧,从而降低放电效率,影响加工质量,甚至毁坏工件或电极。

电火花加工是一个非常耗时的过程,要求系统具有长时间稳定加工的能力,能够始终保证加工的一致与准确。

在整个加工过程中,系统要始终保证能够可靠地加工,不会因自身的缺陷而影响加工。

Linux以其源代码的开放性、健壮性和稳定性得到业界的认可,并在工业界得到越来越广泛的应用。

Linux是自由软件,源代码完全开放,在Linux上开发数控系统对于开发自主版权的数控系统更具有现实意义。

作为Linux的实时性扩展[4],RT2Linux具有稳定和近乎完美的实时性,它支持多线程操作并具有硬实时性,中断频率几乎可以达到硬件极限[5],已经被应用于许多对实时性能要求非常严格的场合,如美国Alabama大学的无人驾驶飞行器,清华大学的VACS(virtualaxescontrolsystem系统,华中科技大学、北京航空航天大学和华南理工大学也分别提出了基于RT2Linux的开放式软件数控系统模型[6]。

将RT2Linux技术应用于多轴联动电火花加工数控系统的开发,能够很好地解决系统在实时技术方面的问题,提高系统的实时性,增强系统的稳定性与可靠性。

采用Linux和RT2Linux开发数控系统,耗资低,竞争性强[7]。

通过文献查阅,目前国外尚未有将RT2Linux技术应用于多轴联动电火花加工数控系统开发的相关报道。

1 基于RT2Linux的多轴联动电火花加工数控系统双核结构

111 RT2Linux简介

RT2Linux是Linux系统的硬实时扩展,其运行机制是在Linux内核和外部硬件之间加入一个虚拟层,构筑一个小的、时间上可预测的、与Linux内核分开的实时内核,即RT2Linux内核,如图1所示

RT2Linux内核直接对硬件进行控制,而原来处于主控地位的Linux内核则成为RT2Linux内核的控制对象,即作为实时内核下的一个随时可被实时进程抢占的优先级最低的进程[8]。

RT2Linux内核分割Linux内核与硬件中断之间的直接联系,先于Linux内核拦截硬件中断,这样Linux内核就不能真正禁止硬件中断,亦不能延长实时系统的中断响应时间。

当RT2Linux内核收到与实时处理有关的硬中断时,立即执行相应的实时中断服务程序;而收到与实时处理无关的中断时,保存相应的信息,直到RT2Linux内核空闲时通过软中断传递给Linux内核处理。

这就保证了实时任务能在第一时间被系统所响应进而得到处理,并且不被其他非实时任务所干扰。

112 数控系统双核结构

数控系统需要处理的任务纷繁复杂,如何协调好各任务的处理时序,使其互相不被干扰,是一个非

373

计算机集成制造系统第16卷

常难解决的问题。

本系统将所有任务分为实时任务与非实时任务两类,提出了双核结构概念来处理两类任务。

数控系统双核结构如图2所示,其体系结构宏观上分为实时部分和非实时部分。

实时部分包括实时控制模块和驱动模块,两个模块以软件包的形式装载入RT2Linux内核,由RT2Linux内核进行控制;非实时部分为用户管理模块,由Linux内核进行控制。

这三个模块通过彼此间的通信和控制结合起来,形成有机的整体,控制电火花加工机床运行

实时控制模块由对实时性要求比较苛刻的实时任务、任务调度和多轴联动插补控制算法组成,以软件形式实现了数控控制器的功能,能够实现对电火花加工机床的运动控制;驱动模块相当于设备驱动层,由电火花加工机床的各种专用硬件的驱动程序组成;电火花加工机床专用硬件是为实现机床的功能而添加的硬件,包括伺服控制卡、脉冲电源等;用户管理模块以图形用户界面(GraphicalUserInter2face,GUI的形式面向用户,主要为人机交互提供

接口,用户可以通过界面上所提供的各个功能模块来完成人机交互。

系统在运行时,当用户管理模块发送一个任务命令时,数控系统首先判断该任务是实时内核任务还是非实时任务。

如果是实时任务,系统则将其传递给实时控制模块,实时控制模块调用自身的实时线程来处理;若该任务需要和外部硬件进行交互,则由实时控制模块与驱动模块进行通信来完成。

如果该任务是非实时任务,系统将其交与Linux内核进行处理。

实时任务的优先级大于任何非实时任务。

当一个实时任务到达时,所有运行中的非实时任务必须交出处理器的使用权,处理器转而处理该实时

任务。

等到实时任务处理完毕后,处理器接着处理中断的非实时任务。

2 数控系统模块的构建与通信

实时控制模块、驱动模块、用户管理模块以及三个模块间的通信构成了整个多轴联动电火花加工数控系统。

211 实时控制模块

实时控制模块包括实时任务、任务调度和多轴联动插补控制算法。

21111 实时任务

实时控制模块共包括十个实时任务,为解决任务间协调控制的问题,提出了采用线程承载法执行这些任务。

根据实时任务各自的性质和所完成的功能,将众多任务划分为三类,每类创建一个实时线程作为载体来执行(如图3。

用户命令响应线程(单任务线程执行用户命令接收任务;执行线程(多任务线程即整个实时控制模块的主线程执行命令读取任务、加工任务、原轨迹回退任务、快速移动任务、接触感知任务、极限移动任务、机床回零任务和手控盒处理任务;监测线程(单任务线程执行监测任务

三个线程中,执行线程的优先级最高,检测线程的优先级次之,用户命令响应线程的优先级最低。

三个线程共享时间片,每个线程在运行过程中都会在特定的时刻进行一段时间的休眠,将时间片让出以供其他线程运行,保证了执行线程在运行过程中不会被其他线程干扰,并且在需要的时候能够及时地与其他线程通信,获取所需要的信息;监测线程能够实时地监测到外部硬件的输入状态,保存并进行实时更新以供其他线程读取;用户命令响应线程能够实时地响应用户管理模块向实时控制模块传递的

473

第2期黄海鹏等:

多轴联动电火花加工数控系统开发任务命令,并保存命令信息以供执行线程读取。

21112 任务调度

由于执行线程负责多个实时任务的执行,为了保证实时任务命令能够迅速地唤醒相应的实时任务,并且该任务在工作过程中不受其他任务干扰,提出了循环选择法进行任务调度,如图4所示

执行线程首先执行命令读取任务,如果没有实

时任务命令到来,则执行手控盒处理任务,该任务执行完毕后,返回继续执行命令读取任务,循环往复,直到接收到实时任务命令。

此时,线程依次判断该命令是否为加工命令、原轨迹回退命令、快速移动命令、接触感知命令、极限移动命令或机床回零命令。

如果是其中之一,则执行相应的实时任务,该任务执行完毕后,直接返回开始处重新执行命令读取任务;如果均不是,则视该命令为无效命令,返回开始处重新执行命令读取任务。

每个任务在执行完毕之前,线程不会去执行其他任务,不会造成多任务共同存在,彼此相互干扰而影响每个任务的实时性。

每个任务在被执行完毕之前,执行线程不会去执行其他任务,这样就不会造成多任务共同存在而影响彼此的实时性。

在每个任务被执行完毕后,执行线程会马上返回循环开始处重新执行命令读取任务,如果还有其他任务命令,其他

命令会被立刻读取并由线程选择执行相应的实时任务,从而保证了实时任务命令能够得到实时的执行。

21113 多轴联动插补控制算法

为了加工出具有复杂几何形状的工件,多轴联动电火花加工机床的所有工作轴必须严格按照工件的几何形状以一个特定的规则进行联动,该规则就是多轴联动插补控制算法。

多轴联动插补控制算法的构建难点在于空间各轴的协调,尤其是在有旋转轴的情况下。

根据电火花加工机床的自身特点,本文提出采用平面二轴联动插补派生法构建多轴联动插补控制算法。

电火花加工机床各轴均由脉冲驱动的伺服电机进行控制,每个电机具有一定的分辨率,若分辨率为01001,则每个脉冲驱动下直线轴运行01001mm,

旋转轴转动01001°,这样每个长度或角度都可以最终统一转化为脉冲数。

另外机床运行采用G代码控制,目标工件的具体空间结构最终都要转化为一组G代码提供给数控系统,系统只要能正确地从G代码中提取各轴的运行数据和运行方式来驱动机床运行,就能正确地加工出目标工件。

若机床包含直线轴X,Y,Z和旋转轴A,B,C六根轴,当前G代码为G01X1010Y510Z7.0A8.0B2.0C1.0,则X轴电机需要发10000个脉冲,Y轴电机需要发5000个脉冲,Z轴电机需要发7000个脉冲,A轴电机需要发8000个脉冲,B轴电机需要发2000个脉冲,C轴电

机需要发1000个脉冲。

这样确定了脉冲数后,旋转轴和直线轴的运行便以脉冲形式得到了统一并易于协调,多轴联动插补也可以以平面二轴联动插补为基础派生得到。

平面二轴联动插补派生法可以简单地理解为:

四轴XYZA联动插补视为由两个二轴联动插补XY和ZA组成,XY和ZA视为两个轴运用平面二轴联动插补方法进行插补,便可以得到四轴联动插补。

同理六轴联动可以视为由一个二轴联动和一个四轴联动组成,八轴联动可以视为由两个四轴联动组成,依此类推,可以灵活地得到任意偶数个轴的联动插补算法。

当轴数为奇数个时,可以增加一个轴,并将其插补距离视为零,然后运用偶数个轴的插补算法进行联动插补。

平面二轴插补算法采用基准脉冲法,其中直线插补采用逐点比较法,圆弧插补采用单步追踪法。

图5所示为六轴联动插补控制算法流程。

5

73

计算机集成制造系统第16

212 驱动模块

构建驱动模块实际上就是构建电火花加工机床专用硬件的实时驱动方式。

驱动模块需要把专用硬件状态信息(如进给信号、回退信号、抬刀信号、限位状态和热保护状态等实时地输入给实时控制模块,同时还需要把实时控制模块的驱动信息实时地输出给专用硬件,如轴号、运行方向和脉冲信号等。

为了保证和增强数控系统的实时性,应选择一个最为合理的实时驱动方式,使输入和输出信息能以最快的速度输送到指定目标。

外部硬件都有自己固定的物理内存地址,无论输入还是输出都需要通过该物理内存地址进行传输,因此提出了内存映射法,以在驱动模块中构建硬件实时驱动方式。

内存映射法就是在内存中按照外部硬件物理内存的大小开辟一块缓存区,并将缓存区和外部硬件物理内存建立起一一对应的映射关系,这样对缓存区的输入和输出操作就相当于对外部硬件物理内存进行直接操作。

在内存中开辟一块交换缓存区,将专用硬件的物理地址全部映射到该缓存区上,这样对该缓存区进行的输入和输出操作实际上就是对专用硬件进行输入输出操作。

实时控制模块向交换缓存区发送驱动信息以驱动专用硬件,专用硬件向交换缓存区发送状态信息以供实时控制模块读取,保证了整个数控系统和专用硬件的交互具有非常强的实时性。

驱动模块的驱动方式如图6所示。

213 用户管理模块

用户管理模块为用户提供GUI来完成人机交

互。

GUI包含许多功能模块,用户可以利用这些功能模块对电火花加工机床进行操作。

GUI应用Linux下著名的开发工具Qt和Kdevelop共同开发

完成。

图7所示为开发完成的五轴联动电火花加工

数控系统GUI主界面

21311 图形用户界面

GUI主界面包含三大模块,即信息显示模块、

电参数显示及调整模块和功能按键模块。

信息显示模块包含坐标信息显示、程序显示和辅助信息显示,用户可以通过这些信息来了解当前机床的运行信息和加工信息,并根据这些信息在必要的时刻做出调整。

电参数显示及调整模块包含参数功能按键及参数值显示两部分,在加工过程中用户可通过该模块快速地调整某些电参数值来调节加工状态。

功能按键模块包含如下一些功能按键:

开始加工、停止加工、暂停加工、恢复加工、轨迹回退、坐标移动、定位、手动加工、文件加工、加工履历、机床参数、加工条件和系统退出。

其中坐标移动、定位、手动加工和加工履历等功能是真正应用于生产实践和产品化的数控系统所特有的,是实验性质的数控系统所不具备的。

21312 用户管理模块内部结构

采用线程—处理器模式构建用户管理模块内部结构,能够将复杂的管理任务归类,使其清晰且易于管理。

内部结构核心部分为控制线程,它是一个非实时线程,负责执行用户命令和收集实时控制模块发送的控制状态。

处理器包括刀具半径补偿器、解

673

第2期黄海鹏等:

多轴联动电火花加工数控系统开发377释器、实时命令处理器和非实时命令处理器。

刀具半径补偿器负责执行刀具半径补偿;解释器负责从NC文件中分离出G代码并将其转换成NC命令;实时命令处理器负责处理实时命令;非实时命令处理器是若干个非实时命令处理器的统称,负责处理非实时命令。

当一个用户命令到达时,控制线程首先调用刀具半径补偿器,刀具半径补偿器调用解释器从NC文件中获取NC命令。

如果有需要进行刀具半径补偿的NC命令,则刀具半径补偿器进行刀具半径补偿。

补偿完毕后,解释器逐一对每个命令进行判断,如果命令属于非实时命令,则解释器调用相应的非实时命令处理器在用户管理模块内执行该命令;如果命令属于实时命令,则解释器调用实时命令处理器,实时命令处理器通过用户管理模块和实时控制模块之间的通信将该命令传递给实时控制模块。

图8所示即为用户管理模块内部结构。

控制模块中的执行线程、监测线程和用户管理模块中的控制线程共同访问,所以采用RT2Linux提供的共享内存(SHaredMemory,SHM机制进行通信。

SHM是一块特殊的内存区域,该区域可以被多个线程映射到自身的地址空间,允许多个线程共制参数区。

实时控制模块中的执行线程在运行过程中,从控制参数区中读取控制参数,指导其执行实时任务,同时将实时控制模块的状态参数写入控制状态区。

实时控制模块中的监测线程在运行过程中实时地将专用硬件的输入状态参数保存在硬件状态区。

用户管理模块内部的控制线程定时从控制状态区和硬件状态区读取参数,指导其执行非实时任务。

由于命令通信是单向的,只由用户管理模块的控制线程传递入实时控制模块,采用RT2Linux提供的RT_FIFO机制来进行通信。

RT_FIFO是一种基于先进先出(FirstInFirstOut,FIFO数据结构的字符设备,FIFO队列中的数据传送采用数据流形式,具备完善的同步机制。

RT_FIFO是一种点对点的单向通信设备,一般用于两个线程之间的通讯,不支持单生产者、多消费者的使用模式[10]。

用户管理模块、实时控制模块和驱动模块三者之间的通信非常重要,难点在于如何选定出色的通信方式。

出色的通信方式能够增强整个数控系统的实时性能,进而保证系统能够稳定、可靠地运行。

图9所示为三个模块间的通信方式。

21411 用户管理模块与实时控制模块间的通信根据用户管理模块与实时控制模块之间各个通信的自身特点,将其分为参数通信和命令通信两类。

其中,参数通信是双向的,用户管理模块向实时控制模块传递控制参数,如高速运行速度、加工速度、抬刀速度和软限位等;实时控制模块向用户管理模块传递状态参数,如运行状态、加工效率、加工进程和专用硬件输入状态等。

命令通信是单向的,即用户管理模块向实时控制模块传递实时任务命令。

因为参数通信是双向的,所传递的参数由实时214 模块间通信享,适用于大批量数据传递,效率较高。

此外,共享内存不是点对点的通信通道,可以支持多生产者、多[9]消费者的使用模式,能够被多个线程同时访问。

共享内存划分为控制参数区、控制状态区和硬件状态区三个区。

用户管理模块直接将控制参数写入控

378计算机集成制造系统第16卷用户管理模块将实时内核命令以数据流的形式输入到RT_FIFO中,实时控制模块中的用户命令响应线程,实时地监测FIFO队列

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 机械仪表

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1