您现在的位置: |
如何设计MasterCAM后置处理文件 |
|
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系统格式进行定义、修改和编写。 6. 程序结尾 程序结尾一般情况下是取消刀补、关冷却液、主轴停止、执行回参考点,程序停止等动作。下面是修改后的pst程序结尾: Ptoolend_t #End of tool path, toolchange ...... pbld, n, sccomp, "M5", *scoolant, e (取消刀补、主轴停止、关冷却液) pbld, n, *sg74, "Z1=0. X1=0. Y1=0.", e (返回参考点) if mi2=one, pbld, n, *sg74, "X1=0.", "Y1=0.", protretinc, e else, protretabs (程序结束) |