-
Mastercam
软件的后置处理文件及其设定方法
< br>
一、前言
M
astercam
是一套应广泛的CAD/CAM/CAE软件包,它采用图形义互
式自动编程方法实现NC程序的编制。
义互式编程是一种人机对话的编程
方法,
编程人员根据屏幕提示的内容,
反复与计算机对话,选择
菜单目录或计算机的提问,将所有的问题回答完毕后即可以生生成NC程序。NC程
序的
自动产生是受软件的后置处理功能控制的,不同的加工模块(如车削、铣削、线切割等)和不同的数控系
统对应于不同的后处理文件。软件当前使用哪一个后处理文件,是在软件安装时设定的,而在具体
应用软件进
行编程之前,一般还需要对当前的后处理文件进行必要的修改和设定,以使其
符合系统要求和使用者的编程习
惯。有些用户在使用软件
p>
时由于不了解情况,没有对后处理文件进行修改,导致生成的NC程序中某些固定的
地方经常出现一些多余的内容,或者总是漏掉某些词句,这样,在将程序传入数控机床之前,就必
须对程序进
行手工修改,如果没有全部更正,则可能造成事故。例如,某机床的控制系统
采用G54工件坐标系定位,G
90绝对坐标编程,要求生成的NC程序前面必须有G5
4G90设置,如果后处理文件的设置为G55G9
1,则每次生成的程序中含有G55
G91,却不一定有G54G90,如果在加工时没有进行手工改正,则
势必造成加工错
误。
二、M
astercam
软件的后置处理文件
后置处理文件简称后处理文件,是一种可以由用户以回答问题
的形式自行修改的文件,其扩展名为.PS
T。在应用M
ast
ercam
软件的自动编程功能之前,必须先对这个文件进行编辑,才能在执行后处理程
序时产生
符合某种控制器需要和使用者习惯的NC程序,也就是说后处理程序可以将一种
控制器的NC程序定义成该控
制器所使用的格式。以FANUC系列的后处理为例,它既
可以定义成惯用于FANUC
3M控器所使用的
格式,也可以定义成FANUC
6M控制器所使用的格式,但不能用来定义其它系列的控制器。
不同系列的后处理文件在内容上略有不同,但其格式及主体部分是相似的,一般都包括以
下几个部分。
< br>1.A
nnotation
(注释)
对后处理文件及其设定方法作一般性介绍。
2.问题
该部分为后处理文件的主要部分,FANUC系列的后处理文
件中共包括200个问题,对
这些问题的回答将决定将来输出的NC程序的格式。
3.
Commands
(指令)
< br>指令的作用是对它后面的变量施加影响。如
oldvars
和
newvars
指令,在回答问
题
3时若写于刀具号码变量
t
之前,则使用
oldvars
时将呼叫前一把刀具的号码,使用
newva
rs
时将呼叫现在
所使用的刀具号码。
4.
Va
riables
(变量)
给出了"问
题"中所使用的各种变量的定义.FANUC系列的后处理文件中共
定义了26个变量,
如
prog-n=
程序号码,
f=
p>
进给率,
s=
主轴转速,
< br>t=
刀具号码等。
三、后处理文件的设定方法
1.后处理文件编辑的一般规则
对后处理文件的编辑和设定只需要
对第(4)部分的
问题
进行回答。PST文件的每个问题前都有一个
号码并在号码后加一个小数点。若
问题前没有号码,那么这个问题在执行后处理时是被忽略不用的。回答号码
20以前的问
题时,需要在问题的下一行键入所回答的文字,而且回答的内容可以包括多行,20号以后问题
< br>均带有问号且回答时直接写在问号的后面,不得换行,这一类的问题常常是以
p>
来回答。回答问题时用到
变量,不能用引号,而字符串则必须包围在
引号之中(如
G91
G28
GZ0M05
),引号中的文字
将按字符串的原样写入程序中。变量
和字符之间要用逗号隔开。
2.变量的使用
变量的定义在后处理文件的开头部分已经作了说明,使用时可
通过查阅来了解变量的意义。变量在回答问
题时一经使用,就会在生产的NC程序中表达
确定的意义。如变量
spindle-on,
转速为正或0时定
义为M03,
为负时定义为M04,如果回答问题时使用了该变量,则会在NC程序的相
应部分写出M03或M04。变量
prog-n
若写到问题1或
2中,将对在NC程序规划时给定的程序中起作用。变量F
irst-tool
用来呼叫程序中
所使用中的第一把刀的号码,此变量通常用于程序结束时
将使用中的刀具改变为第一把刀的号码,以便在下一
次执行程序时使用。
next-tool
用于无T字首的刀具号码,使用这个变量可在刀具被呼叫前
,选择另一把刀来
进行换刀。变量
xr
、
yr
、
zr
是用来定义程序中快速定位的X、Y、Z坐标位置,通常用于换刀和程序结束时
使刀具
返回机械原点。
prev-x
、
pre
v-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
< br>文件格式及产生的NC程序对照台下。
.PST
文件格式
NC
程序
prog_mane
test1
prog_n 1234
N
,
N,<
/p>
N
,
N
,
S
,
spindle_on N106 s1500 M03
(3)问题6是用
来设定当铣削状态改变面刀具号码并不改变时,其使用的变量与问题2、4、5中所使用的
变量相同。
(4)问题7、8、9控制NC参数屏幕中T
ext1
、2、3所设定的文字。
p>
(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
<
/p>
。当后处理系统执行时,
电脑首先必须做一个刀具表,否则电脑无
法了解在换刀要用到次一把刀时,什么刀具要来到一把刀的位置。
(13)问题190~196是用
于设定刀具路径显示时的内定值。
(14)问题201~510中的杂项变量是在线切割后处理系统中使用的。
四、结束语
后置处理文件的编辑和设定,
对CA
D/CAM软件来说都是需要的。
但是一般的使用者经常忽略这一点,
< br>面是在每次生成NC程序后去对程序进行修改,不仅浪费时间,而且容易出错导致事故。本文对
< p>Mastercam
软
伯的后处理文件进行了分析
和讨论,介绍了其编辑和设定的方法。
------------------------------------------------ -------
# POST
名称
: wgkG54
#
类型
: MILL
#
机床名称
: GENERIC FANUC
#
控制器名称
: GENERIC
FANUC
#
描述
: GENERIC FANUC 3 AXIS MILL POST
#
Associated Post : NONE
#
车
/
铣复合
: NO
# 4-axis/Axis subs. : NO
#
五轴
: NO
#
子程序支持
: NO
#
自动换刀
: NO
#
工作坐标系
: G54
# Executable : MP 8.00
#
#
#
#
这个
POST
支持
FANUC
控制器普通三轴铣床的的
< br>G
代码输出,
#
不支持自动换刀
,
有最大圆弧报警
#
它来源于
#
是针对
Mastercam
Mill V8
的特征而设计的
#
#
#
欢迎各位试用此后处理程序<
/p>
,
提供意见反馈
,
#
地址
:
福建漳州新华北路
56
号
力佳股份有限公司
吴桂凯
#
电话
: (19:00-23:30)
# E-MAIL: wwggkk@
#
wwggkk@
# -----
--------------------------------------------------
-------------------
#
修改日志
:
# ---------
--------------------------------------------------
---------------
# Programmers Note:
# CNC 05/01/00 - Initial post setup,
jce
# 2002-10-11 -
去掉自动换刀,吴桂凯
#
2002-10-12 -
增加中文注释,吴桂凯
# 2002-10-21 -
增加最大圆弧警告,吴桂凯
#
2002-11-05 -
修改坐标系为
G54
,吴桂凯
# --------------
--------------------------------------------------
----------
#
特征
:
# -------------------------------------
-------------------------------------
#
#
#
下列
Misc.(
杂项
)
必须使用整数
:
#
# mi2 -
绝对或增量坐标
at top level
# 0 =
绝对
# 1 =
增量
#
#
mi3 -
选择
G28
或
G30
来执行参考点回归
.
# 0 = G28, 1 = G30
#
# Canned text:
#
在轮廓点里插入
以允许
/
禁止
下列
Maste
rcam
里许可的功能,
#
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
单节关闭
单节删除码
()
#
#
#
钻孔
:
#
在这个
POST
里支持所有的钻孔方法
.
#
#
附加注意事项
:
# 1) G54 calls are generated where the
work offset entry of 0 = G54,
# 1 =
G55, etc.
# 2)
由
N
CI
变量
决定是否使用米制
#
# 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 (
杂项整数
)
以定义
# <
/p>
绝对
/
增量程序输出
.
#
# --------------------
--------------------------------------------------
----
# 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
us
ecan.. : 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 #
整数
,
强制三位前缀
fs2 7 4
0 4 0l #
整数
,
强制四位前缀
fs2 9
0.1 0.1 #
小数
, absolute, 1
place
fs2 10 0.2 0.2
#
小数
, absolute, 2 place
fs2 11 0.3 0.3
#
小数
, absolute, 3 place
fs2 12 0.4 0.4
#
小数
, absolute, 4 place
fs2 13 0.5 0.5
#
小数
, absolute, 5 place
fs2 14 0.3 0.3d
#
小数
, delta, 3 place
fs2 15 0.2 0.1
#
小数
, absolute, 2/1 place
fs2 16 1 0 1 0n
#
整数
,
强制输出
#
输出加工类型字符串定义
# ---
--------------------------------------------------
---------------------
#
字符串
-
字符串标签必须由
's'
开头
p>
,
它们没有预先指派
# -------------------------------------
-------------------------------------
#Select operation note
sop00
sop01
sop02
sop03
sop04
sop05
sop06
sop07
sop08
sop09
sop10
sop11
sop12
sop13
sop14
sop15
sop16
sop17
sop18
sop19
sop20
sopnote #
Target string
fstrsel
sop00 opcode sopnote
# --
--------------------------------------------------
----------------------
# NC
输出的字符串和字符串选择定义
#
--------------------------------------------------
------------------------
#Address string definitions
位址串定义
strm
strn
stro
strp
srad
srminus
sblank
#Cantext
字符串定义
(spaces must be padded
here)
sm00
sm01
strtextno
strcantext
# -------------------------
-------------------------------------
--
----------
#
错误信息
# ----------
--------------------------------------------------
--------------
saxiswarn
# -------------------------
-------------------------------------------------
#
一般的
G
和
M
代码串选择表
General G and M Code
String select tables
# ----------------
--------------------------------------------------
--------
#
运动
G
代码选择
sg00 G00
#
快速定位
sg01 G01
#
直线进给
sg02 G02
#
圆弧插补
CW
sg03
G03 #
圆弧插补
CCW
sg04 G04
#
暂停
sgcode
#Target for string
fstrsel
sg00 gcode sgcode
# ---------------
--------------------------------------------------
---------
#
选择工作平面
G
字串
sg17 G17
#XY
平面代码
sg19
G19 #YZ
平面代码
sg18 G18 #XZ
平面代码
sgplane
#Target string
fstrsel sg17
plane sgplane
# -----------------
--------------------------------------------------
-------
#
选择
英制
/
米制
字串
sg20 G20
#
英制代码
sg21 G21
#
米制代码
smetric
#Target string
fstrsel
sg20 met_tool smetric
# -----------
--------------------------------------------------
-------------
#
选择参考点回归字串
sg28 G28
#
第一参考点回归
sg30
G30 #
第二参考点回归
sg28ref #Target string
fstrsel sg28 mi3 sg28ref
# -------------------------------------
-------------------------------------
#
切削补偿
G
字串选择
scc0 G40
#
切削补偿取消
scc1
G41 #
切削左补偿
scc2 G42
#
切削右补偿
sccomp
#Target for string
fstrsel
scc0 cc_pos sccomp
# ------------------
--------------------------------------------------
------
#
钻孔固定循环字符串选择
sg81
G81 #
钻孔
-
无暂停
sg81d G82
#
钻孔
-
有暂停
sg83 G83
#
啄式钻孔
-
无暂停
sg83d G83
#
啄式钻孔
-
有暂停
sg73 G73
#
断屑
-
无暂停
sg73d G73
#
断屑
-
有暂停
sg84 G84
#
攻螺纹
-
右手
sg84d G74
#
攻螺纹
-
左手
sg85 G85
#
镗孔
#1 -
无暂停
sg85d G89
#
镗孔
#1 -
有暂停
sg86 G86
#
镗孔
#2 -
无暂停
sg86d G86
#
镗孔
#2 -
有暂停
sgm1 G76
#misc #1 -
无暂停
sgm1d G76 #misc #1 -
有暂停
sgm2 G81
#misc #2 -
无暂停
sgm2d G82 #misc #2 -
有暂停
sgdrill
#Target for string
fstrsel sg81 drlgsel sgdrill
# -------------------------------------
-------------------------------------
#
选择增量或绝对
G
字符串
sg90 G90
#
绝对代码
sg91
G91 #
增量代码
sgabsinc #Target string
fstrsel sg90 absinc
sgabsinc
# ------------------------
--------------------------------------------------
#
钻孔固定循环参考高度
sg98 G98
#Z
轴回到起始高度
sg99
G99 #Z
轴回到参考高度
sgdrlref #Target for string
fstrsel
sg98 drillref sgdrlref # Drill cycle G
string select
# -----------------------
--------------------------------------------------
-
# Generate string for spindle
sm04 M04
#
主轴反转
sm05 M05
#
主轴停止
sm03
M03 #
主轴正转
spindle #Target for string
fstrsel sm04 spdir2 spindle
# -------------------------------------
-------------------------------------
#
冷却
M
字符串选择
sm09 M09
#
冷却液
Off
sm08
M08 #
冷却液
喷射
sm08_1 M08
#
冷却液
喷雾
sm08_2 M08
#Coolant Tool
scoolant #Target
for string
fstrsel sm09
coolant scoolant
# -----------------
--------------------------------------------------
-------
#
定义齿轮选择代码
flktbl
1 3 #Lookup table definition - table
no. - no. entries
40 0
#
底速齿轮档
41
400 #
中速齿轮档
42 2250 #
高速齿轮档
# -------------------------
-------------------------------------------------
#
刀具交换
/
NC
输出变量格式
# ------
--------------------------------------------------
------------------
fmt T 4 t
#
刀具号
fmt T 4
first_tool #
第一把使用的刀具
fmt T 4 next_tool
#
下一把使用的刀具
fmt D
4 tloffno #
直径偏移号
fmt H 4 tlngno
#
长度偏移号
fmt G 4
g_wcs #WCS G address
fmt P 4
p_wcs #WCS P address
fmt S 4
speed #
主轴转速
fmt M 4 gear #Gear range
# -------------------------------------
-------------------------------------
fmt N 4 n
#
序号
fmt X 2
xabs #X
坐标输出
fmt Y 2 yabs #Y
坐标输出
fmt Z 2
zabs #Z
坐标输出
fmt X 3 xinc #X
坐标输出
fmt Y 3
yinc #Y
坐标输出
fmt Z 3 zinc #Z
坐标输出
fmt I 3
i #x
轴方向上的圆弧中心描述
fmt J 3 j #y
轴方向上的圆弧中心描述
fmt
K 3 k #z
轴方向上的圆弧中心描述
fmt
R 2 arcrad #
圆弧半径
fmt F 15 feed
#
进给率
fmt P 11
dwell #
暂停
fmt M 5 cantext #Canned text
# -------------------------------------
-------------------------------------
#Move comment (pound) to output colon
with program numbers
fmt O 7 progno
#Program number
#fmt
# -----
--------------------------------------------------
-------------------
fmt Q 2 peck1
#First peck increment (positive)
fmt Q
2 shftdrl #Fine bore tool shift
fmt R 2 refht_a #Reference
height
fmt R 2 refht_i
#Reference height
# -------------------
--------------------------------------------------
-----
fmt
注释格式
fmt
注释格式
fmt
注释格式
fmt
注释格式
# -------------------------
-------------------------------------------------
# Tool Comment / Manual Entry Section
刀具注释
/
手工输入部分
# -------------------------------
-------------------------------------------
ptoolcomment #Comment for tool
tnote = t
toffnote = tloffno
tlngnote =
tlngno
pstrtool
#Comment for tool
if strtool <>
sblank,
[
strtool = ucase(strtool)
*strtool,
]
pcomment #Comment from manual
entry (must call pcomment2 if booleans)
pcomment2
pcomment2 #Comment from manual
entry
scomm = ucase (scomm)
if gcode = 1007,
else,
# -------------------
--------------------------------------------------
-----
#
文件起始和刀具交换设置
# ---
--------------------------------------------------
---------------------
psof0
#Start of file for tool zero
psof
psof
#Start of file for non-zero tool number
toolchng = one
if ntools = one,
[
#skip single tool outputs, stagetool must be on
stagetool = m_one
!next_tool
]
*progno, e
ptoolcomment
pbld, n, *sgcode, *sgplane,
sav_absinc = absinc
pcom_moveb
absinc = zero
pcan1, pbld, n, *sgcode,
*sgabsinc, pwcs, pfxout, pfyout, *zr,
*speed, *spindle, pgear, strcantext, e
pe_inc_calc
ps_inc_calc
absinc = sav_absinc
pbld, n, sgabsinc, e
pretract
#
刀具路径末尾,换刀
sav_absinc = absinc
absinc = one
sav_coolant = coolant
coolant =
zero
#cc_pos is reset in the
toolchange here
cc_pos = zero
gcode = zero
pbld, n, sccomp, *sm05, e
-
-
-
-
-
-
-
-
-
上一篇:(完整版)学术英语综合课后答案季佩英.doc
下一篇:专业术语目录