ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:20.98KB ,
资源ID:11930625      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11930625.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数控编程之MasterCAM文件的后处理.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数控编程之MasterCAM文件的后处理.docx

1、数控编程之MasterCAM文件的后处理数控编程之MasterCAM文件的后处理 数控编程之MasterCAM文件的后处理 2009-10-16 22:56:20| 分类: 机械类 |举报|字号 订阅2.数控自动编程原理我们在进行数控手工编程时,先是求出组成零件几何图形的基本线圆图素的节点(交点)坐标值,然后按数控程序的格式要求固定地排列起来,再少量地在某些部位嵌入一些加工工艺指令而已。也就是说只要求出各交点坐标,则转化成数控程序是就相当于填表一样有规则。自动编程就是利用计算机来计算这些交点,再按规律自动组成数控程序。对于简单零件图形,由于各交点坐标很容易求出,通常都只需要采用手工编程即可,若

2、用自动编程则感觉不出其优势,但对于复杂零件图形,由于交点坐标手工很难计算,所以往往需要借助于自动编程。当然,对于简单图形,若需要经常性地进行数学变换,同样需要使用自动编程系统。数控自动编程从发展的历史来分,可有:1)数控语言型批处理式自动编程早期的自动编程都是编程人员根据零件图形及加工工艺要求,采用数控语言,先编写成源程序单,再输入计算机,由专门的编译程序,进行译码、计算和后置处理后,自动生成数控机床所需的加工程序清单,然后通过制成纸带或直接用通讯接口,将加工程序送入到机床CNC装置中。这其中的数控语言是一套规定好的基本符号和由基本符号描述零件加工程序的规则,它比较接近工厂车间里使用的工艺用语

3、和工艺规程,主要由几何图形定义语句、刀具运动语句和控制语句三种语句组成。编译程序是根据数控语言的要求,结合生产对象和具体的计算机,由专家应用汇编语言或其它高级语言编好的一套庞大的程序系统。这种自动编程系统的典型就是APT语言。APT语言最早于1955年由美国研制成功,经多次修改完善,于70年代发展成APT-,一直沿用至今。其它如法国的IFAPT、德国的EXAPT、日本的FAPT、HAPT以及我国的ZCK、SKC等都是APT的变形。这些数控语言有的能处理35坐标,有的只能处理2坐标,有车削用的、铣削及点位加工用的等。这种方式的自动编程系统,由于当时计算机的图形处理能力较差,所以一般都无图形显示,

4、不直观,易出错。虽然后来增加了一些图形校验功能,但还是要反复地在源程序方式和图形校验方式之间来回切换,并且还需要掌握数控语言,初学者用起来总觉不太方便。2)人机对话型图形化自动编程在人机对话式的条件下,编程员按菜单提示的内容反复与计算机对话,陆续回答计算机的提问。从一开始,对话方式就紧密与图形显示相联,从工件的图形定义,刀具的选择,起刀点的确定,走刀路线的安排直到各种工艺 指令的及时插入,全在对话过程中提交给了计算机,最后得到的是所需的机床数控程序单。这种自动编程具有图形显示的直观性和及时性,能较方便地进行对话修改,易学且不易出错。图形化自动编程系统有EZ-CAM、Master CAM、UGI

5、I、PRO/E、CAXA制造工程师等。由于图形显示的直观性和及时性,图形化自动编程现在已经是数控加工领域应用最广的自动编程方式。这类软件一般包括几何绘图的CAD部分和加工刀路定义的CAM部分。然而,就CAM部分来说,刀路定义完成后,怎样针对不同的数控系统来生成相对应的NC程序呢?那就涉及到后置处理技术。3.MasterCAM软件及其后置处理技术31 MasterCAM软件的数据处理流程MasterCAM软件由CAD模块绘制图形,存盘后保存为*.MCx(x为版本号,如MC7、MC8、MC9等);进行加工刀路定义后,即可生成相对独立的*.NCI刀路数据文件,该文件存放了关于刀具、工艺参数、加工节点

6、坐标等按照刀路定义顺序产生的一些格式固定的数据;最后需要生成NC程序时,由后置处理模块读取NCI文件中的数据,根据选用的机床数控系统后置处理文件(MP*.PST)的要求,编译组合成适于数控加工机床用的NC程序清单文件*.NC。当然,MasterCAM中还有存放刀具参数、毛坯及刀具材质、配置系统状态、加工工艺表单等的一些数据格式文件。32 MasterCAM软件针对数控系统的后置处理技术从以上MasterCAM软件的数据处理流程可知,MasterCAM经刀路定义后生成的刀路数据文件NCI是不变的,最后生成NC程序时需要用到不同的后置处理格式文件*.PST,从而生成不同的NC格式程序代码。系统提供

7、适于各种不同数控系统的后置处理文件,如适于日本FANUC系统的MPFAN.PST,适于美国Dynapth数控系统的Mpdypth.pst,适于德国马豪数控系统的Mpmahoxy.pst、Mpmahoxz.pst,适于mazakm数控系统的Mpmazakm.pst等等。尽管如此,由于我们所使用到的机床很多功能处理上经机床生产厂家做过各式各样的改变,可能无法直接使用由默认后置处理各式生成的NC程序,因此,研究探索后置处理文件就很有必要。MasterCAM软件最后NC程序的生成取决于不同的后置处理文件PST ,通过探索修改PST文件即可获得我们所需要的适应不同数控系统的NC程序格式。4后置处理文件参

8、数项对NC程序输出的影响简述通过修改后置处理(*PST)文件参数的变量赋值,可控制NC程序输出,以下是控制程序输出单节的内容,我们由此来简单的看一看修改各参数项的影响。# General Output Settings 基本输出选项设置# -sub_level : 1 #Enable automatic subprogram supportbreakarcs : 2 #Break a rcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcsarcoutput : 1 #0 = IJK, 1 = R no sign, 2 = R signed neg. o

9、ver 180arctype : 2 #Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc.do_full_arc : 0 #Allow full circle output? 0=no, 1=yeshelix_arc : 2 #Support helix arc output, 0=no, 1=all planes, 2=XY plane onlyarccheck : 3 #Check for small arcs, convert to linearatol : .01 #Angularity tolerance for arcchec

10、k = 2ltol : .002 #Length tolerance for arccheck = 1vtol : .0001 #System tolerancemaxfeedpm : 500 #Limit for feed in inch/minltol_m : .05 #Length tolerance for arccheck = 1, metricvtol_m : .0025 #System tolerance, metricmaxfeedpm_m : 10000 #Limit for feed in mm/minforce_wcs : yes #Force WCS output at

11、 every toolchange?spaces : 0 #Number of spaces to add between fieldsomitseq : no #Omit sequence numbers?seqmax : 9999 #Max. sequence numberstagetool : 0 #0 = Do not pre-stage tools, 1 = Stage toolsuse_gear : 0 #Output gear selection code, 0=no, 1=no max_speed : 10000 #Maximum spindle speedmin_speed

12、: 50 #Minimum spindle speednobrk : no #Omit breakup of x, y & z rapid movesprogname : 1 #Use uppercase for program name (sprogname)xflip : no #Reverse X axis orientation - eap 1/17/03yflip : no #Reverse Y axis orientation - eap 1/17/03zflip : no #Reverse Z axis orientation - eap 1/17/03# -以break

13、arcs为例:当breakarcs=0时,不打断圆弧,以整圆形式输出;当baeakarcs=1时,将圆弧划为4等分,分4象限的形式输出:当breakarcs=2时,按180度打断圆弧,分2部分输出。如图5所示外形铣削,当baeakarcs=1时,其程序输出为:%O1234N100G21N102G0G17G40G49G80G90( 10. FLAT ENDMILL TOOL - 1 DIA. OFF. - 1 LEN. - 1 DIA. - 10.)N104T1M6N106G0G90G54X-65.Y-45.A0.S2000M3N108G43H1Z10.M8N110Z5.N112G1Z-2.F2

14、00.N114X-55.F500.N116X40.N118G3X55.Y-30.R15.N120G1Y15.505N122G3X75.Y40.R25.N124X50.Y65.R25.N126X25.505Y45.R25.N128G1X-30.N130Y40.N132G2X-50.Y20.R20.N134G1X-55.N136Y-45.N138Y-55.N140Z3.F10000.N142G0Z10.N144M5N146G91G28Z0.M9N148G28X0.Y0.A0.N150M30%当breakarcs=2时,程序输出如下:%O1234N100G21N102G0G17G40G49G80G9

15、0( 10. FLAT ENDMILL TOOL - 1 DIA. OFF. - 1 LEN. - 1 DIA. - 10.)N104T1M6N106G0G90G54X-65.Y-45.A0.S2000M3N108G43H1Z10.M8N110Z5.N112G1Z-2.F200.N114X-55.F500.N116X40.N118G3X55.Y-30.R15.N120G1Y15.505N122G3X45.Y64.495R25.N124X25.505Y45.R25.N126G1X-30.N128Y40.N130G2X-50.Y20.R20.N132G1X-55.N134Y-45.N136Y-55

16、.N138Z3.F10000.N140G0Z10.N142M5N144G91G28Z0.M9N146G28X0.Y0.A0.N148M30%5后置处理文件的改编51 南通XH713AFANUC-0i系统的后置处理南通XH713A立 式加工中心采用斗笠式刀库,和机械手换刀不同,它无法预先进行选刀操作,其选刀和自动换刀过程密不可分,必须先将主轴上的刀具装回到原刀袋中,才可以往下进行选刀。换刀时主轴应移动到第二Z参考点的位置,卸刀时主轴则提升到第一Z参考点的高度。换刀过程中还需要控制刀库座盘的整体移动,动作相当复杂,因此机床厂家对其所用的FANUC-0i系统进行了适当的改造,根据换刀动作的要求,编写

17、了一个O9000的子程序,要求用户在编写自动换刀的程序时,采用M98P9000的程序格式,且换刀前应让机床Z轴处于第二参考点的位置上。另外,机床开启冷却液是使用的M7指令,而非M8指令。其他方面基本采用FANUC的标准程序形式。针对该机床的特点,我们在改写MPFAN.PST文件时就需要将所有可能生成“TxxM6”的指令改为生成“TxxM98P9000”的指令,将生成“M8”的指令改为生成“M7”的指令输出,将换刀前自动回第一参考点的“G28”的指令改为生成回第二参考点“G30”的指令输出。针对M8改M7,可改动字符串定义单节的定义,将sm08、sm08_1、sm08_2变量都用“M7”这一字符

18、串进行赋值定义,即将如下定义段fstrsel sm04 spdir2 spindle# -# Coolant M code selectionsm09 M9 #Coolant Offsm08 M8 #Coolant Floodsm08_1 M8 #Coolant Mistsm08_2 M8 #Coolant Toolscoolant #Target for stringfstrsel sm09 coolant scoolant #-改为:fstrsel sm04 spdir2 spindle# -# Coolant M code selectionsm09 M9 #Coolant Offsm0

19、8 M7 #Coolant Flood sm08_1 M7 #Coolant Mistsm08_2 M7 #Coolant Toolscoolant #Target for stringfstrsel sm09 coolant scoolant #-如果要兼顾到可能会用到M8的情形,可改动其中一个如sm08_1为 M7,这样在刀路定义时选择开启冷却液的第三项“喷雾”,即可。针对换刀程序格式输出,可直接将程序格式预定义单节中所有“M6”改为“M98P9000”,将所有“G28”改为“G30”即可。#-# Start of File and Toolchange Setup#-psof0 #Sta

20、rt of file for tool zero psofpsof #Start of file for non-zero tool number pcuttypetoolchng = one if ntools = one,#skip single tool outputs, stagetool must be onstagetool = m_one !next_tool"%", e*progno, e"(PROGRAM NAME - ", sprogname, ")", e"(DATE=DD-MM-YY - "

21、, date, " TIME=HH:MM - ", time, ")", epbld, n, *smetric, e pbld, n, *sgcode, *sgplane, "G40", "G49", "G80", *sgabsinc, esav_absinc = absinc if mi1 <= one, #Work coordinate systemabsinc = onepfbld, n, sgabsinc, *sg28ref, "Z0.", epfbld, n,

22、 *sg28ref, "X0.", "Y0.", epfbld, n, "G92", *xh, *yh, *zh, eabsinc = sav_absincpcom_movebc_mmlt #Multiple tool subprogram callptoolcommentcommentpcanif stagetool >= zero, pbld, n, *t, "M6", epindexif mi1 > one, absinc = zeropcan1, pbld, n, *sgcode, *sgabs

23、inc, pwcs, pfxout, pfyout, pfcout, *speed, *spindle, pgear, strcantext, epbld, n, "G43", *tlngno, pfzout, scoolant, next_tool, eabsinc = sav_absincpcom_moveatoolchng = zero c_msng #Single tool subprogram callptlchg0 #Call from NCI null tool change (tool number repeats) pcuttypepcom_movebc_

24、mmlt #Multiple tool subprogram callcommentpcanresult = newfs(15, feed) #Reset the output format for 'feed'pbld, n, sgplane, e pspindchngpbld, n, scoolant, eif mi1 > one & workofs <> prv_workofs,sav_absinc = absincabsinc = zeropbld, n, sgabsinc, pwcs, pfxout, pfyout, pfzout, pfco

25、ut, epe_inc_calcps_inc_calcabsinc = sav_absincif cuttype = zero, ppos_cax_linif gcode = one, plinoutelse, prapidoutpcom_moveac_msng #Single tool subprogram callptlchg #Tool change pcuttypetoolchng = one if mi1 = one, #Work coordinate systempfbld, n, *sg28ref, "X0.", "Y0.", epfbld

26、, n, "G92", *xh, *yh, *zh, epbld, n, "M01", epcom_movebc_mmlt #Multiple tool subprogram callptoolcommentcommentpcanresult = newfs(15, feed) #Reset the output format for 'feed'pbld, n, *t, "M6", epindexsav_absinc = absinc if mi1 > one, absinc = zeropcan1, pbld

27、, n, *sgcode, *sgabsinc, pwcs, pfxout, pfyout, pfcout, *speed, *spindle, pgear, strcantext, epbld, n, "G43", *tlngno, pfzout, scoolant, next_tool, eabsinc = sav_absincpcom_moveatoolchng = zero c_msng #Single tool subprogram callpretract #End of tool path, toolchange sav_absinc = absinc abs

28、inc = onesav_coolant = coolantcoolant = zero#cc_pos is reset in the toolchange herecc_pos = zero gcode = zeropcanpbld, n, sccomp, *sm05, psub_end_mny, epcan1, pbld, n, sgabsinc, sgcode, *sg28ref, "Z0.", scoolant, s trcantext, epbld, n, *sg28ref, "X0.", "Y0.", protretinc

29、, epcan2absinc = sav_absinc coolant = sav_coolantprotretinc #Reset the C axis revolution counterif frc_cinit & rot_on_x,rev = zerosav_rev = zerocabs = zerocsav = zeroindx_out = zeroif index, e, pindxcalc, pindexelse, *cabsprvcabs = zero!csav, !cabspeof0 #End of file for tool zero peofpeof #End of file for non-zero tool pretractcomment#Remove pound character to output first tool with staged tools#if stagetool = one, pbld, n, *first_tool, en, "M30", e mergesubclearsubmergeaux

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

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