一、 前言
数控自动编程分为以自动编程语言和以计算机绘图为基础的自动编程方法,两种方式都是经过刀位计算产生加工刀具路径文件,而不是数控程序。从加工刀具路径文件中提取相关的加工信息,并根据指定数控机床的特点及数控程序格式要求进行分析、判断和处理,最终形成数控机床能直接识别的数控程序,就是数控加工的后置处理(Post Processing)。
Mastercam是美国CNC Software.Inc公司开发的基于微机平台的CAD/CAM软件,侧重于数控加工,其曲线、曲面设计主要针对数控加工编程,它能完成2~5轴数控铣削加工编程、线切割加工编程和车削编程加工,在模具制造业中的应用非常广泛。该系统分为主处理程序和后置处理程序两大部分。主处理程序针对加工对象、加工系统建立三维模型,用图形交互的方法计算刀具运动轨迹,生成加工刀具路径文件(称为NCI文件)。NCI文件是一个用ASCII码编写的文件,包含产生NC程序的全部资料。该系统后置处理程序内定成适应日本FANUC控制器的通用格式,如FANUC 3M、FANUC 6M、FANUC 0—MC控制器等。
MV-610加工中心配置的数控系统是德国西门子SINUMERIK 810D,Mastercam软件生成的NC代码不能直接应用,还需人工做大量的修改,既不方便又易出差错。因此,有必要对MV-610加工中心开发专用的后置处理程序,发挥软件的CAM模块最佳效果。
本文根据Mastercam7.2c的通用后置处理程序,结合MV-610加工中心和SINUMERIK 810D系统的特点,设计出专用的后置处理程序,以便Mastercam生成的NC程序能直接用于加工生产。
二、 Mastercam系统通用后置处理程序
Mastercam系统配置的是适应单一类型控制系统的通用后置处理,该后置处理提供了一种功能数据库模型,用户根据数控机床和数控系统的具体情况,可以对其数据库进行修改和编译,定制出适应某一数控机床的专用后置处理程序。
Mastercam系统后置处理文件的扩展名为PST,称为PST文件,它定义了切削加工参数、NC程序格式、辅助工艺指令,设置了接口功能参数等,其结构由八个部分组成:
1. 注解
程序每一列前有“#”符号表示该列为不影响程序执行的文字注解。如:
# mi2-Absolute, or Incremental positioning
0=absolute
1=incremental
表示mi2定义编程时数值给定方式,若mi=0为绝对值编程,mi=1为增量值编程。
在这一部分里,定义了数控系统编程的所有准备功能G代码格式和辅助功能M代码格式。
2. 程序纠错
程序中可以插入文字提示来帮助纠错,并显示在屏幕上。如:
# Error messages (错误信息)
psuberror # Arc output not allowed
"ERROR-WRONG AXIS USED IN AXIS SUBSTITUTION", e
如果展开图形卷成旋转轴时,轴替换出错,则在程序中会出现上面引号中的错误提示。
3. 定义变量的数据类型、使用格式和常量赋值
如规定G代码和M代码是不带小数点的两位整数,多轴加工中心的旋转轴的地址代码是A、B和C,圆弧长度允许误差为0.002,系统允许误差为0.00005,进给速度最大值为10m/min等。
4. 定义问题
可以根据机床加工需要,插入一个问题给后置处理程序执行。
如定义NC程序的目录,定义启动和退出后置处理程序时的C-Hook程序名。
5. 字符串列表
字符串起始字母为s,可以依照数值选取字符串,字符串可以由两个或更多的字符来组成。
字符串sg17,表示指定XY加工平面,NC程序中出现的是G17,scc1表示刀具半径左补偿,NC程序中出现的是G41,字符串sccomp代表刀具半径补偿建立或取消。
6. 自定义单节
可以让使用者将一个或多个NC码作有组织的排列。
自定义单可以是公式、变量、特殊字符串等:
pwcs # G54+ coordinate setting at toolchange
if mil >1, pwcs_g54
表示用pwcs单节指代#G54+在换刀时坐标设定值,mil定义为工件坐标系(G54~G59)
7. 预先定义的单节
使用者可按照数控程序规定的格式将一个或多个NC代码作有组织的排列,编排成一条程序段。
8. 系统问答
后置处理软件提出了五组问题,供使用者回答,可按照注解文字、赋值变量、字符串等内容,根据使用的机床、数控系统进行回答。
三、MV-610加工中心及NC编程特点
1、MV-610加工中心的特殊
MV-610加工中心为四轴联动立式加工中心(目前只装有三轴),刀库容量为20把刀,采用斗笠式自动换刀装置,刀库只需作左右移动。以刀座编码方式选刀,系统对刀库中每个刀座编码,同时也对每把刀具编码,刀具须放到与其号码相符的刀座中。换刀时,在换刀点将主轴上的刀具取下,先放到原来的刀座中,再取出数控程序指定的下一把刀,选刀动作与换刀动作是一个连续的过程。
该加工中心具有常规冷却和主轴中心出水(内冷)的功能。主轴中心功能出水在深孔加工时,能提高刀具寿命和加工精度。两种方式由不同的M指令(M7、M8)控制。
该加工中心通电后,必须先完成返回参考点,才能执行其它的动作,之后可不必每次返回参考点。但该机床是半闭环控制,工作台处在控制环之外,随着加工过程的持续进行,工作台会发生误差积累,而机床又必须返回到参考点后才能换刀。因此,有必要在每道工序完成后返回参考点。
2、MV-610加工中心数控系统NC编程特点
FANUC0-MC系统和SINUMERIK 810D系统在NC编程上有较大的差别。前者的G、M指令都只有两位数,即G00~G99,M00~M99,其中部分G、M代码未指定功能。而后者除了以上指令,还采用了G110~G112、G820~G829、G500~G599等三位数字表示的G指令;此外,缩写的英文单词,如:TRANS/ATRANS(零点平移)、ROT/AROT(坐标选择)、MIRROR/AMIRROR(镜像)、NORM/KONT(接近和退出轮廓)等也成为重要的编程指令,使得SINUMERIK 810D系统程序更加复杂。
四、MV-610加工中心专用后置处理文件的设计
设计后置处理文件,一般是按照NC程序的结构模块来进行。根据NC程序的功能,Mastercam7.2c系统的后置处理文件分成六个模块如下:
1. 文件头
文件头部分设定程序名称和编号,此外,SINUMERIK 810D系统还必须指定NC程序存放路径,并按照以下格式输出:
“%_N_(程序名及编号)_(路径)”。
NC程序可存放在主程序、子程序和工作程序目录下,扩展名分别为:MPF、SPF、WPD,一般放在工作程序目录下。因此经修改的Pst文件格式为:
Pheader # Start of file
" %_N_", progname, "_WPD" (程序名、存放目录)
2. 程序起始
在程序开始,要完成安全设定、刀具交换、工件坐标系的设定、刀具长度补偿、主轴转速控制、冷却液控制等,并可显示编程者、编程日期、时间等注解。
修改后的有刀具号Pst文件开头格式如下:
# Start of file for non-zero tool number
......
pspindle (主轴转速计算)
pcom_movbtl (移动设备)
ptoolcomment (刀具参数注解)
......
pbld, n, *sgcode, *sgplane, "G40", "G80", *sgabsinc
(快进、XY加工平面、取消刀补、取消固定循环、绝对方式编程)
if mil <=one, pg92_rtrnz, pg92_rtrn, pg92_g92 (返回参考点)
......
pbld, n, *sgcode, *sgabsinc, pwcs, pfxout, pfyout, pfcout, *speed, *spindle, pgear, pcan1
(快进至某位置、坐标系编置、主轴转速等)
pbld, n, pfzout, *tlngno, scoolant, [ if stagetool=one, *next_tool]
(安全高度、刀长补偿、开冷却液)
pcom_movea (加工过程)
3. 刀具交换
刀具交换执行前,须完成返回参考点、主轴停止动作,然后换刀,接着完成刀具长度补偿、安全设定、主轴转速控制。
Pst文件中用自定义单节ptlchg指代换刀过程,编辑修改后的程序如下:
Ptlchg # Tool change
......
ptoolcomment (新刀参数注解)
comment (插入注解)
if stagetool <> two, pbld, n, *t, e (判断、选刀)
n, "M6" (换刀)
pindex (输出地址)
pbld, n, *sgcode, *sgabsinc, pwcs, pfxout, pfyout, pfcout, *speed, *spindle, pgear, pcan1
(快进至某位置、坐标系偏置、主轴转速等)
pbld, n, pfzout, *tlngno, "M7", [if stagetool=one, *next_tool]
(安全高度、刀长补偿号、开冷却液)
pcom_movea (加工过程)
4. 加工过程
这一过程是快速移动、直线插补、圆弧插补、刀具半径补偿等基本加工动作。
对于几乎所有系统,这些加工动作的程序指令基本相同。只是注意SINUMERIK 810D系统的刀具长度补偿值由字母D后加两位数字调用,不需要G43/G44指令;而半径补偿值则由G41/G42调用,不需要再接地址代码。用G40取消刀具长度和刀具半径补偿。
5. 切削循环
Mastercam软件提供了6种内定的孔加工固定循环方式:一般钻削(Drill/Cbore)、深孔啄钻(Peck Drill)、断屑钻(Chip Break)、右攻丝(Tap)、精镗孔(Bore#1)、粗镗孔(Bore #2),通过杂项选项(Misc #1/Misc #2)可设定左攻丝、背镗孔、盲孔镗孔、盲孔铰孔等循环,并采用G73~G89代码来表示。
如对于深孔钻削固定循环,Mastercam采用的格式为:G83 X_Y_Z_R_Q_F;而SINUMERIK 810D系统用CYCLE83指代深孔钻削循环,其NC程序要求给出循环加工所有参数,输出格式为:
CYCLE83(RTP,RFP,SDIS,DP,DPR,FDEP,FDPR,DAM,DTB,DTS,FRF,VARI)
在pst文件中需按SINUMERIK 810D系统格式