凸轮轴数控虚拟磨削技术的研究
- 格式:pdf
- 大小:536.40 KB
- 文档页数:5
制造技术/工艺装备现代制造工程2010年第1期凸轮轴数控虚拟磨削技术的研究3邓朝晖,曾建雄(湖南大学国家高效磨削工程技术研究中心,长沙410082)
摘要:在分析凸轮轴数控虚拟磨削技术特点基础上,综合运用数据库技术、计算机编译技术和图像处理技术,开发了基于编译原理和图像处理的凸轮轴数控虚拟磨削系统,该系统采用链码跟踪方法记录图像的边缘轮廓,同时,结合数控加工的特点,通过误差分析实现凸轮轴轮廓的自动补偿。给出系统开发关键技术的实现方法。实例表明,该系统为实现凸轮轴数控虚拟磨削提供了条件。关键词:凸轮轴;虚拟磨削;编译原理中图分类号:TP39119 文献标识码:A 文章编号:1671—3133(2010)01—0055—05
ResearchofcamshaftNCvirtualgrindingtechnologyDENGZhao2hui,ZENGJian2xiong(NationalEngineeringCenterforHighEfficiencyGrindingResearch,
HunanUniversity,Changsha410082,China)Abstract:BasedontheanalysisoffeaturesofcamshaftNCvirtualgrindingtechnology,combineddatabasetechnology,computercompilationtechnologyandimageprocessingtechnology,acamshaftNCvirtualgrindingprogrammingsystemwasdeveloped.Thecontourofimagewasobtainedthroughchain2codetracking,aimedatfeaturesofNCmachining,througherroranalysisthecam2shaftprofilewasautomaticcompensated.Severalrealizationmethodsofkeytechnologiesofthesystemweregiven.TheapplicationexampleshowsthatthesystemsuppliesahelpfulconditionforcamshaftNCvirtualgrinding.Keywords:camshaft;virtualgrinding;compiletheory
0 引言凸轮轴是汽车发动机和其他内燃机上的关键部件之一,其加工质量和加工效率,直接影响着汽车产品的质量和整个汽车行业的发展。现代汽车产业的迅速发展,对凸轮轴的加工质量和加工效率提出更高的要求。传统的机械靠模仿型加工方法存在精度难以保证、柔性差和生产周期长等缺陷。同时人们追求产品的多样化和个性化,也迫切需要市场快速有效地推出各种不同类型的产品。利用自动编程系统产生的代码或手工编制的代码,在正式加工前一般要经过试切来对代码的正确性进行验证。如果数控代码不正确,很可能发生砂轮与凸轮轴,砂轮与机床的碰撞现象。传统的试切不但耗费人力、物力,而且还延缓了生产周期。目前对数控凸轮轴磨床的仿真,主要还是利用刀位文件[1,2],因此有必要开发一种针对NC代码的仿真系统。随着计算机图像处理技术的深入发展和应用,面向数控加工的图像处理技术已经广泛应用于虚拟制造中[3]。近几年来,国内外很多学者在数控仿真系统的框架结构、可视界面和运算法则等方面进行了大量的研究工作[426],然而很少有将注意力放在NC程序编译器的研
究工作上。代码编译器是数控仿真系统最重要的功能模块之一,大连铁道学院的张生芳应用正规文法和LALR(1)方法对NC程序进行词法、语法分析,开发出具有通用意义的NC代码编译系统[7]。香港理工大学的W.B.Lee设计了针对精密光学仪器的虚拟制造系统的功能模型,并针对该系统提出NC代码编译模块的设计和结构[8,9]。由于传统的自动编程系统效率低下,加工预测结果不直观,本文开发了基于编译原理和图像处理的凸轮轴数控虚拟磨削系统,利用数据库作为零件信息载体。凸轮轴数控虚拟磨削系统对凸轮轴数控磨削NC
代码进行仿真,替代或减少实际的试切工作,从而可
553国家863高科技发展计划资助项目(2007AA04Z143) 现代制造工程2010年第1期制造技术/工艺装备以缩短制造周期,降低生产成本;运用图像处理技术分析凸轮轴虚拟磨削加工的轮廓误差,对凸轮轴轮廓进行自适应补偿,从而提高加工精度。1 凸轮轴虚拟磨削系统原理及组成数控凸轮轴虚拟磨削系统利用凸轮轴加工数学图1 凸轮轴数控虚拟磨削系统原理模型,将凸轮升程曲线转换成凸轮轮廓曲线,该系统能够自动读入NC代码,经过编译运算驱动加工仿真模块进行虚拟磨削,同时能根据虚拟磨削得到的轮廓与理论轮廓进行比较,优化代码,具有操作简单、成本低和效率高等特点。系统原理如图1所示。虚拟磨削系统由NC代码输入、加工定义、模型计算、NC代码编译、轮廓提取、误差分析、加工仿真和代码优化等模块构成。加工模块提供凸轮升程表数据的输入。模型计算模块借助Matcom工具中的拟合函数,对凸轮升程数据进行光顺处理,再通过凸轮轴磨削加工数学模型计算处理,得到凸轮实际轮廓数据。输入的数控代码通过NC代码编译模块,直接驱动加工仿真模块对凸轮轴加工成形。加工仿真后轮廓提取模块提取图像的二维轮廓信息,得到的轮廓数据和凸轮轴加工数学模型得到的理论轮廓数据进行对比,做出误差分析曲线。根据误差分析的结果及精度要求,确定是否需要进行代码优化,代码优化主要对离散化的凸轮轴加工砂轮架X与凸轮轴C耦合插补数据进行自适应加密处理。2 关键技术及实现方法211 数控代码编译整个编译系统分为NC代码编译和NC系统定制两大模块。NC代码编译模块的功能是针对给定的NC系统,对代码进行词法分析和语法分析,然后将通过检查无误的代码转换为另一指定NC系统的格式。根据其实现功能,可划分为词法分析、语法分析、出错处理和代码转换四个子模块。NC系统定制则提供足够的交互功能,使用户可根据具体要求,为编译系统添加NC系统特征,以满足编译多种类型NC代码的需要。系统定制又可分为前、后期两个子模块,前期子模块用于实现系统定制中与用户交互部分的功能;
后期子模块则用于建立定制系统与NC代码编译之间的联系。NC程序通过词法分析器和语法分析器,链接相应的NC代码关键字表,对NC程序代码做分析、检查和信息提取。最终生成驱动仿真运动的数据链表。NC代码关键字表用来实现NC代码编译器模块的通用性和兼容性。对于不同系统的NC代码,只需要建立一个相应的NC代码关键字表格,就可以使用这种NC代码编译器,完成NC源程序代码向虚拟加工运动驱动代码的转换。由于词法和语法分析中,需要用正则表达式对字符串进行查找,所以在NC代码关键字表格中,以正则语法的格式存放各个系统的关键字符。以G代码为例编程如下。//以下关键字用于词法分析AnsiStringstrG=“G(\\d+)?”;G代码系列//以下关键字用于语法分析AnsiStringstrRmove=“G00”;快速移动定位AnsiStringstrLmove=“G01”:直线插补AnsiStringstrCmove=“G02”:顺时针圆弧插补AnsiStringstrCCmove=“G03”;逆时针圆弧插补……本系统采用GRETA正则表达式模板类库对NC
程序进行词法检查,通过与关键字符表中的相应字符进行对比匹配,识别程序中是否存在非法字符(即无法匹配的字符)。当出现非法字符时,显示错误并停止编译,以供编程人员进行修改。词法分析模块程序按照以下步骤进行词法分析,即以块为单位输入NC
图2 数控代码编译系统流程源代码,读入一行程序,去除空格、注释;使用正则表达式及关键字表的格式分析程序,判断剩余字符是否为空,若是,
显示剩余字符(即无法匹配的
错误字符);若否,词法格式正确读入下一行程序,重复上述过程。随后,读
65 制造技术/工艺装备现代制造工程2010年第1期入下一块程序,重复上述过程。数控代码编译系统实现流程见图2。由于本系统采用正则表达式模板类库匹配的方式,所以在处理时结合自顶向下分析法和优先分析法的优点。在处理NC程序块时,采用自顶向下分析,逐行读入;在处理一行程序时,采用优先分析法,在规约过程中,尽管存在不规范规约的问题,但是分析速度快,而且在本系统中采用GRETA类库的一些函数进行处理,使得这一问题得到很好地解决。以含有错误代码“G178X2300OY300”的一行NC程序为例:词法和语法检查,会显示“G178ERROR2G代码错误”、“X23000尺寸值错误”等出错提示。212 加工仿真凸轮轴数控虚拟磨削加工采用橡皮条技术(“画2擦”技术),绘图时以凸轮加工允许误差值的最小分辨率作为一个单位像素。凸轮虚拟加工最小允许误差值为t,那么一个像素就是表示t单位长度。这里采用C++Builder中的绘图控件Image,对于Image控件1mm为3个像素,可知绘图最小尺寸放大倍数为1/(3t)。图形通过图形函数StretchDraw缩放显示在Image上。轨迹仿真的基本步骤如下。1)创建刀位数据链表,根据加工要求对数控代码进行处理,将加工信息转变为与工件模型和刀具模型相对应的位置坐标,按加工顺序填入链表中。2)对不同插补运动做出插补曲线,按数控机床的最小分辨率,结合加工精度要求获取运动数据链。3)利用时间控制函数依次读取链表的结点,每次读入一个结点,得到砂轮架与凸轮轴的耦合坐标,采用反转法,将砂轮架X与凸轮轴C的耦合运动转换为凸轮固定,砂轮既绕凸轮基圆转动,又沿着砂轮与凸轮基圆中心线移动,砂轮颜色与Image背景色相同,采用“画2擦”技术,擦除凸轮与砂轮重合的地方;周期性地读入链表结点,实现连续磨削,从而达到加工过程的仿真。4)链表读取完毕,关闭时间控制器,显示加工结果。其他加工辅助信息,用文字在加工仿真界面直接显示。213 轮廓数字化凸轮轴数控虚拟磨削加工后,最终得到的图形需要提取轮廓进行误差分析。轮廓提取按照像素点的颜色进行判断。循环找出每一列的两个边界点,将边界点中间的像素点颜色转换为背景色。具体实现算法如下。1)定位扫描起始列为第一列。2)从上到下扫描该列像素点,如果找到和背景颜色不同的像素点,将像素点对应的坐标值添加到实际轮廓数据链中,记录此像素点行标志StartFlag。若搜索结束未找到与背景颜色不同的像素点,转实现算法5)。3)从下到上扫描该列像素点,如果找到和背景颜色不同的像素点,将像素点对应的坐标值添加到实际轮廓数据链中,记录此像素点行标志EndFlag。4)将该列StartFlag和EndFlag之间的像素点颜色变成背景色。5)定位扫描下一列像素点。若扫描完最后一列,转实现算法6),否则转实现算法2)。6)扫描结束,采用文献[3]的链码追踪技术重新排列轮廓数据链。7)最后,将这些轮廓点连成一条封闭的曲线。214 误差分析凸轮磨削过程实际上就是砂轮架X与凸轮轴C