欢迎来到学术参考网

基于MasterCAM的后处理应用

发布时间:2015-07-04 20:33

【摘要】文章介绍了数控自动编程软件后处理的相关知识,并以应用较为广泛的mastercam9.0软件为例,介绍了该软件后处理文件的简单修改方法。通过对后处理文件的修改,定制出了适应不同数控系统(fanuc0i、sinumerik802d)的专用后处理程序。

【关键词】数控自动编程软件;后处理;数控系统
 
  后处理(post)是处理机床及数控系统直接相关的信息,是计算机辅助制造(cam)基本实现过程的最后一个关键环节,它直接决定了由cam编程所产生的加工程序能否在数控机床上顺利运行。众所周知目前数控机床所采用的控制系统各不相同,它们能识别的数控指令也不尽相同,如在我国应用十分广泛的日本fanuc系列数控系统、德国西门子公司的sinumerik系列数控系统。mastercam软件以其简单易学、经济实用的优点深受用户喜爱。该软件配置的是适应单一类型数控系统的通用后处理,每个后处理文件对应一种数控系统模型。在mastercam软件的post文件夹下,有多种后处理文件。为了解决实际数控系统的不同配置和编程人员的不同习惯问题,正确认识、设置、修改后处理文件是行之有效的。
  一、后处理的目的
  数控机床是根据数控程序来动作的,而数控程序是由一系列的特定数控指令构成。编程人员使用cam软件对加工零件进行交互式编程,所有工艺信息在编程过程中已设置好,由此生成刀具轨迹文件(nci文件)。后处理则根据刀具轨迹文件以规定的标准格式转化为数控系统能够识别和执行的数控指令,实质上是一个文本编辑处理的过程。后处理的最终目的就是要生成一个适合于实际数控系统的代码程序。
  二、mastercam后处理文件的结构
  mastercam后处理文件的扩展名为pst,称为后处理器。它定义了数控程序的格式、辅助工艺指令、接口功能参数等。其结构主要有以下几部分组成。(1)注释资料:注释是对后处理文件及其设定方法的一般性介绍。程序列前带“#”符号的为注释,系统在执行代码处理时不受注释的影响。如“#post name:mpfan”表示后处理器的名称为mpfan。(2)辅助除错:辅助除错通过插入变量bug1、bug2等帮助除错,后处理程序会显示资料于屏幕上。(3)格式的描述:指定一个数值化的格式给变量使用,在“格式的指定”前必须含有格式的描述。(4)格式的指定:格式制定的命令。以字母“fmt”开头。(5)起始部分:在开始执行后处理程序时指定特定的数值给事先定义的变量或使用者自定义的变量、选择固定循环使用较长或较短的加工代码。(6)问题定义:在执行后处理程序时插入一个问题给后处理程序执行。(7)查表:定义一个查表的表格以便于从列表整数中选取一个号码。(8)字符串列表:字符串以字母“s”开头,主要用于定义nc程序中输出的指令代码。如“sg00 g0  #rapid”即用字符串sg00来指定快速点定位指令g0,在nc程序中出现g0代码。字符串列表主要包括常规的g代码、m代码、错误信息、刀具半径补偿等。(9)预先定义的单节:单节以字母“p”开头,用预先定义的常规去规划nc程序中大部分共同区域如程序的起始部分、刀具交换等。 如“ptlchg #tool change
      pcuttype
      toolchng = one
      if mi1 = one, #work coordinate system
      …”
表示用ptlchg单节指代刀具交换。(10)使用者定义的单节:让使用者可按照数控程序规定的格式将一个或多个nc代码作有组织的排列,编排成一条程序段。(11)系统问题:后处理软件提出了一系列的问题供用户做简易的规划来更改后处理程序。如问题“81. data rate (110,150,300,600,1200,2400,4800,9600,
14400,19200,38400)? 1200”表示系统提问传输速率是多少?后面括号里的数据是参考值,回答是1200。
  四、mastercam后处理文件的修改
  mastercam默认的后处理器为fanuc系统,文件名为。sinumerik系列系统无对应的后处理器。根据现有的数控系统(fanuc0i-mc、sinumerik802d)及平时编程习惯,主要修改以下几个方面。在修改前应该把原来的后处理文件作一备份,防止出错后无法恢复。
  (一)fanuc0i-mc系统
  (1)忽略程序号码;(2)忽略程序名称;(3)忽略程序日期与时间;(4)忽略公制代码g21;上面(1)~(4)修改时打开文件,在#start of file and toolchange setup部分找到psof单节把
   *progno, e
 "(program name - ", sprogname, ")", e
 "(date=dd-mm-yy - ", date, " time=hh:mm - ", time, ")", e
  pbld, n, *smetric, e
四句删除或在每句前加上“#”符号。(5)忽略刀具注释:打开文件,在# tool comment / manual entry section部分找到ptoolcomment单节,把"(", pstrtool,*tnote,*toffnote,*tlngnote,*tldia,")",e 一句删除或在句前加上“#”符号。(6)忽略回参考点指令g28:打开文件,在#start of file and toolchange setup部分找到psof单节把pfbld,n,sgabsinc,*sg28ref, "z0." e、pfbld,n, *sg28ref,"x0.", "y0." e两句删除或在每句前加上“#”符号。(7)忽略工件零点设置代码g92:打开文件,在#start of file and toolchange setup部分找到psof单节把pfbld, n, "g92", *xh,*yh, *zh,e一句删除或在句前加上“#”符号。(8)忽略换刀时及程序结束时回参考点指令g28:打开文件,在#start of file and toolchange setup部分找到pretract单节把pcan1, pbld,n, sgabsinc,sgcode,*sg28ref,"z0.",scoolant, strcantext,e、#pbld,n,*sg28ref,"x0.", "y0.",protretinc,e两句删除或在每句前加上“#”符号。有些机床换刀时必须有这条指令,则不必修改。(9)关闭第四轴功能:第四轴功能若不关闭会在生成的nc程序中产生默认为“a0”的代码,加工时会产生报警。打开文件,找到变量设置# rotary axis settings部分,把rot_on_x : 1 #default rotary axis orientation, see ques. 164.
#0 = off, 1 = about x, 2 = about y, 3 = about z

句中冒号后面的数字1改成0即可。也可以找到问题164. enable rotary axis button? y把回答的y改成n即可。(10)主轴最高转速改为8000rpm:由于所使用机床的最高转速为8000rpm,所以把后处理器的主轴最高转速也设置成8000rpm。打开文件,找到变量设置# general output settings部分,把max_speed: 3000 #maximum spindle speed句中冒号后面的数字改成8000即可。(11)忽略程序行号:行号会占用较多的内存空间。而且由于产生的nc程序段较多会出现行号重复的现象,会带来一定的麻烦。打开文件,找到变量设置# general output settings部分,把omitseq: no #omit sequence numbers? 句中冒号后面的no改成yes即可。(12)钻孔固定循环改为g81、g83等:fanuc系统的钻孔固定循环相对较简单,而sinumerik802d系统钻孔固定循环是以调用子程序如钻孔cycle83(20,0,1,-5,,)的形式出现,本文仅对fanuc系统进行修改。打开文件,找到变量设置# enable canned drill cycle switches部分,把usecandrill : no #use canned cycle for drill句中冒号后面的no改成yes即可。后面几种循环方式也按此方法修改。以上内容修改完后文件另存为以供mastercam调用。
  (二)sinumerik802d系统
  上面的(1)~(11)条作相同修改。
  (12)删除原程序起始符“%”,添加程序起始符
          “%_n_progname_mpf”
          “;$path=/_n_mpf_dir”
  在与机床通信时,sinumerik系统必须有上面的起始符才能传输。打开文件,在#start of file and toolchange setup部分找到psof单节先删除“%”,e一句或在句前加“#”符号。然后在# "(program name - ", progname, ")", e一句后加上下面两句就可以了。
    "%_n_", progname,"_mpf", e
 ";$path=/_n_mpf_dir",e
 (13)在程序初始化指令中添加g64指令。由于sinumerik802d系统默认为g60准确定位方式,在加工曲面时g60方式会出现细微的停顿,影响零件表面质量,而改成g64连续路径运行就能解决这个问题。打开文件,在#start of file and toolchange setup部分找到psof单节在pbld, n,*sgcode,*sgplane, pwcs, *sgabsinc, e这一句中添加"g64"指令。
  (14)忽略长度补偿指令h代码。fanuc系统的长度补偿和半径补偿分别放在地址h和d里面,而sinumerik802d系统把长度补偿和半径补偿都放在地址d里面,调用某把刀具后,默认为一号补偿,如t3m6指令换好三号刀后,系统即使省略长度补偿和半径补偿指令d也会默认调用一号补偿即d1。打开文件,在#start of file and toolchange setup部分找到psof单节,把pbld, n, "g43",*tlngno, pfzout, scoolant, next_tool, e一句中的"g43"、*tlngno删除。再在ptlchg单节中把pbld, n, "g43",*tlngno, pfzout, scoolant, next_tool, e一句中的"g43"、*tlngno删除。
  (15)圆弧转出形式改成ijk形式。sinumerik802d系统圆弧插补格式不识别fanuc系统的g2/g3 x_ y_r_圆弧插补格式。所以必须改成系统能识别的ijk形式。打开文件,找到变量设置# general output settings部分找到arcoutput:1 #0 = ijk,1 = r no sign, 2 = r signed neg. over 180一句,把冒号后面的数字1改成0即可。
  (16)程序结束符改为m02。根据sinumerik802d系统编程说明书,程序结束符为m02而不是m30。打开文件,在#start of file and toolchange setup部分找到peof单节,把n, "m30", e一句中的m30改成m02即可。以上内容修改完后文件另存为以供mastercam调用。
五、后处理验证
修改好的后处理文件必须进行验证,确认准确后方可使用。在mastercam环境下编程一零件,其加工步骤为先用φ16平刀粗铣一圆形外轮廓,然后再用φ10平刀精铣该轮廓,最后用φ10麻花钻在零件中心处钻一个孔。生成刀具轨迹后分别采用和生成nc程序如下图所示。利用机床的通信功能把程序传入控制器,或者利用dnc加工方式,对上面的程序进行加工。验证表明,上述两个程序能够在相应的数控机床上顺利运行。
六、结语
  通过对mastercam后处理文本的简单修改,使之在实际运用中得到了预期的效果。相信只要不断探索总结,数控自动编程软件是能够更好地为数控加工技术服务的。  
  
参考文献
[1]王卫兵.mastercam数控编程实用教程[m].北京: 清华大学出版社,2003.
[2]李传军.机械cam技术与应用[m].北京: 机械工业出版社,2005.
[3]缪德建.cad/cam应用技术[m].江苏: 东南大学出版社,2005.
[4]何满才.模具设计与加工——mastercam9实例详解[m].北京: 人民邮电出版社,2003.

上一篇:浅谈在软件开发管理中的误区及对策

下一篇:巧用多媒体,优化《机械制图》教学