APP下载

基于Perl语言的四轴数控加工后处理研究

2018-09-20杨卫国朱文华

机械制造 2018年4期
关键词:刀路后处理风电

□ 杨卫国 □ 朱文华

上海大学机电工程与自动化学院 上海 200072

1 研究背景

随着现代制造业的发展,机械加工的复杂化、高精度化、自动化越趋明显。计算机辅助制造(CAM)作为必然选择,在现代机械加工中具有不可替代的作用。作为商用集成软件,CATIA的CAM模块在设定好加工工艺后,必须使用额外购买的后处理功能模块来进行转化,才能被特定的数控机床所识别,进而完成加工。笔者针对CATIA所生成的.apt格式刀路文件,使用Perl语言进行后处理,进而输出G代码,可以为企业节省购买商用后处理模块的费用。针对四轴卧式加工中心,使用Perl语言也可以进行后处理。Perl语言经过扩展和改进,可以快速适用于不同CAM软件所输出的刀路文件,并针对不同机床进行后处理。

国内研究者较多从CAM集成软件的内置后处理进行不同层次的论述,如软件的使用、优化处理等。邓奕[1]、唐立山[2]等分别对 CAM 集成软件的内置后处理进行了综述与概述,王启富[3]、张宇[4]、崔传辉[5]等分别就使用C语言和Python语言进行加工后处理的模型及实际应用进行了介绍。 王刚[6]、胡乾坤[7]等分别对通用后处理、算法原理和后置处理配置文件参数设计进行了研究。

笔者从工程实践出发,为企业降低成本,快速开发后处理应用。针对现有文献中对三轴及五轴加工论述较多,而对四轴卧式加工中心后处理研究较少,且无应用Perl语言进行后处理的现状,笔者对四轴数控加工的Perl语言后处理及坐标转换数学模型进行了推导,通过实践验证了这一方法的正确性。

2 APT语言

CATIA生成的刀路文件扩展名为.apt,而APT本身就是用于生成数控加工程序的高级编程语言[8],使用切削刀具的刀位点来编程,是数控编程系统中应用广泛、影响深刻、具有代表性的数控编程语言,由麻省理工学院开发。APT语言于1955年推出,1958年完成APTⅡ,1961年推出APTⅢ,适用于三至五坐标立体曲面自动编程。1985年,国际标准化组织公布的数控机床自动编程语言标准就是以APT语言为基础的。APT语言的出现,使具有复杂空间刀具运动的零件加工的计算机自动编程成为可能,是现代CAM系统的基础。我国等效制定了数控机床自动编程语言标准GB/T 11292—2008[9]。

APT语言详细语法格式和用法在相关标准[9-10]中已有规定,笔者仅介绍CATIA所输出.apt格式文件中常用关键字及Perl语言相对应的处理方法,见表1。

表1 .apt格式文件关键字及对应Perl语言处理方法

CATIA输出的.apt格式文件关于刀具位置的坐标语句格式为:

其中,x、y、z 为位点在坐标系中的尺寸,i、j、k 为刀具轴向量在 X、Y、Z方向单位向量的分量[10]。

笔者根据刀具轴向量来分析B轴旋转角度及坐标变换的数学模型。

3 Perl语言

Perl是一种高级通用直译式动态程序语言[11],其最初设计者拉里·沃尔为了使在UNIX操作系统上进行报表处理变得方便,决定开发一种通用脚本语言,于1987年12月18日发表。Perl语言借鉴了C、sed、awk、shell脚本及很多其它编程语言的特性,其中最重要的特性是Perl语言内部集成了正则表达式功能,以及巨大的第三方代码库CPAN。

Perl语言应用范围很广,除通用网关接口外,还被用于图形编程、系统管理、网络编程、金融、生物及其它领域。由于具有高度灵活性,Perl语言被称为脚本语言中的“瑞士军刀”。

因为Perl语言在处理文本方面具有高度的灵活性和强大的功能,所以选择Perl语言作为CAM后处理工具十分合适,并能高效快速地应用于生产。

使用文本编辑器来编辑代码,在Perl语言命令行环境中使用Perlname.pl来运行程序。可以使用DWIM Perl等工具包来调试Perl程序。

4 研究的问题

.apt格式刀路文件中的关键字转换为G代码,包括将.apt格式刀路文件中的有关坐标转换为G代码坐标。

数控加工中坐标轴旋转,包括A、B、C三轴旋转,均可归结为角度的数学处理问题。刀路文件提供的是角度单位向量的X、Y、Z方向的分量,因此可转化两向量的角度问题。

.apt格式刀路文件所提供的点位坐标及角度分量,在加工时均要转换为机床坐标系刀具的运动。

5 数字模型

5.1 两任意向量角度问题

▲图1 两任意向量角度

由两向量点积的定义,可知[12]:

5.2 向量与Z轴角度问题

如图2所示,针对B轴卧式加工中心,计算任意与XZ平面平行的向量与Z轴的夹角,即求刀具与Z轴的角度。在对应的坐标系中分析,易得a=[x10 z1],b=[0 0 1],代入式(5),得:

▲图2 向量与Z轴角度

因反余弦定义域为(0,π),当角度超过 180°时,易推导得其表达式为:

5.3 不特定点位绕坐标轴旋转后坐标的变换处理

因为CAM系统处理刀位坐标时,所给的刀位点为刀具的坐标(X,Y,Z)和刀轴的向量(i,j,k),所以必须对刀位点的坐标进行旋转变换。将.apt格式文件坐标变换为加工坐标。

一般情况,绕任意轴S[uxuyuz]作旋转变换的变换矩阵为[13]:

式中:ux,uy,uz为单位轴向量 u 的分量。

点 A[x y z]绕任意轴 S[uxuyuz]旋转角度 θ,得到点 B[x′y′z′]

如图3所示为绕Y轴旋转特例,Y轴的单位向量为:

▲图3 绕Y轴旋转的点的坐标变换

将向量代入 MR(θ),得到绕 Y 轴旋转的变换矩阵[13]:

任意点[x y z]绕[0 1 0]轴旋转,变换后为[x′y′z′],代入式(11),建立齐次表达式:

将式(13)转换为线性方程组,得点位坐标变换方程为:

由此便可以得到变换后的坐标。

6 程序处理方法

6.1 坐标处理及直线插补

根据数学建模分析,将数据代入式(14),进行变换计算即可。

6.2 固定循环处理

钻孔循环主要用于多孔加工,以下介绍一种简单的钻孔循环处理方法。

.apt格式文件的固定循环原始字串如下:

CYCLE/OFF

CYCLE/DRILL表示钻孔循环关键字。MMPM即mm/min。 RAPTO,d对应 RAPTO,1.000000,是可选项,指定在安全平面以下继续以快速向下的附加距离。RTRCTO,d对应 RTRCTO, $100.000000,是可选项,指定沿刀轴方向附加的快速回跳距离。$是换行符号,表示此行未完,程序处理时,需要连接两行并处理。CYCLE/OFF表示循环结束。

根据标准[10]中的基本语法规定,循环语法格式为CYCLE/DRILL,DEPTH,a(PERMIN PERREV FPT),b,CLEAR,c 0:n[,{(RAPTO,d)}]。 根据钻孔循环图(图4),含义如下:① DRILL指定钻孔循环;②DEPTH,a指定在控制点以下钻孔操作的最终深度,是以零件参考单位测量的有符号的补偿值,且从刀具坐标负向测量;③PERMIN指定每分钟进给量,进给量的单位由零件程序定义,如G94。④PERREV指定每转进给量,进给量的单位由零件程序定义;⑤FPT指定每齿每转进给量,进给量的单位由零件程序定义,需要在TOOLNO指令中通过FLUTES定义齿数,如果没有定义齿数,则默认为单齿;⑥CLEAR,C为关键字实数,指明在控制点之上的趋近安全距离的初始值,是以零件参考单位测量的有符号值,且从刀具坐标轴正向测量;⑦ 0:n[,{RAPTO,d}]表示可选参数,可定义为0,或者n。

▲图4 钻孔循环图

根据以上分析可知,对应的G代码为[14]:

与CYCLE/DRILL后处理模式匹配的方法如下:(1)第 1行为加工参数,使用 G81来替代CYCLE/DRILL,增加Z,直接引用深度坐标;

(2)第2行为坐标参数,按X、Y、Z坐标处理,并增加角度运算结果。

(3)第3行为循环关闭,使用G80替代。

6.3 圆弧插补

对于腰型槽铣削,CATIA采用了直线插补替代拟合圆弧的方式输出。事实上,在CAM领域,大量使用了直线拟合圆弧,通过圆弧拟合高次曲线,使计算简化。根据不同加工精度的需要,采用不同的拟合精度,可以达到不同的使用要求。因为圆弧插补的匹配模式较为复杂,笔者不作详细展开介绍。

7 测试文本

7.1 六方体模型

为了验证方法的正确性,并进行简化,笔者使用CATIA生成由六边形拉伸而成的六方体零件模型,如图5所示。模型简要说明如下:①设定六面铣削;②6个面上钻孔,因为6个面上坐标不同,所以可便于测试方法的正确性;③1个面做简单型腔轮廓铣削;④ 为方便验证,对不同的面作了标记,分为 A、B、C、D、E、F。

▲图5 六方体零件模型

7.2 机床模型

机床模型零件由Unigraphics软件导出,然后导入CATIA Machine Tool Builder 模块进行构建[15-16]。

(1) 定义连接副,包括三个滑动副,即 X、Y、Z;一个旋转副B;一个固定副,即床身。需要注意的是,需要先将机床模型完全约束到机床原点,定义运动方向后再导入仿真环境,否则会出现一些无法预料的错误。

(2)定义运动范围。

(3)定义零件装夹点、刀具装夹点。

(4)定义其它参数,如速度、加速度等。

(5)定义数控参数。

完成机床模型构建,如图6所示。

▲图6 机床模型

7.3 刀路文件

生成试验刀路,过程如下:

(1)定义工艺过程,如铣面、钻孔、铣腰槽等;

(2)定义加工方法、刀具,选择加工特征;

(3)按CATIA给定的模式,定义加工参数;

(4)生成.apt格式刀路文件;

(5)在CATIA中进行仿真,如图7所示。

对输出的.apt格式刀路文件中的A面铣加工代码进行截取,如下:

对截取段应用Perl语言进行处理。

▲图7 CATIA加工仿真

8 Perl语言应用

操作系统为Windows Server 2016,集成开发环境为JetBrains Clion,包含Perl插件。

编写Perl语言处理程序框图,如图8所示。

程序中主要涉及的算法为字符串替换、处理。由式(8)、式(9)、式(14)对坐标进行处理转换并输出,主要应用的技术为数学计算处理和正则表达式匹配、替换[17]。

9 验证

将Perl程序处理输出结果与IMSpost处理结果进行对比,见表2。

由对比可知,G代码完全相同,即Perl程序未对重复的坐标进行简化处理。

将Perl程序生成的代码在Vericut软件中进行仿真,得到的结果与CATIA仿真相同。

笔者所述程序为演示验证程序,若能增加如下功能,则可更加方便用于生产:

(1) 应用 G41、G42、G43 对刀长、刀具直径进行补偿;

(2)对重复的坐标进行简化处理;

(3)对部分关键字进行处理,并根据标准进行扩展。

通过代码运行与结果验证,确认完全可以应用Perl语言对.apt格式刀路文件进行快速后处理,并可得到正确结果。

10 结束语

关于.apt格式刀路文件的后处理,目前已有很多商用软件,但随着智能加工技术的发展,在加工数据的生成与转换方面必然会发生革命性变化,如目前发展势头强劲的STEP-NC技术,将零件几何信息、公差数据、加工工艺数据集成在数据包中,实现数据共享,以及前端计算机辅助设计与后端计算机辅助制造相互关联[18]。基于数控系统开放性[19]、智能化、网络化[20]、标准化的发展,对后处理的研究显得越来越重要。所有的数据转换及计算机处理都离不开相应的数学模型,笔者所述应用Perl语言的方法可以为相应研究提供参考。按笔者所述方法,如果增加一轴,并新增相应的边界条件,则很容易用于处理五轴加工问题。

笔者关于刀具坐标转换等数据模型的研究,对数控加工数据模型的建立,以及未来数据共享处理具有参考意义。在不需要大量改变现有系统模块的基础上,可以平顺实现数据共享。

表2 处理结果对比

▲图8 Perl语言处理程序框图

上海电气首台百万千瓦等级核电焊接转子进入冷加工阶段

日前,上海电气自主研发的全球最大核电焊接转子在浦东临港工厂制成,发运至巴基斯坦卡拉奇百万千瓦核电项目现场。

据了解,卡拉奇2号、3号机组合同签订于2013年底,常规岛主机设备及辅机由上海电气提供。该项目是中国首次出口海外的三代百万千万等级核电机组。

根据合同要求,核电低压转子将首次采用焊接转子,这也是百万千瓦等级核电焊接转子首次出口海外。百万千瓦等级核电焊接转子具有成本低、启动和负载更加灵活等优势。该技术取得突破,有效解决了整锻转子锻造难、交货期难以保证等诸多问题。

上海电气首台百万千瓦等级核电焊接转子从2017年2月开始装配焊接,经过5个月的焊接,正式进入冷加工阶段。该转子质量约280 t,长13 m,为上海电气浦东临港工厂加工过的最大转子,目前已具备批量生产能力。

(尔 东)

上海电气海上风电后市场蓄势待发

日前,上海电气风电集团亮相“2018年海上风电优化设计与运行维护专题交流研讨会”,以“全生命周期专业运维服务创造有未来的能源”为主题作了展示。

上海电气风电集团致力于创造有未来的能源,可以为客户提供全生命周期解决方案。作为国内最大的海上风电整机商,上海电气在海上风电后市场有着得天独厚的优势——国内最为丰富的海上风电运行实践经验和最为专业的业务团队,可以提供全生命周期的专业运维服务;基于大数据的预防性定检和消缺、一站式大部件更换与维修,可以提供准确率高达90%的远程实时振动诊断、全天候远程风机监护和快捷备品备件供应;智能无人机加智能水下机器人立体式巡检,可以为海上风电场提供360°无死角专项运维。

中国海上风电目前正进入快速开发期,风电后市场红利将在2019年开始逐步释放。在这样的背景下,上海电气风电集团正努力推进三个转变,重点布局海上风电后市场,蓄势待发。

(尔 东)

猜你喜欢

刀路后处理风电
果树防冻措施及冻后处理
UG NX叶轮多轴数控编程与仿真
浅谈结合UG与MasterCAM进行数铣编程的研究
UG编程刀路优化技巧
IPhone手机壳的五轴数控加工
乏燃料后处理的大厂梦
海上风电跃进隐忧
分散式风电破“局”
风电:弃风限电明显改善 海上风电如火如荼
乏燃料后处理困局