Mastercam 的后置处理文件 设定方法

更新时间:2023-10-23 10:13:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Mastercam软件的后置处理文件及其设定方法

Mastercam软件的后置处理文件,简称后处理文件,是一种可以由用户以回答问题的形式自行修改的文件,其扩展名为.PST。在应用Mastercam软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程序时产生符合某种控制器需要和使用者习惯的NC程序,也就是说后处理程序可以将一种控制器的NC程序定义成该控制器所使用的格式。以FANUC系列的后处理为例,它既可以定义成惯用于FANUC 0M控制器所使用的格式,也可以定义成FANUC 6M控制器所使用的格式,但不能用来定义其它系列的控制器(例如西门子系统)。不同系列的后处理文件在内容上略有不同,但其格式及主体部分是相似的,一般都包括以下几个部分。

1.Annotation(注释) 对后处理文件及其设定方法作一般性介绍。

2.问题 该部分为后处理文件的主要部分,FANUC系列的后处理文件中共包括200个问题,对这些问题的回答将决定将来输出的NC程序的格式。

3.Commands(指令) 指令的作用是对它后面的变量施加影响。如oldvars和newvars指令,在回答问题3时若写于刀具号码变量t之前,则使用oldvars时将调用前一把刀具的号码,使用newvars时将调用现在所使用的刀具号码。

4.Variables(变量) 给出了"问题"中所使用的各种变量的定义.FANUC系列的后处理文件中共定义了26个变量,如prog-n=程序号码,f=进给率,s=主轴转速,t=刀具号码等。

后处理文件的设定方法

1.后处理文件编辑的一般规则

对后处理文件的编辑和设定只需要对第(4)部分的\问题\进行回答。PST文件的每个问题前都有一个号码并在号码后加一个小数点。如果问题前没有号码,那么这个问题在执行后处理时是被忽略不用的。回答号码20以前的问题时,需要在问题的下一行输入所回答的文字,而且回答的内容可以包括多行,20号以后问题均带有问号且回答时直接写在问号的后面,不得换行,这一类的问题常常是以\来回答。回答问题时用到变量,不能用引号,而字符串则必须包围在引号之中(如\),引号中的文字将按字符串的原样写入程序中。变量和字符之间要用逗号隔开。

2.变量的使用

变量的定义在后处理文件的开头部分已经作了说明,使用时可通过查阅来了解变量的意义。变量在回答问题时一经使用,就会在生产的NC程序中表达确定的意义。如变量spindle-on,转速为正转或0时定义为M03,为负时定义为M04,如果回答问题时使用了该变量,则会在NC程序的相应部分写出M03或M04。变量prog-n若写到问题1或2中,将对在NC程序规划时给定的程序中起作用。变量First-tool用来呼叫程序中所使用中的第一把刀的号码,此变量通常用于程序结束时将使用中的刀具改变为第一把刀的号码,以便在下一次执行程序时使用。next-tool用于无T字首的刀具号码,使用这个变量可在刀具被呼叫前,选择另一把刀来进行换刀。变量xr、 yr、zr是用来定义程序中快速定位的X、Y、Z坐标位置,通常用于换刀和程序结束时使刀具返回机械原点。prev-x、prev-y、prev-z则是用来定义刀具所在的前一个X、Y、Z坐标的位置。其它变量的定义可参看文件开头的说明。

3.后处理文件的设置方法

后处理文件中的大部分问题一般不需要作修改,使用时,通常只需要对其中固定的某几个问题进行编辑。下面以FANUC系列的.PST文件为例,来说明设定的方法。

(1)问题0的回答要用字符串,对于FANUC控制系统设置为\%\。

(2)以问题2的回答以例说明2、4、5问题的回答方法。假设在设定NC参数时所给的程序名为test1,程序号为1234,顺序号开始号码为100且增量值为2,刀具号为01,主轴转速为1500/mim,则.PST文件格式及产生的NC程序对照台下。 .PST文件格式 NC程序 prog_mane test1

prog_n 1234

N,\ N,\N,\

N,S,spindle_on N106 s1500 M03

(3)问题6是用来设定当铣削状态改变面刀具号码并不改变时,其使用的变量与问题2、4、5中所使用的变量相同。

(4)问题7、8、9控制NC参数屏幕中Text1、2、3所设定的文字。 (5)问题36要求规定进给速度值小数点后允许的位数,若写-1时则为整数。 (6)问题37设定的比例因素可使写到NC程序中的进给速度,按此因素变化。 (7)问题38中要求设置快速进给速率的大小。

(8)问题42是若设定为e(表示圆弧插补指令中用R程序)时,问题53必须回答\Y\,则系统在后处理时自动将大于180度的圆弧打断为两段。

(9)问题50~55是使用权控制器中的cannedcycles指令(G81~G89)被使用于NC程序中。 (10)问题70是用来设定几何图形中线与线或线与圆弧之间的精确度,使其值保证连接外形时能自动连接。

(11)问题81~89是用于NC程序与数控机床传输与接受时的对数设定。

(12)当使用者在换刀中使用next_tool变量时,问题120应回答为\Y\。当后处理系统执行时,电脑首先必须做一个刀具表,否则电脑无法知道在换刀要用到下一把刀时,什么刀具要来到下一把刀的位置。 (13)问题190~196是用于设定刀具路径显示时的内定值。

(14)问题201~510中的杂项变量是在线切割后处理系统中使用的。

四、结束语

后置处理文件的编辑和设定,对CAD/CAM软件来说都是需要的。但是一般的使用者经常忽略这一点,而是在每次生成NC程序后去对程序进行修改,不仅浪费时间,而且容易出错导致事故。

下面提供一个修改完成的后处理文件,该文件可直接应用于乔福VMC850加工中心(FANUC 0i系统),如果是其他的FANUC系统,请对照后,自行修改。

------------------------------------------------------- # Post Name : MPFAN # Product : MILL

# Machine Name : GENERIC FANUC # Control Name : GENERIC FANUC

# Description : GENERIC FANUC MILL POST # Associated Post : NONE # Mill/Turn : NO # 4-axis/Axis subs. : YES # 5-axis : NO # Executable : MP 7.20 #

# -------------------------------------------------------------------------- # 特征:

# -------------------------------------------------------------------------- #

# 下列 Misc.(杂项) 必须使用整数: #

# mi2 - 绝对或增量坐标 at top level

# 0 = 绝对 # 1 = 增量 #

# mi3 - 选择G28或G30来执行参考点回归. # 0 = G28, 1 = G30 #

# Canned text:

# 在轮廓点里插入\以允许/禁止 下列Mastercam里许可的功能, # Entering cantext on a contour point from within Mastercam allows the # following functions to enable/disable.

# Cantext 值:

# 1 = Stop = 输出 \停止码 # 2 = Ostop = 输出 \选择停止码 # 3 = Bld on = 在 NC 单节打开 单节删除码(\\) # 4 = bLd off = 在 NC 单节关闭 单节删除码(\\) #

# 附加注意事项:

# 1) G54 calls are generated where the work offset entry of 0 = G54, # 1 = G55, etc.

# 2) 由NCI变量\决定是否使用米制 #

# 3) 以增量方式从换刀起始位置计算运动量.

# 起始位置通常定义为所有换刀时刀具所处的最后位置

# Incremental mode calculates motion from home position at toolchanges. # The home position is used to define the last position of the tool # for all toolchanges.

# 4) 变量 'absinc' 现已被预先定义, 设定 mi2 (杂项整数)以定义 # 绝对/增量程序输出. #

# -------------------------------------------------------------------------- # Debugging and Factory Set Program Switches 调试和加工设置程序切换 # -------------------------------------------------------------------------- m_one : -1 #定义常数 zero : 0 #定义常数 one : 1 #定义常数 two : 2 #定义常数 three : 3 #定义常数 four : 4 #定义常数 five : 5 #定义常数 c9k : 9999 #定义常数

fastmode : 1 #Posting 速度最佳化

bug1 : 2 #0=不显示, 1=普通列表框, 2=编辑器

bug2 : -30 #Append postline labels, non-zero is column position? bug3 : 0 #Append whatline no. to each NC line?

bug4 : 1 #Append NCI line no. to each NC line?

whatno : yes #不执行 whatline branches(分枝)? (leave as yes)

get_1004 : 1 #Find gcode 1004 with getnextop?

rpd_typ_v7 : 0 #Use Version 7 style contour flags/processing? strtool_v7 : 2 #Use Version 7+ toolname?

tlchng_aft : 2 #Delay call to toolchange until move line cant_tlchng : 1 #忽视 cantext 入口 on move with tlchng_aft newglobal : 1 #全局变量错误检测 getnextop : 0 #建立下一个变量表

# -------------------------------------------------------------------------- # 一般输出设置

# -------------------------------------------------------------------------- sub_level : 1 #允许自动子程序支持 breakarcs : no #在各象限分割圆弧

arcoutput : 0 #0= IJK,1= R不带符号,2= R (超过180度时带负号) arctype : 2 #圆弧中心 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc. arccheck : 1 #检测小圆弧,转化为直线 atol : .01 #arccheck=2时的角度公差 ltol : .002 #arccheck=1时的长度公差 vtol : .0001 #系统公差

maxfeedpm : 500 #进给速度极限 (英寸/分钟) ltol_m : .05 #arccheck=1时的长度公差,米制 vtol_m : .0025 #系统公差,米制

maxfeedpm_m : 10000 #进给速度极限 毫米/分钟 force_wcs : yes #每次换刀时强制输出WCS spaces : 1 #各指令之间插入的空格数 omitseq : no #省略序号 seqmax : 9999 #最大序号

stagetool : 0 #0 = 无预先备刀, 1 = 预备刀具 use_gear : 0 #输出齿轮交换代码,0=no,1=yes max_speed : 6000 #最大主轴转速 min_speed : 1 #最小主轴转速

nobrk : no #Omit breakup of x, y & z rapid moves progname : 1 #使用大写字母表示程序名 max_arc : 50000 #机床允许的最大圆弧半径

# -------------------------------------------------------------------------- # 旋转轴设定

# -------------------------------------------------------------------------- vmc : 1 # 0 = 卧式 , 1 = 立式

# -------------------------------------------------------------------------- # 允许钻孔固定循环功能

# --------------------------------------------------------------------------

usecandrill : yes #使用普通钻孔固定循环 usecanpeck : yes #使用啄钻式钻孔固定循环 usecanchip : yes #使用断屑钻孔固定循环 usecantap : yes #使用攻螺纹固定循环 usecanbore1 : yes #使用镗孔固定循环1 usecanbore2 : yes #使用镗孔固定循环2 usecanmisc1 : yes #使用杂项固定循环1 usecanmisc2 : yes #使用杂项固定循环2

# -------------------------------------------------------------------------- # 通用自定义变量初始化(不能改变!)

# -------------------------------------------------------------------------- xia : 0 #Formated absolute value for X incremental calculations yia : 0 #Formated absolute value for Y incremental calculations zia : 0 #Formated absolute value for Z incremental calculations

bld : 0 #单节删除激活

result : 0 #Return value for functions sav_spc : 0 #Save spaces sav_gcode : 0 #Gcode saved

sav_absinc : 0 #Absolute/Incremental Saved Value sav_coolant : 0 #Coolant saved toolchng : 1 #On a toolchange flag

spdir2 : 1 #Copy for safe spindle direction calculation

#Drill variables

drlgsel : -1 #Drill Select Initialize drillref : 0 #Select drill reference

peckacel : 0 #Fractional percent to reduce peck2 when usecan.. : no drlgcode : 0 #Save Gcode in drill sav_dgcode : 0 #Drill gcode saved

# -------------------------------------------------------------------------- # 格式列表 - n=nonmodal, l=leading, t=trailing, i=inc, d=delta #

# --------------------------------------------------------------------------

#定义 英制/米制 坐标格式列表

fs2 1 0.7 0.6 #小数, absolute, 7 place, default for initialize (:) fs2 2 0.4 l1.3 #小数, absolute, 4/3 place (x,y,z) fs2 3 0.4 l1.3d #小数, delta, 4/3 place (i,j,k)

#Common format statements

fs2 4 1 0 1 0 #整数, 无前缀 fs2 5 2 0 2 0l #整数, 强制两位前缀 fs2 6 3 0 3 0l #整数, 强制三位前缀

pcant_out

pcant_6 #Canned text - output call cantext = cant_val6 pcant_out

pcant_7 #Canned text - output call cantext = cant_val7 pcant_out

pcant_8 #Canned text - output call cantext = cant_val8 pcant_out

pcant_9 #Canned text - output call cantext = cant_val9 pcant_out

pcant_10 #Canned text - output call cantext = cant_val10 pcant_out

pcant_out #Canned text - build the string for output #Assign string select type outputs if cantext = three, bld = one if cantext = four, bld = zero #Build the cantext string

if cantext = one, strcantext = strcantext + sm00 if cantext = two, strcantext = strcantext + sm01 if cantext > four, [

strtextno = no2str(cantext)

strcantext = strcantext + strm + strtextno ]

# -------------------------------------------------------------------------- # 坐标计算,通常不需要修改

# -------------------------------------------------------------------------- pxyzcout #Map coordinates xabs = vequ (x) feed = fr_pos

if feed > maxfeedpm, feed = maxfeedpm

#Incremental calculations

ps_inc_calc #Incremental calculations, start xia = fmtrnd(xabs)

yia = fmtrnd(yabs) zia = fmtrnd(zabs)

xinc = vsub (xia, prv_xia)

pe_inc_calc #Incremental calculations, end !xia, !yia, !zia !x, !y, !z

# -------------------------------------------------------------------------- # Numbered questions for Mastercam Version 8

# -------------------------------------------------------------------------- 38. 快速进给率? 300.0 #76. 配置文件名?

80. 接收和发送的通信端口号 (1 or 2) ? 2

81. 传输速率 (110,150,300,600,1200,2400,4800,9600,14400,19200,38400)? 9600 82. 奇偶校验 (E/O/N)? E 83. 数据位 (7 or 8)? 7 84. 停止位 (1 or 2)? 2 85. Strip line feeds? N 86. 每行末延迟(秒)? 0

87. Ascii, Eia, or Binary (A/E/B)? A

88. Echo keyboard to screen in terminal emulation? n 89. Strip carriage returns? N 90. NC和材料文件所处的磁盘和目录? 91. 执行的后置处理器名? MP 92. 反向处理器名(nic->nc)? RP 93. 反向处理 PST 文件名? RPFAN 100. 序号之小数点前的位数? 3 101. 序号之小数点后的位数? 0 103. 最大的主轴转数? 6000 107. 换刀平均时间(seconds)? 2.0 #110. 默认的刀具库? TOOLS.TL8 158. 挖槽精加工时使用磨损补偿? n

159. Compensate the first and last point in cutter comp. in control simulation? y

160. Display first and last entity in toolpath when simulating cutter compensation in control? y 161. 打开机械原点按钮? y 162. 打开参考点按钮? y 163. 打开杂项变数按钮? y 164. 打开旋转轴按钮? n 165. 打开刀具平面按钮? y 166. 打开构图平面按钮? y 167. 打开刀具显示按钮? y

168. Check tplane during automatic work origin creation? y #在自动工作原点建立时检查刀具平面

# --------------------------------------------------------------------------

# 定义杂项实数值

# -------------------------------------------------------------------------- 201. Default miscellaneous real variable 1 (mr1)? 0.0 202. Default miscellaneous real variable 2 (mr2)? 0.0 203. Default miscellaneous real variable 3 (mr3)? 0.0 204. Default miscellaneous real variable 4 (mr4)? 0.0 205. Default miscellaneous real variable 5 (mr5)? 0.0 206. Default miscellaneous real variable 6 (mr6)? 0.0 207. Default miscellaneous real variable 7 (mr7)? 0.0 208. Default miscellaneous real variable 8 (mr8)? 0.0 209. Default miscellaneous real variable 9 (mr9)? 0.0 210. Default miscellaneous real variable 10 (mr10)? 0.0

# -------------------------------------------------------------------------- # 定义杂项整数值

# -------------------------------------------------------------------------- 301. 工作坐标系 [0-1=G92, 2=G54's] (mi1)? 2 302. 绝对或增量 [0=ABS, 1=INC] (mi2)? 0 303. 参考点回归 [0=G28, 1=G30] (mi3)? 0 304. 杂项整数变量 4 (mi4)? 0 305. 杂项整数变量 5 (mi5)? 0 306. 杂项整数变量 6 (mi6)? 0 307. 杂项整数变量 7 (mi7)? 0 308. 杂项整数变量 8 (mi8)? 0 309. 杂项整数变量 9 (mi9)? 0 310. 杂项整数变量 10 (mi10)? 0

# -------------------------------------------------------------------------- # 配置文件关联参数 (缺省为 \

# -------------------------------------------------------------------------- #400. 关联的配置文件名? 401. 读取系统颜色部分? y 402. 读取配置部分地区? y 403. 读取公差部分? y 404. 读取资料路径部分? y 405. 读取通信部分? y 406. 读取绘图设置部分? y 407. 读取杂项部分? y 408. 读取 NC-设置部分? y

409. 读取 DIALOG SCRIPTS 部分? y 410. 读取DESIGN设置部分? y 411. 读取打印设置部分? y 412. 读取 ALT-KEY 分配部分? y 413. 读取CAD部分? y 414. 读取 载入/离开 部分? y 415. 读取 荧屏 部分? y

416. 读取文件名部分? y

1500. Chook to execute from 'Misc. values' button? y 1501. 插入参数信息到 ascii NCI? n 1502. 写入操作信息到二进制文件 (.ops)? n

本文来源:https://www.bwwdw.com/article/8kuf.html

Top