Search for answers or browse our knowledge base.

Documentation | Demos | Support

目录
< 所有主题
Print

后置设置

处理

  

目前数控系统,主要以ISO
G代码作为控制指令。但也有如Roland的控制系统使用HPGL3D的控制指令。

另外国际通用的ISO
G代码指令,在不同数控系统的中,其格式也会有所差异。有的系统采用浮点数输出,如X60.323
Y10.290 Z5.00。有的系统则采用整数输出,如X60323
Y10290 Z500,每一整数位表示0.001。

将软件生成的中性加工路径,转换为特定数控机床所需要的代码格式,这种处理过程就叫做“后处理”。


菜单【加工路径 >
后置设置】

下面是一个ucancam后处理程序的例子:

////////////////////////////         

FORMAT
<X|X%1.3f |1.0>         

FORMAT
<Y|Y%1.3f |1.0>         

FORMAT
<Z|Z%1.3f |1.0>         

FORMAT
<S|S%d |1>              

FORMAT
<F|F%d |1>              

////////////////////////////   

UNITS
<MM>                     

////////////////////////////   

FILE_EXTENSION
<nc>            

//////////////////////////// 

PROG_HEAD
<G90G17G21>          

TOOLCHANGE
<M06 T[TN]>          

PROG_TAIL
<M30>                

 

简单的说,后处理文件主要分为4个部分:

1.   
全局声明

比如定义输出文件的扩展名,输出单位是毫米还是英寸,数字输出格式等。

2.   
程序头

这部分描述指令将出现在加工程序的头部,比如程序名称,主轴旋转等。

如:PROG_HEAD
<%日期为:[DATE]
时间为:[TIME]>

PROG_HEAD
<G90G17G21>

其中的[
 ],说明的单词是变量。

 

3.   
程序尾

这部分描述指令将出现在加工程序的最后,通常包括停止主轴旋转,刀具会加工原点等。如:PROG_TAIL
<M30>

    PROG_TAIL
<%>

 

4.换刀指令

     如果机床配备了自动换刀系统,或者用户想要通过输出相应指令,以更方便地使用手动换刀。就可以把换刀指令设置在这里。

如:TOOLCHANGE
<M05>

TOOLCHANGE
<M06 T[TN]>

第一行指令表示换刀前暂停,第二行表示为换刀。

TN:  表示刀具号

由以上示例的后处理文件可以看出:每一行的第一个单词是系统内定的关键词,在随后的括号<>中,
定义相应的变量或指令。即:关键词 <指令/变量>

例如:UNITS
<MM>  定义长度单位为毫米

 

在Ucancam后处理系统的关键词包括2种,一种是“指令”关键词,另外一种是“变量”关键词,在后处理文件中用英文状态下的中括号“[
]”进行引用。

以下列表是Ucancam软件后处理器用到的指令关键词:

指令关键词

含义

FORMAT

定义数据输出格式

PROG_HEAD

程序头指令

PROG_TAIL

程序尾指令

TOOLCHANGE

换刀指令

G00_DEF

定义快速定位指令

G01_DEF

定义直线切削指令

G02_DEF

定义圆弧顺时针切削指令:

G03_DEF

定义圆弧逆时针切削指令:

G04_DEF

定义暂停指令

DWELL_DEF

定义暂停语句

FIRST_
G00_MOVE_DEF

定义第一次快速移动指令

G00_MOVE_DEF

定义所有的快速移动指令

FIRST_
G01_MOVE_DEF

定义第一直线切削指令

G01_MOVE_DEF

定义所有的直线切削指令

FIRST_
G02_MOVE_DEF

定义第一段圆弧顺时针切削指令

G02_MOVE_DEF

定义所有的圆弧顺时针切削指令

FIRST_
G03_MOVE_DEF

定义第一段圆弧逆时针切削指令

G03_MOVE_DEF

定义所有的圆弧逆时针切削指令

G20_DEF

英制单位指令

G21_DEF

公制单位指令

DCMP_LFT

刀具半径左补偿

DCMP_RGH

刀具半径右补偿

DCMP_OFF

关闭刀具半径补偿

SPN_CW

主轴顺时针旋转指令

FILE_EXTENSION

文件扩展名

UNITS

长度单位

LINE_NUM_START

开始行号

LINE_NUM_INCREMENT

行号增量

LINE_NUM_MAXIMUM

行号最大值

OMIT_SAME_GCODE

省略相同G代码

OMIT_SAME_XYZ

省略相同XYZ代码

RAPID_XY_Z

快速移动XY then
Z

ARC_TO_LINES

圆弧转换直线

END_OF_LINE

每行的结束符

以下列表是Ucancam软件后处理器用到的“变量”关键词:

变量关键词

含义

DATE

日期变量

TIME

时间变量

FILENAME

文件名称变量

TOOLPATHNAME

加工路径名称变量

XSIZE

加工路径x方向大小

YSIZE

加工路径y方向大小

ZSIZE

加工路径z方向大小

XMIN

加工路径的x最小值

YMIN

加工路径的y最小值

ZMIN

加工路径的z最小值

XMAX

加工路径的x最大值

YMAX

加工路径的y最大值

ZMAX

加工路径的z最大值

WK_XSIZE 加工材料的X方向大小
WK_YSIZE 加工材料的Y方向大小
WK_XMIN 加工材料X向最小值
WK_YMIN 加工材料Y向最小值
WK_XMAX 加工材料X向最大值
WK_YMAX 加工材料Y向最大值

X

当前x坐标

Y

当前y坐标

Z

当前z坐标

I

当前圆弧圆心相对于起点的增量坐标X

J

当前圆弧圆心相对于起点的增量坐标Y

K

当前圆弧圆心相对于起点的增量坐标Z

IA

当前圆弧的圆心绝对坐标X

JA

当前圆弧的圆心绝对坐标Y

KA

当前圆弧的圆心绝对坐标Z

IE

当前圆弧圆心相对于终点的增量坐标X

JE

当前圆弧圆心相对于终点的增量坐标Y

KE

当前圆弧圆心相对于终点的增量坐标Z

LN

行号

TN

当前刀具号

TOOL_DESC

当前刀具名称

NUM_CIRCLE_TO_ARC

圆转换为圆弧的个数

FC

切割进给速度

FP

下刀速度

FR

快速移动速度

SPN_SPEED

主轴转速

SAFE_ZPOS

安全高度

1.FORMAT

定义数据输出的格式包括:

FORMAT
<N|N%d >

FORMAT
<X|X%1.3f |1.0>

FORMAT
<Y|Y%1.3f |1.0>

FORMAT
<Z|Z%1.3f |1.0>

FORMAT
<S|S%d |1>

FORMAT
<F|F%d |1>

FORMAT
<I|I%1.3f |1.0>

FORMAT
<J|J%1.3f |1.0>

FORMAT
<K|K%1.3f |1.0>

FORMAT
<R|R%1.3f |1.0>

FORMAT
<A|A%1.3f |1.0>

定义的内容在<>内,|为分隔符,以FORMAT
<X|X%1.3f |1.0>
为例:
<>括号内的内容用分隔符分为三部分。第一部分X为特定名称,表示当前定义的数据格式为点的X坐标值,UCancam后置处理可以定义的数据格式的特定名称如下: N  X 
Y  Z  S 
F  I  J 
K  R  A。

N表示行号,X、Y、Z表示坐标值,S为主轴转速、F为进给速度,R为圆弧半径,A为角度,I、J、K为圆弧坐标

第二部分X为点坐标x的实际输出名称,一般情况下仍然为X字符。
1表示数值的位数至少保留一位,3表示小数点后保留三位,f表示数值为浮点型;d表示整数型。

 

第三部分为比例系数:缺省值为1。

 

对于圆弧输出来说,
如果定义了IJK数据输出格式,则圆弧以IJK形式输出
;如果定义了R数据输出格式,则圆弧以R形式输出;缺省时,,圆弧以R形式输出。

 

2.G00_DEFG01_DEFG02_DEFG03_DEFG04_DEFG20_DEFG21_DEF

不同的数控系统,对快速移动、线性切削、圆弧切削、暂停、英制、公制指令的定义不同,软件中提供了再定义功能。如:G00_DEF
<G172>

 

3.圆弧指令

1)圆弧用折线表示

ARC_TO_LINES
<1> ,1是布尔变量表示真。

可选值;  0 或
1

缺省值:
0

 

2)圆弧用半径R表示

FORMAT <R|R%1.3f |1.0>

 

3)圆弧用I、J、K(圆弧起点到圆心的增量坐标方式)方式表示

FORMAT <I|I%1.3f
|1.0>

FORMAT <J|J%1.3f
|1.0>

FORMAT <K|K%1.3f
|1.0>

 

4)圆弧用IA、JA、KA(当前圆弧的圆心绝对坐标)方式表示

 

5)圆弧用IE、JE、KE(圆弧终点到圆心的增量坐标方式)方式表示

 

        缺省值: R
format

 

  4. FIRST_ G00_MOVE_DEF

定义第一次快速移动指令,用于区别后续的快速移动指令。

G00_MOVE_DEF 

定义所有的快速移动指令,或定义除第一次以外的快速移动指令。

     

5.FIRST_
G01_MOVE_DEF

定义第一次直线切削移动指令,用于区别后续的直线切削移动指令。

G01_MOVE_DEF

定义所有的直线切削移动指令,或定义除第一次以外的直线切削移动指令。

6.FIRST_
G02_MOVE_DEF

定义第一段圆弧顺时针移动指令,用于区别后续的圆弧顺时针移动指令。

G02_MOVE_DEF

定义所有的圆弧顺时针移动指令,或定义除第一段以外的圆弧顺时针移动指令。

 

7.FIRST_
G03_MOVE_DEF

  定义第一段圆弧逆时针移动指令,用于区别后续的圆弧顺时针移动指令。

  G03_MOVE_DEF 定义圆弧逆时针移动指令

 定义所有的圆弧逆时针移动指令,或定义除第一段以外的圆弧逆时针移动指令。

 

8.
DWELL_DEF  

  定义暂停语句,如果未定义该语句,缺省值为G04
X秒数。

  如:G04
X2.000 表示钻孔到底部的暂停时间为2秒。

9.输出行号

FORMAT
<N|N%d >                    

设定在代码中输出行号,如果未定义该语句,则表示不输出行号。

 

LINE_NUM_START
<1>

起始行号,缺省值为1

 

LINE_NUM_INCREMENT
<1>             

行号增量,缺省值为1

 

10.UNITS   

定义长度单位,长度单位有两种表示方式,分别为公制(毫米)和英制(英寸)

UNITS
<MM>    公制单位,进给速度为
mm/min

UNITS
<INCH>  英制单位,进给速度为
inches/min

缺省值:
MM

 

11.FILE_EXTENSION

路径文件扩展名,如FILE_EXTENSION
<nc>  输出G代码文件后缀(扩展名)为*.nc。

缺省值:
nc

 

12.ROTARY_AXIS

旋转轴设置,支持旋转轴机器。

可选值;  Y 或
X

如:ROTARY_AXIS
<Y>
,表示Y坐标映射为旋转角度,X轴不变。

定义了该语句,UCancam在路径输出时会弹出对话框,提示用户输入旋转轴的直径。

13.OMIT_SAME_GCODE  

OMIT_SAME_GCODE
<1>。
省略相同的G代码,即当前行代码与上一行代码的G指令相同,则省略G指令。

可选值;  0 或
1

缺省值:0,即不省略相同的G代码。

 

例如:  G01 x010.000 Y 20.000
Z0.000

       
G01 x010.000 Y 20.000 Z-5.000

 

设置语句: OMIT_SAME_GCODE
<1>

则输出为:  G01 x010.000 Y 20.000
Z0.000

                         x010.000 Y 20.000
Z-5.000

 

14.OMIT_SAME_XYZ    

OMIT_SAME_XYZ
<1> 

省略相同的XYZ代码,即当前行代码与上一行代码的X、Y、Z的值相同,则省去相同的X、Y、Z代码。

可选值;  0 或
1

缺省值:0,即不省略相同的X、Y、Z代码;

 

例如:  G01 x010.000 Y 20.000
Z0.000

         
G01 x010.000 Y 20.000 Z-5.000

 

如果设置了语句: OMIT_SAME_XYZ
<1>

输出为:G01
x010.000 Y 20.000 Z0.000

G01
Z-5.000

 

15.RAPID_XY_Z 

RAPID_XY_Z
<1> 

快速移动,先XY,然后Z。否则,XYZ联动。

可选值;  0 或
1

缺省值:1

 

如果设置了语句 :  RAPID_XY_Z <1> 

刀具从点PointA(0,0,10)
to point pointB(100,50,0)的快速移动,将分为两部分:首先从点pointA(0,0,10)
to 中间点midpoint(100,50,10),然后从midpoint(100,50,10)
to pointB(100,50,0).以避免可能的产生的刀具碰撞。

 

 

16.END_OF_LINE

代码行的尾部符号,如在plt指令中设置:END_OF_LINE <;>,在输出的代码中每行的末尾就会有“;”

缺省值:无

 

17.XSIZE、YSIZE、ZSIZE

加工路径的在X、Y、Z轴向的尺寸

18.XMIN、YMIN、ZMIN、XMAX、YMAX、ZMAX

 当前加工路径X、Y、Z方向坐标的最小值与最大值。

 

19.X、Y、Z

当前X、Y、Z坐标。

 

20.SPN_SPEED

设置主轴转速,如:TOOLCHANGE
<M06 T[TN] S[SPN_SPEED]>

 

21.FC

设置加工进给速度。

 

22.FR

设置快速移动速度。

 

23.FP

设置下刀移动速度。

 

24.SAFE_ZPOS

安全高度。

 

以下是由ucancam软件生成的后处理程序。

例1:general
CNC后置处理程序

//line
number

//FORMAT
<N|N%d >

///////////////////

FORMAT
<X|X%1.3f >

FORMAT
<Y|Y%1.3f |1.0>

FORMAT
<Z|Z%1.3f |1.0>

FORMAT
<S|S%d |1>

FORMAT
<F|F%d |1>

//////////////////////////////

UNITS
<MM>

/////////////////////////////////

FILE_EXTENSION
<nc>

/////////////////////////////////

LINE_NUM_START
<1>

LINE_NUM_INCREMENT
<1>

/////////////////////////////////

PROG_HEAD
<G90G17G21>

 

TOOLCHANGE
<M05>

TOOLCHANGE
<M06 T[TN]>

 

PROG_TAIL
<M30>

 

 

例2:HP_PLT3D后置处理程序

//precision  = 0.025,  
1/0.025=40

FORMAT
<X|%1.0f, |40.0>

FORMAT
<Y|%1.0f, |40.0>

FORMAT
<Z|%1.0f |40.0>

///////////////////////////////////

UNITS
<MM>

//convert
arc into lines

ARC_TO_LINES  <1>

RAPID_XY_Z  <0>

END_OF_LINE   <;>

///////////////////////////////////

FILE_EXTENSION
<plt>

//////////////////////////////////

 PROG_HEAD <IN;>

 PROG_HEAD <SP1>

 

G00_DEF
<PU>

G01_DEF
<PD>

 

TOOLCHANGE
<SP[TN]>

 

PROG_TAIL
<SP0>