03-准备功能
3.1 插补指令
可以进行直线、圆弧、多项式、样条等功能的插补运行。建议在启动主轴情况下使用这些插补指令。
3.1.1快速定位(G00)
功能:
快速定位是点到点的快速定位。
指令格式:
G00 X... Y... Z... ;快速定位到X/Y/Z点
说明:
♣ G00:快速定位指令。
♣ X, Y, Z:以直角坐标系给定的终点。
♣ G00为模态有效指令,同G01,G02等为同组G指令,可以用同组其它G指令取消G00模式。
♣ 使用G00编程的刀具运行将以最快速度执行。快速移动速度由系统内部参数确定,是一个合成速度。
♣ 快速定位时,以直线插补形式定位到终点位置。
举例:
N10 M03 S300
N20 G00 X160 Y130 Z2 ;定位至起始位置
N30 G01 Z-5 F100 ;进刀
N40 X60 Y40 ;直线运行
N50 G00 Z2
N60 G00 X40 Y200 Z100 ;退刀
N70 M30
3.1.2直线插补(G01)
功能:
使用G01可以使刀具沿直线运行。
指令格式:
G01 X... Y... Z... F... ;线性插补到X/Y/Z点
说明:
♣ G01:线性插补
♣ X/Y/Z:以直角坐标系给定的终点
♣ G01为模态有效指令,同G00,G02等为同组G指令,可以用同组其它G指令取消G01模式。
♣ F为进给率。示例:G01 G94 X100 Y20 Z30 F100 ;以100mm/min的进给率逼近X,Y,Z上的目标点。
N10 M03 S300
N20 G00 X50 Y90 Z2 ;定位至起始位置
N30 G01 Z-2 F40 ;进刀
N40 Y10
N50 G00 Z100 ;退刀
N60 M30
3.1.3 圆弧插补(G02/G03)
控制系统提供了一系列不同的方法来编程圆弧运动。圆弧运动通过以下几种方式描述:
♠ 直角坐标系下表示的圆心和终点
♠ 直角坐标系下表示的半径和终点
♠ 直角坐标系下表示的张角和终点
♠ 直角坐标系下表示的张角和圆心
♠ 直角坐标系下表示的中间点和终点
♠ 直角坐标系下表示的终点和起点切线方向
指令格式:
G02/G03 X… Y… Z… I …J… K… ;终点和圆心编程方式,圆心坐标是相对于起点的增量
G02/G03 X… Y… Z… CR=… ;终点和半径编程方式,CR=给定圆弧半径
G02/G03 X… Y… Z… AR=… ;终点和张角编程方式,AR=给定张角
G02/G03 I …J… K… AR=… ;圆心和张角编程方式,AR=给定张角,圆心坐标是相对于圆弧起点的增量
CIP X… Y… Z… IM=…JM=… KM=… ;终点和中间点编程方式
CT X… Y… Z… ;终点和切线编程方式
注:
G02:顺时针圆弧插补;G03:逆时针圆弧插补
CIP:通过中间点进行圆弧插补;CT:通过切线过渡进行圆弧插补
X, Y, Z:直角坐标系下,圆弧的终点坐标
I, J, K:直角坐标系下,圆心相对于起点的增量坐标
CR=:圆弧半径
AR=:圆弧张角
IM=, JM=, KM=:直角坐标系下给定的中间点
说明:
♠ 工作平面:控制系统需要工作平面(G17/G18/G19)来确定圆弧旋转方向。各个平面内的顺时针(G02)和逆时针(G03)圆弧插补方向如下图1所示:
♠ X,Y,Z:表示圆弧的终点,并且根据G90/G91用绝对值或增量值表示。若为增量值,则该值为从圆弧起点向终点方向的距离。
♠ I,J,K:表示圆弧的圆心位置,是从圆弧的起点到圆心的增量值。并且不管是G90还是G91模式,都代表的是增量值,如下图2所示。I0,J0,K0可以省略。但X,Y,Z都省略(圆弧终点和起点相同),并且指定I,J,K时,表示360度圆弧,即整圆。
♠ CR=:表示圆弧半径:当指定小于或等于180度圆弧时,半径值为正值( 可以省略);当指定超过180度的圆弧时,半径必须用负值指定。
♠ 在系统设置界面的参数设置中,可以通过“圆弧指令模态开关”对G02和G03是否为模态指令进行设置。设置为“OFF”时,G02和G03为非模态指令;设置为“ON”时,G02和G03为模态指令。
♠ 如果圆弧的编程速度大于曲率半径允许的最大速度,则系统内部自动降低编程速度。
N10 M03 S1000
N20 G00 G90 X161.96 Y70
N30 G17 G01 Z-5 F100
N40 G02 X140 Y151.96 I-51.96 J30 ;给定圆弧终点和圆心
N40 G02 X140 Y151.96 CR=-60 ;给定圆弧终点和半径
N40 G02 X140 Y151.96 AR=270 ;给定圆弧终点和张角
N40 G02 I-51.96 J30 AR=270 ;给定圆心和张角
N40 CIP X140 Y151.96 IM=90 JM=43.43 ;给定圆弧终点和中间点
N50 G00 Z100
N60 M30
功能:
可以编程给定圆弧终点和圆心的方法实现对整圆或圆弧进行加工。
指令格式:
G02/G03 X… Y… Z… I… J… K…
或G02/G03 X… Y… Z…CR=…
说明:
♠ G02:顺时针圆弧插补;G03:逆时针圆弧插补
♠ X,Y,Z:直角坐标系下圆弧终点,并且根据G90/G91用绝对值或增量值表示。若为增量值,则该值为从圆弧起点向终点方向的距离。
♠ I,J,K:表示圆弧的圆心位置,是从圆弧的起点到圆心的增量值。并且不管是G90还是G91模式,都代表的是增量值。
♠ CR=:当编程的圆弧小于等于180度时,CR为正值,正号可以省略;当编程的圆弧大于180度时,CR为负值。
♠ 注意:整圆不能用CR=来编程。要用I,J,K形式来编程。
举例:
N10 G00 X80 Y94.64
N20 G03 X25.36 Y40 CR=40 F200
通过指定张角和圆弧终点(或圆心)的方式来编程圆弧。
指令格式:
G02/G03 X… Y… Z… AR=…
G02/G03 I …J… K… AR=…
说明:
♠ G02:顺时针圆弧插补;G03:逆时针圆弧插补
♠ X,Y,Z:直角坐标系下圆弧终点,并且根据G90/G91用绝对值或增量值表示。若为增量值,则该值为从圆弧起点向终点方向的距离。
♠ I,J,K:表示圆弧的圆心位置,是从圆弧的起点到圆心的增量值。并且不管是G90还是G91模式,都代表的是增量值。
♠ AR=:张角的取值不能小于0。
举例:
N10 G00 X80 Y94.64
N20 G03 X25.36 Y40 AR=150 F200
或N20 G03 I-20 J-34.64 AR=150 F200
3.给定圆弧终点和中间点
可以用CIP通过终点和中间点编程圆弧。如图3.3所示:运行方向按照起点,中间点,终点的顺序进行。
指令格式:
CIP X…Y…Z…IM=…JM=…KM=…
说明:
♠ CIP:通过中间点进行圆弧插补
♠ X,Y,Z:直角坐标系下圆弧终点,并且根据G90/G91用绝对值或增量值表示。若为增量值,则该值为从圆弧起点向终点方向的距离。
♠ IM=,JM=,KM=:直角坐标系下圆弧中间点,并且根据G90/G91用绝对值或增量值表示。若为增量值,则该值为从圆弧起点向中间点方向的距离。
举例:
N10 G00 X80 Y94.64
N20 CIP X25.36 Y40 IM=31.72 JM=88.28 F200
功能:
切线过渡功能是圆弧编程的一个扩展功能。圆弧可以通过终点以及起点的切线方向来指定。CT生成一个与先前编程的轮廓段相切的圆弧。如图3.4所示:
切线方向规定:一个CT程序段起点的切线方向是由前一程序段的编程轮廓的终点切线来决定的。
指令格式:
CT X…Y…Z…
说明:
♠ CT:切线过渡的圆弧
♠ X…Y…Z…:直角坐标系下圆弧的终点
♠ CT为非模态有效。通常情况下圆弧由切线方向以及起点和终点决定。
♠ 如果起始切线的延长线经过终点,则将产生一条直线而不是圆(极限情况:半径无限长的圆)。在这种情况下,系统报警。
2、在铣削加工的某些情况下,有时需要执行多圈螺旋线的运动,来满足部分加工要求(如螺纹铣削,内孔精加工等)。为此,控制系统提供了几种不同的方法来编程三维螺旋线运动,描述如下:
终点 圆心 圈数:G02/G03 X… Y… Z… I… J… K… TURN=
终点 半径 圈数:G02/G03 X… Y… Z… CR=… TURN=
终点 张角 圈数:G02/G03 X… Y… Z… AR=… TURN=
圆心 张角 圈数( 加工平面外第三轴终点坐标):
G02/G03 I… J… K… AR=… (Z…) TURN=
极角 极半径 圈数( 加工平面外第三轴终点坐标):
G02/G03 AP=… RP=… (Z…) TURN=
相关参数和指令说明
- X Y Z(终点坐标):
- 当加工平面外第三轴(如G17为Z轴)终点坐标不编程,或编程值与起点相同时,仅在同一平面内运动,不形成螺旋线。若同时省略参数TURN,即成为普通的圆弧插补指令。
- 在上述最后两种编程方式中,加工平面内的第一轴和第二轴不允许编程,但是若需要构成螺旋线运动,需要编程第三轴终点坐标。
- I J K(圆心坐标):
- 与一般圆弧插补指令的含义基本相同,此圆心指的是螺旋线圆柱在加工平面的圆截面的圆心。当直接编程时,圆心坐标为相对于终点的坐标,只有加了AC以后才为绝对坐标。
- CR(半径)
- 与圆弧插补指令的含义基本相同
- AR(张角)
- 该张角指的是在加工平面内,由起点到终点的圆弧张角
- AR的范围要求为0<AR<360°。如果TURN=0,或TURN不编程,则允许AR编程大于360度。此时,螺旋线运动的圈数完全由AR决定。
- TURN(圈数)
- 该圈数指的是螺旋线中包含的360°整圈的数量,故始终是一个正整数,范围0≤TURN≤999。编程的螺旋线轨迹一般可以将其看作两个部分:“n个整圈的螺旋线”和“不足一圈的一段螺旋线”,如图5所示。
- 特殊情况:如果以终点 圆心的方式编程,使“不足一圈的一段螺旋线”成为了一个整圈,那么实际上的螺旋线圈数为TURN 1圈。
- 如果TURN=0,或TURN不编程,那么螺旋线轨迹将小于等于一整圈。如果同时,加工平面外第三轴坐标不变化,那么即成为普通的圆弧插补指令。
图3.5 指令参数说明
- AP、RP(极角、极半径)
- 与圆弧插补指令的含义基本相同
编程举例和一些特例
1)终点 圆心 圈数:G02/G03 X… Y… Z… I… J… K… TURN=
G17
F1000
G00 X0 Y10 Z0
G03 X10 Y0 Z-30 I0 J-10 TURN=5 ; 5圈多
M02
2)终点 半径 圈数:G02/G03 X… Y… Z… CR=… TURN=
G17
F1000
G00 X0 Y10 Z0
G02 X0 Y-10 Z-20 CR=10 TURN=2 ;终点 半径 圈数
M02
3)终点 张角 圈数:G02/G03 X… Y… Z… AR=… TURN=
G17
F1000
G00 X0 Y10 Z0
G02 X0 Y-10 AR=300 TURN=3 ; 终点 张角 圈数
M02
4)圆心 张角 圈数( 加工平面外第三轴终点坐标):G02/G03 I… J… K… AR=… Z… TURN=
G17
F1000
G00 X0 Y10 Z0
G03 I0J-10 AR=180 z10 TURN=2 ;执行2圈半
M02
5)极角 极半径 圈数( 加工平面外第三轴终点坐标):G17
F1000
G111 X10 Y10 Z0
G00 X0 Y10 Z0
G02 AP=120 RP=10 Z-10 TURN=2 ; 极角 极半径 圈数
M02
6)整圈螺旋线特例
G17
F1000
G00 X0 Y10 Z0
G03 Z-30 I0 J-10 TURN=2 ; 这里是整圆编程,螺旋线总共有3圈
M02
7)没编程第三轴G17
F1000
G00 X0 Y10 Z0
G02 X0 Y-10 CR=10 TURN=2 ; 未编程第三轴Z,则在G17平面圆弧执行2圈半,不构成螺旋线
M02
3.1.4 三维圆弧插补(CIPD)
通过指定圆弧的中间点和终点,可以在三维空间上进行三维圆弧插补。
指令格式:
CIPD X... Y... Z... IM=... JM=... KM=...
说明:
♠ CIPD :三维圆弧插补指令
♠ X,Y,Z:圆弧指令的终点坐标
♠ IM=,JM=,KM=:直角坐标系下圆弧中间点,并且根据G90/G91用绝对值或增量值表示。若为增量值,则该值为从圆弧起点向中间点方向的距离。
举例:
N10 G90 G01 X6 Y0 Z0
N20 CIPD X0 Y8 Z0 IM=3 JM=4 KM=5
3.1.5 多项式插补(POLY)
就本意来讲,多项式插补(POLY)并不是一种样条插补。
三次多项式的参数方程为:
X(t)=a0 a1*t a2*t2 a3*t3
Y(t)=b0 b1*t b2*t2 b3*t3
Z(t)=c0 c1*t c2*t2 c3*t3
五次多项式的参数方程为:
X(t)=a0 a1*t a2*t2 a3*t3 a4*t4 a5*t5
Y(t)=b0 b1*t b2*t2 b3*t3 b4*t4 b5*t5
Z(t)=c0 c1*t c2*t2 c3*t3 c4*t4 c5*t5
其中:t为参数
通过给系数设定具体的数值,可以产生不同的曲线,如直线、抛物线、三次多项式和五次多项式。
指令格式:
POLY X=PM(Xe,a1,a2,a3) Y=PM(Ye,b1,b2,b3) Z=PM(Ze,c1,c2,c3) PT=n
POLY X=PM(Xe,a1,a2,a3,a4,a5) Y=PM(Ye,b1,b2,b3,b4,b5) Z=PM(Ze,c1,c2,c3,c4,c5) PT=n
参数:
♠ POLY:选通三次或五次多项式插补。
♠ X,Y,Z:轴名称
♠ Xe,Ye,Ze:编程轨迹终点位置
♠ a1,a2,a3,a4,a5:如果系数值为零,则可以为空,但要用逗号占位。如果没有逗号占位,则按照从前往后顺序依次对应系数,不够的默认为零。如:X=PM(1,2),则a1=1,a2=2,a3以后都是0。
♠ PT:参数范围,取值范围:PT >0。PT值用于所在的程序段,如果没有编程PT,则PT=1。参数方程中的t的取值范围:[0,PT]
♠ 根据多项式系数计算出的终点值与编程的终点(Xe,Ye,Ze)不符(超出系统设定的参数范围值),则报警!
说明:
♠ 多项式插补是非模态指令
♠ 当多项式插补有效时,如果仅编程终点没有编程系数,则以直线插补到其终点。
♠ 在多项式指令段中,不能编程G、M、S、T、D和其他关键字,否则报错。
举例:
N10 POLY X=PM() Y=PM() Z=PM() ;线性轴多项式插补到终点
3.1.6 样条插补(AKIMA,NURBS,CUBIC)
通过样条插补可以用平滑的曲线连接各个分散的点。样条是对一系列离散化点的一种拟合方式。不同的样条函数类型有不同的性质,插补的结果也不同。
当要通过某个曲线连接一系列点时,就需要编程样条插补。可以有三种类型的样条:
♠ AKIMA样条(Akima样条)
♠ NURBS样条(NURBS样条,非均匀有理的B样条)
♠ CUBIC样条(立体样条)
在三种相同的型值点处对比三种类型的样条,如图3.6所示:
指令格式:
AKIMA X... Y... Z...
说明:
♠ AKIMA样条精确地通过各个型值点(即:编程点),如图3.7所示。
♠ 插补时使用3次多项式。
♠ AKIMA样条最少处理3个型值点,即:每条AKIMA样条曲线用户最少要编程3个程序段。如果AKIMA样条曲线编程少于3个程序段,则报警。
♠ AKIMA样条是模态指令,与G00、G01等同属于一个G代码分组,同组的其它指令可以取消AKIMA样条。
♠ 在AKIMA样条指令程序段中,不能编程G(G01这组G指令除外)、M、S、T、D和其它关键字,否则报错。
N10 AKIMA X... Y... Z... ;开启第一条AKIMA样条曲线
N20 X... Y... Z...
…
N90 X...Y...Z...
N100 AKIMA X... Y...Z... ;开启第二条AKIMA样条曲线
N110 X...
指令格式:
NURBS X... Y... Z... SD=... PW=... PL=...
说明:
♠ X,Y,Z:控制点坐标值
♠ SD=3:样条次数,对应三次样条。如果没有编程次数参数,则默认为三次样条。
♠ PW=:权重,如下图3.8所示。取值范围:PW>0。如果没有编程权重,则默认设置为1。
♠ PL=:节距,取值范围[0,1]。必须编程此参数,如果没有编程,则报错。一条NURBS以PL=0开始,PL=0结束,且结束处PL累加值=1。
♠ NURBS样条编程的控制点总数不能少于SD 1个,否则报警。
♠ NURBS样条是模态指令,与G00、G01、G02、G03、多项式同属于一个G指令分组。同组的其它指令可以取消NURBS样条。
♠ 在NURBS样条程序段中,不能编程G(G01组指令除外)、M、S、T、D和其它关键字,否则报错。
G01 X0 Y0 Z0 F100
NURBS X1 Y0 Z2 PL=0
X2 Y0 Z3 PL=0.2920
X4 Y0 Z6 PL=0.2237
5 Y0 Z5 PL=0.2785
X6 Y0 Z1 PL=0.2058
X7 Y0 Z5.5 PL=0
G01 X20 Y20 Z-20…
指令格式:
CUBIC X... Y... Z...
说明:
♠ 插补时使用3次多项式。
♠ 其它编程规则同AKIMA样条。
♠ AKIMA、NURBS和CUBIC样条均为模态有效,与G00、G01、G02、G03属于同一插补指令组。
N10 G01 X0 Y0 F300
N15 X10
N30 CUBIC X20 Y10 ;三次样条举例,在曲面开始和结束处曲率为零
N40 X30 Y10
N50 X40 Y5
N60 X50 Y15
N70 X55 Y7
N80 X60 -Y20
N90 X65 Y20
N100 X70 Y0
N110 X80 Y10
N120 X90 Y0
N130 M30
3.1.7 螺旋线插补(G22/G23)
功能:
螺旋插补G22/G23由工作平面内的圆弧插补和第三轴的同步运动组成。工作平面内的圆弧曲线除了常见的等半径圆弧,也可以是同一个圆心,而半径是线性渐变的螺线。第三轴的直线运动必须与工作平面内的圆弧或螺线具有同步性,形成等螺距的圆柱或圆锥螺旋线。如果不指定第三轴,或者第三轴坐标不变,则相当于是在工作平面内进行圆弧或螺线插补。
指令格式:
说明:
- G22/G23:G22是顺时针旋转螺旋线;G23是逆时针旋转螺旋线。
- G17/G18/G19:工作平面选择。
- X/Y/Z:终点坐标。
- I/J/K:含义与工作平面有关。
- G17:I/J为圆心相对于起点的坐标,K为螺距值;
- G18:K/I为圆心相对于起点的坐标,J为螺距值;
- G19:J/K为圆心相对于起点的坐标,I为螺距值。
- Q:螺旋旋转一周的半径增减量。正值表示半径增量;负值表示半径减量。
- L:螺旋旋转的周数,为正数,可以是小数。
- P:螺旋旋转的角度,单位:度。
- 螺距值、Q、L、P:这四个参数中必须指定一个,其余三个可以忽略。如果同时指定了两个以上参数时,按照“Q>螺距值>P>L”的优先级选择。
举例:
N10 G00 X0 Y-50 Z0
N20 Y-35
N30 G22 X-50 Y0 Z-125 I0 J35 P810 ;从起点到终点共螺旋走了810度,即2.25圈
3.2 倒角,倒圆(CHF,CHR,RND)
功能:
轮廓角可定义为倒圆或倒角。
指令格式:
G… X…Y…Z…CHF=… ;轮廓角倒角,值=倒角的长度
G… X…Y…Z…CHR=… ;轮廓角倒角,值=倒角的边长
G… X…Y…Z…RND=… ;轮廓角倒圆,值=圆的半径
说明:
- 倒角CHF或CHR:在直线轮廓之间、圆弧轮廓之间以及直线与圆弧轮廓之间切入一直线并倒去棱角。如图3.11所示:
图3.11 CHF与CHR示意
- 倒圆RND:在直线轮廓之间、圆弧轮廓之间以及直线与圆弧轮廓之间切入一圆弧,轮廓之间切线过渡。如图3.12所示:
图3.12 RND示意
- 在任何一个轮廓拐角处都可以插入倒角或倒圆。如果在一个程序段中同时编程了倒圆和倒角,则不管编程的顺序如何,而是仅插入倒圆。
- 如果几个连续编程的程序段中不含坐标轴移动指令的程序段,则不可以进行倒角或倒圆。
- 连接倒角或倒圆的两个移动指令程序段必须在同一平面内。
- 增加的倒圆和倒角均属于上一个程序段。
3.3 平面指令(G17/G18/G19)
功能:
在进行平面的刀具半径补偿,刀具长度补偿的进刀方向,平面圆弧插补时,需要先确定加工平面。如图3.13所示:
图3.13 工作平面
指令格式:
G17 ;XY工作平面,进刀方向Z
G18 ;ZX工作平面,进刀方向Y
G19 ;YZ工作平面,进刀方向X
说明:
- 在系统的初始设置中,铣削默认的工作平面是G17,车削是G18。
- 在调用平面刀具半径补偿G41/G42时,必须指定工作平面,这样控制系统才知道在哪个平面内进行刀具半径补偿。
- 在进行斜置平面的加工时,由于使用了坐标系旋转,使坐标轴位于斜置平面上,工作平面也一起进行旋转。
3.4 绝对/相对指令(G90/G91,AC/IC)
功能:
绝对尺寸中(G90),位置数据总是取决于当前有效坐标系的零点,即对刀具应当运行到的绝对位置进行编程。在增量尺寸中(G91),位置数据取决于上一个运行到的点,即增量尺寸编程用于说明刀具运行了多少距离。
在增量尺寸(G91)中,可以用关键字AC为单个轴设置段内有效的绝对尺寸;同样也可以在绝对尺寸(G90)中,用关键字IC为单个轴设置段内有效的增量尺寸。
指令格式:
G90 ;激活绝对尺寸,模态有效
G91 ;激活增量尺寸,模态有效
轴=AC(…) ;AC非模态指令,括号内为指定的位置值
轴=IC(…) ;IC非模态指令,括号内为指定的位置值
说明:
- G90和G91均为模态有效,系统的初始设定为G90绝对尺寸有效。
- AC/IC既可以用于线性轴编程也可以用于旋转轴编程,也可以用于插补参数I/J/K编程。
- 用于旋转轴编程时,AC的取值范围:[0,360)度;IC的取值范围:0~±99999.999度。用于线性轴编程时,AC/IC的取值范围同X/Y/Z轴。
- 用于旋转轴编程时,AC的运行方向取决于旋转轴的实际位置。如果目标位置大于实际位置,轴在正的旋转方向下趋近,否则,在负的旋转方向下趋近。
- IC中值的符号定义了旋转轴的旋转方向。正号:正方向增量进给;负号:负方向增量进给。IC可以编程大于等于360度,例如:C=IC(720)。
举例:
N10 M03 S1000
N20 G90 G00 X140 Y70 Z2
N30 G01 Z-5 F200
N40 G02 X90 Y120 I=AC(90)J=AC(70) ;用绝对尺寸编写圆心坐标
N50 G00 Z2
N60 M30
3.5 英制/公制转换(G70/G71)
功能:
使用以下G功能可以在公制尺寸系统和英制尺寸系统间进行切换。
指令格式:
G70 ;激活英制尺寸系统
G71 ;激活公制尺寸系统
说明:
- 控制系统中设定一个基准尺寸系统,它与编程的尺寸说明G70/G71无关。
- 用G70或G71编程所有与工件直接相关的几何数据,比如:
- 在G00,G01,G02,G03,CIP,CIPD,CT,G22,G23,POLY,样条功能下的位置数据X,Y,Z
- 插补参数I,J,K
- 圆弧半径CR
- 可编程的零点偏置(TRANS,ATRANS)
所有其它与工件没有直接关系的几何数值,如进给率,刀具补偿,可设定的零点偏置,它们与G70或G71的编程无关。
3.6 工作区域限制(G25/G26)
功能:
可以通过G25/G26指令定义所有轴的工作区域,规定哪些区域可以运行,哪些区域不可以运行。到刀具长度补偿有效时,指刀尖必须要在此区域内;否则,刀架参考点必须在此区域内。为了使能和取消各个轴和方向的工作区域限制,可以使用可编程的指令组WALIMON/WALIMOF。
指令格式:
G25 X…Y…Z… ;工作区域下限
G26 X…Y…Z… ;工作区域上限
WALIMON ;工作区域限制使能
WALIMOF ;工作区域限制取消
说明:
- 坐标值只有在回参考点之后工作区域限制才有效。
- G25 X…Y…Z…、G26 X…Y…Z…、WALIMON、WALIMOF都是单独程序段。
- G25/G26的X、Y、Z坐标值是在工件坐标系(详见4.2)下定义的。
- 工作区域限制对模态的旋转轴无效。
举例:
N10 G25 X0 Z40 ;工作区域限制下限值
N20 G26 X80 Z160 ;工作区域限制上限值
N30 T1 M06
N40 G00 X70 Z150
N50 WALIMON ;工作区域限制使能
… ;仅在工作区域内
N90 WALIMOF ;工作区域限制取消
3.7 回参考点
3.7.1 多轴回参考点(G74)
功能:
多轴同时或先后运动到中间点后,自动移动到参考点。参考点位置存储在系统参数中。
指令格式:
G74 X…Y…Z…
说明:
- 通过修改系统参数G74可实现同步或者按顺序返回。
- X,Y,Z:中间点坐标。
- 各轴以快速移动速度定位到中间点,以快速移动速度完成从中间点到参考点的定位。
- G74是非模态指令,单独程序段编写。
- 如果不指定X、Y、Z,各轴直接回参考点。
举例:
N10 G74 X40 Y20 ;经中间点X40 Y20回参考点
3.7.2 单轴回参考点(G740)
功能:
选定单一轴移动到参考点。参考点位置存储在系统参数中。
指令格式:
G740 X0 / Y0 /Z0
说明:
- X,Y,Z:定义了哪根轴回零
- G740是非模态指令,单独程序段编写。
举例:
N20 G740 Y0 ;Y轴回参考点
3.8 回固定点
3.8.1 多轴回固定点(G75)
功能:
用G75指令实现多轴同时返回固定点功能。如:换刀点、上料点、托盘更换点等。刀具运动到中间点后,自动移动到固定点。固定点位置存储在系统参数中。
指令格式:
G75 X…Y…Z…
说明:
- X,Y,Z:中间点坐标。
- 各轴以快速移动速度定位到中间点,以快速移动速度完成从中间点到固定点定位。
- G75是非模态指令,单独程序段编写。
- 如果不指定X、Y、Z,各轴直接回固定点。
举例:
N10 G75 X40Y30 ;经中间点X40Y30回固定点
3.8.2 单轴回固定点(G750)
功能:
选定单一轴移动到固定点。固定点位置存储在系统参数中。
指令格式:
G750 X0 /Y0 /Z0 ,
说明:
- X,Y,Z:定义了哪根轴回零。
- G750是非模态指令,单独程序段编写。
举例:
N10 G750 X0 ;X轴回固定点
3.9 暂停(G04)
功能:
通过在两个程序段之间插入一个G04指令,可以使加工中断给定时间。
指令格式:
G04 H… ;暂停给定时间,单位:秒
举例:
N10 G01 Z50 F200
N20 G04 H2 ;暂停2秒
N30 X50
说明:
H后所编写的数字,可以精确到小数点后面两位。G04指令必须为独立程序段。
3.10 极坐标
3.10.1 极坐标系(AP,RP)
功能:
极坐标系是一个二维坐标系统,它是以G17/G18/G19为基准平面进行定义的。该坐标系统中的点由一个夹角(极角)和一段相对中心点(极点)的距离(极半径)来表示。极点可以在直角坐标系或极坐标系下进行定义。如下图3.14所示:
图3.14 G17平面内正方向极角和极半径定义 G18平面内正方向极角和极半径定义
指令格式:
RP= ;极半径
AP= ;极角
说明:
- 极半径定义为当前点到极点的距离,是一个正的绝对值,单位:mm或英寸。
- 极半径一直保存,模态有效。只有极点发生变化或平面更改后才需要重新进行定义。
- 极角是指与所在平面中的横坐标轴之间的夹角(如:G17平面中的X轴)。
- 极角一直保存,模态有效。直到定义了一个新的极点或更换了工作平面。
- 极角逆时针旋转为正方向,极角的范围为(-360,360),单位:度。
3.10.2 极点定义(G110/G111/G112)
极点可以用直角坐标或者极坐标来进行定义。如下图3.15所示:
图3.15 极点的定义方式
指令格式:
G110 X…Y…Z…或G110 AP=… RP=…
G111 X…Y…Z…或G111 AP=… RP=…
G112 X…Y…Z…或G112 AP=… RP=…
说明:
- G110:相对于上次编程点定义极点。G110后的极坐标都是以这个极点为基准进行编程的。
- G111:相对于当前的工件坐标系的零点定义极点。
- G112:相对于最后有效的极点定义极点。
- G110、G111、G112都是单独程序段。
- 定义好的极点一直保持有效,直到定义了新的极点。
- 如果没有定义极点,那么就以当前坐标系的原点为极点。
- 只有G00、G01、G02、G03插补指令能在极坐标方式下进行编程。其它指令中出现AP或RP编程方式,则报警。
3.10.3 极坐标编程
运动指令G00、G01、G02、G03能够用极坐标方式进行编程。
指令格式:
G00 AP=… RP=…
G01 AP=… RP=…
G02 AP=… RP=…
G03 AP=… RP=…
说明:
- G00--快速移动指令;G01--直线插补指令;G02--顺时针圆弧插补指令;G03--逆时针圆弧插补指令。
- AP=:极角,即极半径与工作平面横轴(如G17平面内X轴)之间的夹角。逆时针方向为正,取值范围:(-360,360),单位:度。极角模态有效。
- RP=:极半径始终是正的绝对值,极半径模态有效。
- 垂直于工作平面的第3根几何轴也可以用直角坐标表示。如下图3.16所示:G17 G00 AP=...RP=... Z...
图3.16 极坐标与直角坐标编程
举例:
N10 G17 G54 ;定义G17平面,选择工件坐标系
N20 G111 X100 Y90 ;定义极点
N30 G00 RP=60 AP=30 Z5 ;定位至起点
N40 (SUB) ;子程序调用
N50 G00 AP=IC (90) ;快速定位下一个位置,以增量尺寸定义极角,N30中定义极半径仍有效,不需要设定
N60 (SUB)
N70 G00 AP=IC (90)
N80 (SUB)
N90 G00 AP=IC (90)
N100 (SUB)
N110 G00 X300 Y200 Z100 ;退刀,X、Y、Z坐标是以G54为原点,不是以N20定义的极点为原点的
N120 M30
说明:
当前点编程方式:
极坐标:以最新定义的极点为原点进行编程。
直角坐标:以最新定义的可设定框架(如G54)或可编程框架(如TRANS)为原点进行编程。
举例:
N10 G17 G54 G90
N20 G111 X20 Y30 ;定义极点
N30 G00 X10 Y20 ;X、Y以G54为原点编程
N40 AP=10 RP=20 ;AP、RP以N20定义的极点编程极坐标
N50 X40 Y50 ;X、Y以G54为原点编程
3.11 简化编程(固定循环)
3.11.1 平面铣削CYCLE71
编程:
CYCLE71 (RTP, RFP, SFD, DEP, SPA, SPO, LENG, WID, STA, MIDP, MIWD, FALD, FFS, TYP)
参数:
RTP |
Real |
退回平面(绝对坐标) |
RFP |
Real |
基准平面(绝对坐标) |
SFD |
Real |
安全间隙(无符号输入) |
DEP |
Real |
深度(绝对坐标) |
SPA |
Real |
起始点横坐标(绝对坐标) |
SPO |
Real |
起始点纵坐标(绝对坐标) |
LENG |
Real |
矩形长度,增量,符号决定长度方向 |
WID |
Real |
矩形宽度,增量,符号决定宽度方向 |
STA |
Real |
矩形长边与平面第一轴(横坐标)的夹角(无符号输入) |
MIDP |
Real |
最大进刀深度(无符号输入) |
MIWD |
Real |
最大进刀宽度(无符号输入) |
FALD |
Real |
底部精加工余量(无符号输入) |
FFS |
Real |
表面加工进给速度 |
TYP |
Int |
加工类型:(无符号输入) 个位: 1=粗加工 2=精加工 十位: 1=平行于横坐标,一个方向加工 2=平行于纵坐标,一个方向加工 3=平行于横坐标,交替方向加工 4=平行于纵坐标,交替方向加工 |
功能:
使用CYCLE71可以铣削任意一个矩形平面。该循环不带刀具半径补偿,循环自动以刀具中心进行轨迹规划。
参数说明:
图3.17 参数图示
RTP(退回平面)
循环结束以后刀具退回的位置。
RFP(基准平面)
平面铣削的起始位置,一般指的是毛坯上表面。
SFD(安全间隙)
为保证安全而设定的提前基准平面的一个安全距离。该距离同样适用于平面内长度和宽度方向上的安全溢出行程。
图3.18 平面内的SFD图示(加工类型41)
DEP(深度)
平面铣削的结束位置,为绝对坐标。
SPA和SPO(起始点)
SPA和SPO分别为矩形起始点的横坐标和纵坐标。
LENG和WID(长度和宽度)
LENG和WID定义了矩形的长度和宽度,为相对于起始点SPA和SPO的增量坐标,由其符号产生矩形的位置。
STA(矩形长边与第一轴之间的夹角)
STA定义了矩形长边(即长度轴)与工作平面第一轴(横坐标轴)之间的夹角。
MIDP(最大进刀深度)
循环根据最大进刀深度计算出粗加工的进刀数量和进给深度。如果MIDP=0,则循环默认为一刀加工完成。
MIWD(最大进刀宽度)
循环根据最大进刀宽度计算出横向的进刀数量和进给宽度。如果MIWD=0,则循环默认MIWD=0.8倍的刀具直径。
TYP(加工类型)
个位:
1=粗加工
2=精加工
十位:
1=平行于横坐标,一个方向加工
2=平行于纵坐标,一个方向加工
3=平行于横坐标,交替方向加工
4=平行于纵坐标,交替方向加工
图3.19 加工类型
编程举例:
本例中,平面的尺寸如下图,与横坐标夹角为5度,深度为10mm,最大进刀深度6mm,最大进刀宽度10mm,加工类型为31,即平行于横坐标进行交替方向的粗加工。
图3.20 编程图示
N10 T8 M06
N20 M3 S1500
N30 G17 G00 G90 G94 X0 Y0 Z20
N40 CYCLE71(10,0,2,-10,20,20,50,30,5,6,10,0,2000,31)
N50 G00 G90 X0 Y0
N60 M30
3.11.2 轮廓铣削CYCLE72
编程:
CYCLE72 (KNAME, RTP, RFP, SFD, DEP, MIDP, FAL, FALD, FFC, FFD, TYP, TRC)
参数:
KNAME |
String |
轮廓子程序名 |
RTP |
Real |
退回平面(绝对坐标) |
RFP |
Real |
基准平面(绝对坐标) |
SFD |
Real |
安全间隙(无符号输入) |
DEP |
Real |
深度(绝对坐标) |
MIDP |
Real |
最大进刀深度(无符号输入) |
FAL |
Real |
轮廓边缘精加工余量(无符号输入) |
FALD |
Real |
底部精加工余量(无符号输入) |
FFC |
Real |
轮廓加工进给速度 |
FFD |
Real |
深度加工进给速度 |
TYP |
Int |
加工类型:(无符号输入) 1=粗加工 2=精加工 |
TRC |
Int |
刀补选项 40取消刀补 41左刀补 42右刀补 |
功能:
使用CYCLE72可以沿着一条任意的、在子程序中定义的轮廓铣削。该轮廓不必强制封闭,但必须按照其铣削的方向进行编程,并且位于一个平面中。刀具半径补偿方向由用户自己在主程序中指定,用完后,系统自动取消。
图3.21 轮廓铣削
参数说明:
图3.22 参数图示
KNAME(轮廓子程序名)
轮廓子程序编程时需要注意:
子程序必须包含起刀和退刀路径。第一个程序段定义的是起刀点,一般是一个带G00、G90的快速移动程序段。第二个程序段才是轮廓的起点。最后一个程序段为退刀路径,一般是一个带G00、G90快速移动程序段。
RTP(退回平面)
循环结束以后刀具退回的位置。
RFP(基准平面)
轮廓铣削的起始平面,一般指的是毛坯上表面。
SFD(安全间隙)
为保证安全而设定的提前基准平面的一个安全距离。
DEP(深度)
轮廓铣削的结束平面,为绝对坐标。
MIDP(最大进刀深度)
循环根据最大进刀深度计算出粗加工的进刀数量和进给深度。如果MIDP=0,则循环默认为粗加工一刀完成。
编程举例:
对下面的轮廓进行外部铣削加工,相关参数为:RTP=10,RFP=0,SFD=5,DEP=-4,MIDP=1,FAL=0.25,FALD=0.1,FFS=800,FFD=400,TYP=1。
图3.23 编程图示
主程序:
N10 T8 M06
N20 M03 S1000
N30 G17 G00 G90 X-90 Y18 Z50
N40 CYCLE72("sub72",10,0,5,-4,1,0.25,0.1,800,400,1,41)
N50 G00 X-90 Y18
N60 M30
子程序“sub72.iso”:
N10 G90 G01 X-78.696 Y10.129
N20 G01 X-30 Y17.321
N30 X-20 Y34.641
N40 X20
N50 X40 Y0
N60 X20 Y-34.641
N70 X-20
N80 X-40 Y0
N90 X-30 Y17.321
N100 X-28.5 Y19.919
N110 X-46.362 Y64.725
N120 RET
3.11.3 矩形轴颈铣削CYCLE76
编程:
CYCLE76 (RTP, RFP, SFD, DEP, LENG, WID, CRAD, SPA, SPO, STA, MIDP, FAL, FALD, FFC, FFD, MDIR, TYP, LBS, WBS)
参数:
RTP |
Real |
退回平面(绝对坐标) |
RFP |
Real |
基准平面(绝对坐标) |
SFD |
Real |
安全间隙(无符号输入) |
DEP |
Real |
深度(绝对坐标) |
LENG |
Real |
轴颈长度(无符号输入) |
WID |
Real |
轴颈宽度(无符号输入) |
CRAD |
Real |
轴颈拐角半径(无符号输入) |
SPA |
Real |
轴颈基准点横坐标(绝对坐标) |
SPO |
Real |
轴颈基准点纵坐标(绝对坐标) |
STA |
Real |
轴颈长边与平面第一轴(横坐标)的夹角(无符号输入) |
MIDP |
Real |
最大进刀深度(无符号输入) |
FAL |
Real |
轮廓边缘精加工余量(无符号输入) |
FALD |
Real |
底部精加工余量(无符号输入) |
FFC |
Real |
轮廓加工进给速度 |
FFD |
Real |
深度加工进给速度 |
MDIR |
Int |
铣削方向:(无符号输入) 0=同向铣削 1=逆向铣削 2=顺时针铣削(G2) 3=逆时针铣削(G3) |
TYP |
Int |
加工类型:(无符号输入) 1=粗加工 2=精加工 |
LBS |
Real |
毛坯长度(无符号输入) |
WBS |
Real |
毛坯宽度(无符号输入) |
功能:
使用CYCLE76可以在平面中加工矩形轴颈。CYCLE76是轮廓铣削的一种特例,循环内部调用轮廓铣削循环CYCLE72对矩形轮廓进行加工。
图3.24 铣削矩形轴颈
参数说明:
参数RTP、RFP、SFD、DEP、MIDP可以参考CYCLE72中的说明。
图3.25 参数图示
SPA,SPO(基准点)
使用参数SPA和SPO定义轴颈中心点的横坐标和纵坐标。
STA(轴颈长边与第一轴之间的夹角)
STA定义了轴颈长边(即长度轴)与工作平面第一轴(横坐标轴)之间的夹角。
LENG,WID,CRAD(轴颈长度,轴颈宽度,拐角半径)
使用参数LENG、WID和CRAD可以确定轴颈的形状。
MDIR(铣削方向)
通过参数MDIR定义加工轴颈时的铣削方向。铣削方向可以直接定义为顺时针方向(G02)或逆时针方向(G03),也可以定义为同向铣削或逆向铣削,循环自动结合主轴旋转方向确定铣削方向(顺时针或逆时针)。
同向铣削 |
逆向铣削 |
M03→G02 |
M03→G03 |
M04→G03 |
M04→G02 |
LBS,WBS(轴颈毛坯长度和宽度)
加工轴颈时,可以通过参数LBS和WBS定义毛坯的长度和宽度。LBS和WBS为无符号输入,循环自动将毛坯对称地放置在轴颈中心点两侧。
编程举例:
本例中,矩形轴颈位于XY平面中,中心点坐标X45 Y50,长度60mm,宽度40mm,拐角半径10mm,与X轴夹角5度。加工深度10mm,最大进刀深度6mm,边缘和底部精加工余量均为0。毛坯长度70mm,宽度50mm。采用同向铣削,加工类型为粗加工。
图3.26 编程图示
N10 T8 M06
N20 M03 S1000
N30 G17 G00 G90 X100 Y100 Z10
N40 CYCLE76(10,0,2,-10,60,40,10,45,50,5,6,0,0,700,700,0,1,70,50)
N50 G00 X100 Y100
N60 M30
3.11.4 圆形轴颈铣削CYCLE77
编程:
CYCLE77 (RTP, RFP, SFD, DEP, SDIA, SPA, SPO, MIDP, FAL, FALD, FFC, FFD, MDIR, TYP, DBS)
参数:
RTP |
Real |
退回平面(绝对坐标) |
RFP |
Real |
基准平面(绝对坐标) |
SFD |
Real |
安全间隙(无符号输入) |
DEP |
Real |
深度(绝对坐标) |
SDIA |
Real |
轴颈直径(无符号输入) |
SPA |
Real |
轴颈圆心横坐标(绝对坐标) |
SPO |
Real |
轴颈圆心纵坐标(绝对坐标) |
MIDP |
Real |
最大进刀深度(无符号输入) |
FAL |
Real |
轮廓边缘精加工余量(无符号输入) |
FALD |
Real |
底部精加工余量(无符号输入) |
FFC |
Real |
轮廓加工进给速度 |
FFD |
Real |
深度加工进给速度 |
MDIR |
Int |
铣削方向:(无符号输入) 0=同向铣削 1=逆向铣削 2=顺时针铣削(G2) 3=逆时针铣削(G3) |
TYP |
Int |
加工类型:(无符号输入) 1=粗加工 2=精加工 |
DBS |
Real |
毛坯直径(无符号输入) |
功能:
使用CYCLE77可以在平面中加工圆形轴颈。CYCLE77也是轮廓铣削的一种特例,循环内部调用轮廓铣削循环CYCLE72对圆形轮廓进行加工。
图3.27 铣削圆形轴颈
参数说明:
参数RTP、RFP、SFD、DEP、MIDP可以参考CYCLE72中的说明。
参数MDIR可以参考CYCLE76中的说明。
图3.28 参数图示
SPA,SPO(基准点)
使用参数SPA和SPO定义轴颈中心点的横坐标和纵坐标。
SDIA(轴颈直径)
轴颈直径为无符号输入。
DBS(轴颈毛坯直径)
使用参数DBS定义轴颈毛坯的直径。
编程举例:
本例中,圆形轴颈毛坯直径50mm,轴颈直径45mm。轴颈位于XY平面中,圆心坐标X40 Y50,深度10mm。最大进刀深度6mm,边缘精加工余量0.2mm,底部精加工余量0。采用逆向铣削,加工类型为粗加工。
图3.29 编程图示
N10 T8 M06
N20 M03 S1800
N30 G17 G00 G90 X100 Y100 Z10
N40 CYCLE77(10,0,3,-10,45,40,50,6,0.2,0,700,700,1,1,50)
N50 G00 X100 Y100
N60 M30
3.11.5 矩形腔体铣削POCKET1
编程:
POCKET1 (RTP, RFP, SFD, DEP, LENG, WID, CRAD, CPA, CPO, STA, FFD, FFS, MIDP, MDIR, FAL, TYP, MIDF, FFC, SSF)
参数:
RTP |
Real |
退回平面(绝对坐标) |
RFP |
Real |
基准平面(绝对坐标) |
SFD |
Real |
安全间隙(无符号输入) |
DEP |
Real |
腔体深度(绝对坐标) |
LENG |
Real |
腔体长度(无符号输入) |
WID |
Real |
腔体宽度(无符号输入) |
CRAD |
Real |
拐角半径(无符号输入) |
CPA |
Real |
腔体中心点横坐标(绝对坐标) |
CPO |
Real |
腔体中心点纵坐标(绝对坐标) |
STA |
Real |
腔体纵轴与平面第一轴(横坐标)的夹角(无符号输入) |
FFD |
Real |
深度加工进给速度 |
FFS |
Real |
表面加工进给速度 |
MIDP |
Real |
最大进刀深度(无符号输入) |
MDIR |
Int |
铣削方向:(无符号输入) 2=顺时针铣削(G2) 3=逆时针铣削(G3) |
FAL |
Real |
轮廓边缘精加工余量(无符号输入) |
TYP |
Int |
加工类型:(无符号输入) 0=综合加工 1=粗加工 2=精加工 |
MIDF |
Real |
精加工最大进刀深度(无符号输入) |
FFC |
Real |
精加工进给速度 |
SSF |
Real |
精加工主轴转速 |
功能:
使用POCKET1可以在平面中的任意位置加工一个矩形腔体。
图3.30 铣削矩形腔
参数说明:
参数RTP、RFP、SFD、DEP、MIDP可以参考CYCLE72中的说明。
CPA,CPO(中心点)
使用参数CPA和CPO定义腔体中心点的横坐标和纵坐标。
STA(夹角)
STA定义了腔体纵轴与工作平面第一轴(横坐标轴)之间的夹角。
LENG,WID,CRAD(腔体长度,腔体宽度,拐角半径)
使用参数LENG、WID和CRAD可以确定腔体的形状。
如果刀具半径大于拐角半径,或者大于一半的腔体长度(或宽度),循环会产生报警“铣刀半径太大”。
MDIR(铣削方向)
通过参数MDIR定义加工腔体时的铣削方向。铣削方向分为顺时针方向(G2)和逆时针方向(G3)。
图3.32 铣削方向
编程举例:
本例中,矩形腔体长度为80mm,宽度为60mm,拐角半径为7mm,深度为10mm,在XY平面中。腔体与X轴的夹角为0度。腔体边缘的精加工余量为0.75mm,基准平面之前的安全间隙为0.5mm。腔体的坐标为X46和Y42,粗加工最大进刀深度为4mm,精加工最大进刀深度为2mm,加工类型选择为综合加工。
图3.33 编程图示
N10 T8 M06
N20 M04 S600
N30 G17 G0 G90 X100 Y100 Z10
N40 POCKET1(5,0,0.5,-10,80,60,7,46,42,0,120,300,4,2,0.75,0,2,0,0)
N50 G00 X100 Y100
N60 M30
3.11.6 圆形腔体铣削POCKET2
编程:
POCKET2 (RTP, RFP, SFD, DEP, PRAD, CPA, CPO, FFD, FFS, MIDP, MDIR, FAL, TYP, MIDF, FFC, SSF)
参数:
RTP |
Real |
退回平面(绝对坐标) |
RFP |
Real |
基准平面(绝对坐标) |
SFD |
Real |
安全间隙(无符号输入) |
DEP |
Real |
腔体深度(绝对坐标) |
PRAD |
Real |
腔体半径(无符号输入) |
CPA |
Real |
腔体中心点横坐标(绝对坐标) |
CPO |
Real |
腔体中心点纵坐标(绝对坐标) |
FFD |
Real |
深度加工进给速度 |
FFS |
Real |
表面加工进给速度 |
MIDP |
Real |
最大进刀深度(无符号输入) |
MDIR |
Int |
铣削方向:(无符号输入) 2=顺时针铣削(G2) 3=逆时针铣削(G3) |
FAL |
Real |
轮廓边缘精加工余量(无符号输入) |
TYP |
Int |
加工类型:(无符号输入) 0=综合加工 1=粗加工 2=精加工 |
MIDF |
Real |
精加工最大进刀深度(无符号输入) |
FFC |
Real |
精加工进给速度 |
SSF |
Real |
精加工主轴转速 |
功能:
使用POCKET2可以在平面中的任意位置加工一个圆形腔体。
图3.34 铣削圆形腔
参数说明:
参数RTP、RFP、SFD、DEP、MIDP可以参考CYCLE72中的说明。
参数MDIR可以参考POCKET1中的说明。
CPA,CPO(中心点)
使用参数CPA和CPO定义腔体中心点的横坐标和纵坐标。
PRAD(腔体半径)
腔体的形状取决于它的半径PRAD。
如果刀具半径大于腔体半径,循环会产生报警“铣刀半径太大”。
图3.36 铣削方向
编程举例:
本例中,圆形腔体位于XY平面中,中心点坐标为X30 Y50,腔体直径为45mm。精加工余量和安全间隙均为0。腔体深度为10mm,粗加工最大进刀深度为4mm,铣削方向为G2(顺时针方向),加工类型选择为粗加工。
图3.37 编程图示
N10 T8 M06
N20 M03 S800
N30 G17 G00 G90 X100 Y100 Z10
N40 POCKET2(3,0,0,-10,22.5,30,50,100,200,4,2,0,1,0,0,0)
N50 G00 G90 X100 Y100
N60 M30
3.11.7 圆周槽铣削SLOT1
编程:
SLOT1(RTP,RFP,SFD,DEP,DPR,NUM,LENG,WID,CPA,CPO,RAD,STA,INA,FFD,FFS,MIDP,MDIR,FAL,TYP,MIDF,FFC,SSF,FALD,STA2)
参数:
RTP |
real |
退回平面(绝对坐标) |
RFP |
real |
基准平面(绝对坐标) |
SFD |
real |
安全间隙(无符号输入) |
DEP |
real |
键槽深度(绝对坐标) |
DPR |
real |
相对于基准平面的键槽深度(无符号输入) |
NUM |
int |
键槽数量 |
LENG |
real |
键槽长度(无符号输入) |
WID |
real |
键槽宽度(无符号输入) |
CPA |
real |
圆弧的圆心,横坐标(绝对坐标) |
CPO |
real |
圆弧的圆心,纵坐标(绝对坐标) |
RAD |
real |
圆弧半径(无符号输入) |
STA |
real |
起始角 |
INA |
real |
增量角度 |
FFD |
real |
深度加工进给速度 |
FFS |
real |
表面加工进给速度 |
MIDP |
real |
最大进刀深度(无符号输入) |
MDIR |
int |
键槽加工的铣削方向(无符号输入) 0=同向铣削 1=逆向铣削 2=顺时针铣削 3=逆时针铣削 |
FAL |
real |
键槽边缘的精加工余量(无符号输入) |
TYP |
int |
加工方式(无符号输入) 个位 值:0. 综合加工
十位 值:0. 以G0垂直
|
MIDF |
real |
精加工最大进刀深度 |
FFC |
real |
精加工进给速度 |
SSF |
real |
精加工主轴转速 |
FALD |
real |
键槽底部精加工余量 |
STA2 |
real |
摆动运动时的最大插入角 |
功能:
用于加工以圆弧排列的键槽,其纵向轴径向对齐。
图3.38 圆周槽
参数说明:
图3.39 参数图示
RTP(退回平面)
循环结束以后刀具退回的位置。
RFP(基准平面)
键槽铣削的起始平面,一般指的是毛坯上表面。
SFD(安全间隙)
为保证安全而设定的提前基准平面的一个安全距离。
DEP和DPR(键槽深度)
键槽深度可以以到基准面的绝对尺寸(DEP)规定,也可以以到基准面的相对尺寸(DPR)规定。在相对尺寸时,循环利用基准平面和退回平面的位置自己计算所产生的深度。
NUM(个数)
参数NUM说明键槽的个数
LENG和WID(键槽长度和键槽宽度)
用LENG和WID可以确定平面中一个键槽的形状。铣刀直径不能大于键槽宽度,否则会产生报警“铣刀半径太大”,并且终止循环执行。铣刀直径不允许小于半个键槽宽度。
CPA,CPO和RAD(圆心和半径)
圆弧的位置通过圆心(CPA,CPO)和半径(RAD)定义。半径仅允许正值。
STA和INA(起始角和增量角)
通过这两个参数,您可以确定圆弧上键槽的排列。STA说明循环调用时所激活的工作平面的横坐标与第一个键槽之间的夹角。参数INA说明一个键槽到下一个键槽的夹角。
如果INA=0,在循环内部自动根据键槽的数量计算增量角,这些键槽均匀的分布在圆弧上。
FFD和FFS(进给速度)
FFD是深度方向的进给速度,FFS是粗加工时的表面进给速度。
MIDP(进刀深度)
参数MIDP用来确定粗加工时最大的进刀深度,循环根据MIDP和键槽深度自动计算出进刀数量和进给深度。
MIDP=0表示按照一步进刀到凹槽深度。
MDIR(铣削方向)
参数MDIR规定键槽加工的方向。
铣削方向可以直接定义为顺时针方向(G2)或逆时针方向(G3),也可以定义为同向铣削或逆向铣削,循环自动结合主轴旋转方向确定铣削方向(顺时针或逆时针)。
同向铣削 |
逆向铣削 |
M3→G2 |
M3→G3 |
M4→G3 |
M4→G2 |
FAL(键槽边缘的精加工余量)
参数FAL用以编程键槽边缘的精加工余量。FAL不影响深度进给。如果FAL的值大于所给定的键槽宽度和所使用的铣刀直径,则FAL自动削减到最大可能的值。这种情况下,在粗加工时,在键槽长度方向上的两个端点以深度进刀进行往复铣削。
TYP,MIDF,FFC和SSF(加工方式、精加工进刀深度、进给速度和主轴转速)
参数TYP用于确定加工方式。
个位:
0=综合加工(先进行粗加工,再进行精加工)
a,在粗加工中,扩孔加工键槽直至尺寸达到精加工余量的要求。主轴转速使用的是调用循环之前编程的主轴转速,进给由参数FFS确定,进刀深度由MIDP确定。
b,在精加工中,主轴转速由SSF确定,进给由FFC确定,深度方向的进刀深度由MIDF确定。
-如果MIDF=0,则进刀立即到最终深度。
-如果没有编程FFC,则进给FFS生效。
-如果没有编程SSF,则循环调用之前编程的转速生效。
1=粗加工
-使用循环调用之前编程的转速和进给FFS对键槽进行扩孔,加工直至尺寸达到精加工余量的要求。进刀深度由MIDP确定。
2=精加工
-该循环以此为前提:键槽已经扩孔,且尺寸达到精加工余量的要求,并且还仅仅要求对精加工余量进行处理。如果没有给出FFC和SSF的值,则进给FFS和循环调用之前编程的转速生效。参数MIDF的值决定进刀深度。
十位:
0=以G00垂直进刀
1=以G01垂直进刀
2=以G01摆动进刀
垂直插入加工(TYP=0X,TYP=1X)
始终在加工平面中的同一个位置(X:RAD WID/2,Y:0)进行垂直深度进刀,直至达到键槽的最终深度。
摆动插入加工(TYP=3X)
表明铣刀中心以一条直线来回摆动,斜着插入直至到达下一个深度。最大的插入角由
STA2确定,摆动位移的长度由LENG-WID计算。
图3.40 摆动进刀图示
-如果最大进刀深度为摆动每次进给深度的偶数倍,X轴的下刀点位于靠近圆弧圆心的键槽长轴端点;
-如果最大进刀深度为摆动每次进给深度的奇数倍,X轴的下刀点位于远离圆弧圆心的键槽长轴端点。
-最大进刀深度并不是实际加工中的进刀深度,在循环内部,系统会根据RFP,DEP,MIDP,MIDF这些参数,计算出一个合理的进刀深度。
如果参数TYP编程一个其他值,则循环中断并发出报警“加工方式错误定义”。
FALD(键槽底部的精加工余量)
在粗加工时,在底部给定一个精加工余量。
STA2(插入角)
参数STA2定义最大的插入角,用于摆动加工。
编程举例:
该程序加工4个键槽,位于一个圆弧上,其分布如图3.41。
键槽有以下的尺寸:长度20mm,宽度10mm,深度20mm。安全距离1mm,精加工余量0.5mm,铣削方向为G2,深度方向最大进刀为6mm。
键槽应该完全通过摆动插入进行加工。
图3.41 编程图示
N10 G17 G90 S600 M03
N20 T10 D1
N30 M06
N40 G00 Y20 X5 Z50
N50 SLOT1(5,0,1,-20,0,4,20,10,30,40,10,45,90,100,320,6,2,0.5,20,4,400,1200,0.5,5)
N60 M30
3.11.8 环形槽铣削SLOT2
编程:
SLOT2(RTP,RFP,SFD,DEP,DPR,NUM,ASL,WID,CPA,CPO,RAD,STA,INA,FFD,FFS,MIDP,MDIR,FAL,TYP,MIDF,FFC,SSF,FFCP)
参数:
RTP |
real |
退回平面(绝对坐标) |
RFP |
real |
基准平面(绝对坐标) |
SFD |
real |
安全间隙(无符号输入) |
DEP |
real |
键槽深度(绝对坐标) |
DPR |
real |
相对于基准平面的键槽深度(无符号输入) |
NUM |
int |
键槽数量 |
ASL |
real |
环形槽角度(无符号输入) |
WID |
real |
环形槽宽度(无符号输入) |
CPA |
real |
圆弧的圆心,横坐标(绝对坐标) |
CPO |
real |
圆弧的圆心,纵坐标(绝对坐标) |
RAD |
real |
圆弧的半径(无符号输入) |
STA |
real |
起始角 |
INA |
real |
增量角度 |
FFD |
real |
深度加工进给速度 |
FFS |
real |
表面加工进给速度 |
MIDP |
real |
最大进刀深度(无符号输入) |
MDIR |
int |
环形槽加工的铣削方向 2=顺时针铣削(G2) 3=逆时针铣削(G3) |
FAL |
real |
键槽边缘的精加工余量(无符号输入) |
TYP |
int |
加工方式 个位值:0=综合加工 1=粗加工 2=精加工 十位值:0=两个槽之间过渡处以G0方式进刀 1=两个槽之间过渡处以G2/G3方式沿着键槽所 在的圆弧轨道进刀 |
MIDF |
real |
精加工最大进刀深度 |
FFC |
real |
精加工进给速度 |
SSF |
real |
精加工主轴转速 |
FFCP |
real |
中间定位进给速度,在环形轨道上,单位毫米/分钟 |
功能:
循环SLOT2用于加工环形槽,这些槽位于一个圆弧上。
图3.42 环形槽
参数说明:
参数RTP,RFP,SFD,DEP,DPR,FFD,FFS,MIDP,MDIR,FAL,TYP,MIDF,FFC,SSF参见SLOT1
NUM(个数)
参数NUM用于说明键槽个数
ASL和WID(角度和环形槽宽度)
参数ASL和WID可以确定平面中一个键槽的形状。在循环内部检查使用当前的刀具是否会损伤键槽宽,是则发出报警“铣刀半径太大”,并停止循环的执行。
CPA,CPO,和RAD(圆心和半径)
圆弧的位置通过圆心(CPA,CPO)和半径(RAD)确定。半径仅允许正值。
TYP(加工方式)
图3.44 两个槽之间的过渡进刀(加工方式十位值)
STA和INA(起始角和增量角)
通过这些参数,可以确定圆弧上环形槽的排列。
STA说明循环调用之前工件坐标系横坐标的正方向与第一个环形槽之间的夹角。参数INA包含一个环形槽到下一个环形槽之间的夹角。
如果INA=0,在循环内部用环形槽的数量自动计算出增量角,这些环形槽均匀的分布在圆弧上。
编程举例:
加工4个环形槽,它们位于一个圆弧上,圆心X30 Y40,半径17mm,在XY平面中,这些环形槽有以下尺寸:宽度6mm,槽长的角度为40度,深度9毫米。起始角度70度,增量角度90度。在键槽轮廓上考虑0.5mm的精加工余量,横向进给轴Z方向安全距离为2mm,最大深度进给4mm。这些键槽应该综合加工。在精加工时转速和进给应该相同,精加工时的进刀应该到槽深。
图3.45 编程图示
N10 G17 G90 S600 M03
N20 T10 D1
N30 M06
N40 G00 X60 Y60 Z5
N50 SLOT2(5,0,2,-9,0,4,40,6,30,40,17,70,90,100,300,4,2,0.5,0,3,0,600,0)
N60 M30
3.11.9 螺纹铣削CYCLE90
编程:
CYCLE90(RTP,RFP,SFD,DEP,DPR,DIATH,KDIAM,PIT,FFR,MDIR,TYP,CPA,CPO)
参数:
RTP |
real |
退回平面(绝对坐标) |
RFP |
real |
基准平面(绝对坐标) |
SFD |
real |
安全间隙(无符号输入) |
DEP |
real |
深度(绝对坐标) |
DPR |
real |
相对于基准平面的深度(无符号输入) |
DIATH |
real |
螺纹的外径 |
KDIAM |
real |
螺纹的内径 |
PIT |
real |
螺距: 范围值0.001…2000.000mm |
FFR |
real |
用于螺纹铣削的进给率(无符号输入) |
MDIR |
int |
螺纹铣削方向 值: 2(用于带G2的螺纹铣削) 3(用于带G3的螺纹铣削) |
TYP |
int |
螺纹类型: 值: 0=内螺纹 1=外螺纹 |
CPA |
real |
圆弧的圆心,横坐标(绝对坐标) |
CPO |
real |
圆弧的圆心,纵坐标(绝对坐标) |
功能:
使用循环CYCLE90您可以加工内螺纹和外螺纹,在螺纹铣削时轨迹基于一个螺旋线插补。在调用循环之前所确定的平面中的三个轴均参加该运动。
图3.46 螺纹铣削
参数说明:
参数RTP,RFP,SFD,DEP,DPR参见SLOT1
DIATH,KDIAM和PIT(额定直径,内部直径和螺距)
使用这些参数,您可以确定螺纹参数:额定直径,螺纹根直径和螺距。参数DIATH为螺纹的外径,KDIAM为螺纹的内径。根据这些参数在循环内部形成内进和外伸运动。
FFR(进给)
参数FFR的数值规定了螺纹铣削时的进给率,在螺旋插补中生效。在循环中,该值在内进和外伸运动时减少。
MDIR(旋转方向)
在此参数下您可以规定螺纹加工方向的值。如果该参数有一个不允许的值,则显示信息“铣削方向错误,产生G3”。在这种情况下继续执行该循环,并自动产生G3。
TYP(螺纹类型)
使用该参数TYP您可以确定进行外螺纹或者内螺纹的加工。
CPO和CPA(中心点)
在这些参数下,您可以确定进行螺纹加工的中心点。
编程举例:
使用该程序您可以在G17平面位置X30 Y50处铣削一个内螺纹。
图3.48 编程图示
N10 T5 M06
N20 G90 G00 G17 X0 Y0 Z80 S200 M03
N30 CYCLE90(10,0,5,-20,0,36,32.5,2,500,2,0,30,50)
N40 G00 Z100
N50 M02
3.11.10 中心钻钻削CYCLE81
编程:CYCLE81(RTP,RFP,SFD,DEP,RDP)
参数:
RTP |
Real |
退回平面(绝对坐标) |
RFP |
Real |
基准平面(绝对坐标) |
SFD |
Real |
安全间隙(无符号输入) |
DEP |
Real |
最后钻孔深度(绝对坐标) |
RDP |
Real |
相对于基准平面的最后钻孔深度(无符号输入) |
图3.49 CYCLE81图例
参数说明:
- RFP和RTP(基准平面和退回平面):一般情况下,基准平面(RFP)和退回平面(RTP)具有不同的值。循环中一般是退回平面位于基准平面之前。退回平面与最后钻孔深度之间的距离也大于基准平面到最后钻孔深度的距离。
- SFD(安全间隙):安全间隙(SFD)以基准平面为基准,提前基准平面一个安全距离。安全间隙生效的方向由循环自动确定。
- DEP和RDP(最后钻孔深度):最后钻孔深度可以定义成相对于基准平面的绝对深度或相对深度。如果是相对深度,循环会利用基准平面和退回平面的位置自动计算绝对深度。
功能:刀具以编程的主轴转速和进给速度钻削,直至到达输入的最后钻孔深度。
操作顺序:
- 使用G0到达基准平面之前的安全间隙处。
- 按循环调用前所编程的进给率(G1)移动到最后的钻孔深度。
- 使用G0返回到退回平面。
编程实例:
使用CYCLE81钻孔。
N10 G90 G17 G54 S400 M03 |
参数定义 |
N20 G00 X20 Y20 |
移动至钻孔位置 |
N30 G94 F80 |
给定进给量 |
N40 CYCLE81(5,0,3,-10,10) |
循环调用 |
N50 G00 Z50 |
退至安全位置 |
N60 M02 |
程序结束 |
3.11.11 锪平面钻削CYCL82
编程:CYCLE82(RTP,RFP,SFD,DEP,RDP,DTB)
参数:
RTP |
Real |
退回平面(绝对坐标) |
RFP |
Real |
基准平面(绝对坐标) |
SFD |
Real |
安全间隙(无符号输入) |
DEP |
Real |
最后钻孔深度(绝对坐标) |
RDP |
Real |
相对于基准平面的最后钻孔深度(无符号输入) |
DTB |
Real |
在最后钻孔深度处的停顿时间(断屑),单位秒 |
图3.50 CYCLE82图例
参数说明:
- RTP、RFP、SFD、DEP、RDP见CYCLE81。
- DTB(停顿时间):DTB下编程了到达最后钻孔深度时的停顿时间,单位为秒。
- 功能:刀具以编程的主轴转速和进给速度钻削,直至到达所输入的最后钻孔深度。到达最后钻孔深度后,停顿规定时间,然后快速运动到退回平面。
操作顺序:
- 使用G0到达基准平面之前的安全间隙处。
- 按循环调用前所编程的进给率(G1)移动到最后的钻孔深度。
- 执行在最后钻孔深度处的停顿时间
- 使用G0返回到退回平面。
编程实例:
使用CYCLE82锪平面钻削。
N10 G90 G17 G54 S400 M03 |
参数定义 |
N20 G00 X20 Y20 |
移动至钻孔位置 |
N30 G94 F80 |
给定进给量 |
N40 CYCLE82(10,0,3,-10,10,1) |
循环调用 |
N50 G00 Z50 |
返回安全位置 |
N60 M02 |
程序结束 |
3.11.12 深孔钻削CYCLE83
编程:CYCLE83(RTP,RFP,SFD,DEP,RDP,FDEP,FRDP,DAM,DTB,DTS,FRF,TYP)
参数:
RTP |
Real |
退回平面(绝对坐标) |
RFP |
Real |
基准平面(绝对坐标) |
SFD |
Real |
安全间隙(无符号输入) |
DEP |
Real |
最后钻孔深度(绝对坐标) |
RDP |
Real |
相对于基准平面的最后钻孔深度(无符号输入) |
FDEP |
Real |
起始钻孔深度(绝对坐标) |
FRDP |
Real |
相对于基准平面的起始钻孔深度(无符号输入) |
DAM |
Real |
递减量(无符号输入) |
DTB |
Real |
最后钻孔深度处的停顿时间(断屑) |
DTS |
Real |
起始点处和用于排屑的停顿时间 |
FRF |
Real |
起始钻孔深度时的进给系数(无符号输入),取值范围:0.001~1 |
TYP |
Int |
加工类型:断屑=0,排屑=1 |
功能:刀具以编程的主轴转速和进给速度开始钻孔,直至定义的最后钻孔深度。深孔钻削通过多次执行最大可定义的深度,并逐步增加直至到达最后钻孔深度来实现。钻头可以在每次进给深度完成以后退回到“基准平面 安全间隙”位置用于排屑,或者每次退回1mm用于断屑。
操作顺序:
排屑(TYP=1):
- 使用G0到达基准平面之前的安全间隙处。
- 使用G1按循环调用前所编程的进给速度乘以进给系数FRF移动到起始钻孔深度。
- 在起始钻孔深度处停顿指定的时间(参数DTB)。
- 使用G0返回到基准平面之前的安全间隙处,用于排屑。
- 起始点处停顿指定的时间(参数DTS)。
- 使用G0回到上次到达的钻孔深度,并保持预留量距离。
- 使用G1钻到下一个钻孔深度(持续动作顺序直至到达最后钻孔深度)。
- 使用G0返回到退回平面。
图3.51 CYCLE83图例(TYP=1)
断屑(TYP=0):
- 使用G0到达基准平面之前的安全间隙处。
- 使用G1按循环调用前所编程的进给速度乘以进给系数FRF移动到起始钻孔深度。
- 在起始钻孔深度处停顿指定的时间(参数DTB)。
- 使用G1按循环调用前所编程的进给速度从当前钻孔深度后退1mm,用于断屑。
- 使用G1钻到下一个钻孔深度(持续动作顺序直至到达最后钻孔深度)。
- 使用G0返回到退回平面。
图3.52 CYCLE83图例(TYP=0)
参数说明:
- 参数RTP、RFP、SFD、DEP、RDP见CYCLE81。
- 参数DEP(或RDP)、FDEP(或FRDP)和DAM:每次的钻孔深度是以最后钻孔深度、起始钻孔深度和递减量为基础,在循环中按如下方法计算出来的:
- 首先进行第一次钻削,其深度由起始钻孔深度FDEP(或FRDP)所定义,前提是该深度不超出总的钻孔深度。
- 从第二次开始,钻削的行程由上一次钻削行程减去递减量DAM得到。
- 如果下一次钻削的行程将小于等于递减量DAM,那么以后的钻削行程就等于递减量。
- 在剩余的深度小于等于两倍的递减量时,最终将平分为两次相等的钻削行程,所以这两次钻削行程始终大于一半的递减量
- DTB(孔底停顿时间):DTB下编程了到达最后钻孔深度时的停顿时间,单位为秒。
- DTS(中间停顿时间):起始点的停顿时间,只在TYP=1(排屑)时执行。
- FRF(进给系数):作用于进给速度的一个缩减系数,只适用于循环中的首次钻孔深度。
- TYP(加工类型):如果参数TYP=0,钻头在每次到达钻孔深度后退回1mm用于断屑。如果TYP=1,钻头每次移动到基准平面之前的安全间隙处。
编程实例:
使用CYCLE83深孔钻削。
N10 G90 G17 G54 S400 M03 |
参数定义 |
N20 G00 X20 Y20 |
移动至钻孔位置 |
N30 G94 F80 |
给定进给量 |
N40 CYCLE83(10,0,3,-20,20,-5,5,5,1,1,1,0) |
循环调用 |
N50 G00 Z50 |
返回安全位置 |
N60 M02 |
程序结束 |
3.11.13 刚性攻丝CYCLE84
编程:CYCLE84(RTP,RFP,SFD,DEP,RDP,DTB,SDAC,MPIT,PIT,POSS,SST, SSR)
参数:
RTP |
Real |
退回平面(绝对坐标) |
RFP |
Real |
基准平面(绝对坐标) |
SFD |
Real |
安全间隙(无符号输入) |
DEP |
Real |
最后攻丝深度(绝对坐标) |
RDP |
Real |
相对于基准平面的最后攻丝深度(无符号输入) |
DTB |
Real |
螺纹深度处的停顿时间(断屑) |
SDAC |
Int |
循环结束后的旋转方向。 数值范围:3、4或5(分别对应于M3、M4或M5) |
MPIT |
Real |
螺距由螺纹尺寸决定(带符号输入)。 数值范围:2~60(对应于M2~M60) |
PIT |
Real |
螺距由数值决定(带符号输入)。 数值范围:0.001~2000.000mm;符号决定了螺纹旋转方向。 |
POSS |
Real |
攻丝时主轴定位的角度(以度为单位) |
SST |
Real |
主轴攻丝转速:攻丝进给时的主轴转速 |
SSR |
Real |
攻丝回退转速:攻丝回退时的主轴转速 |
图3.53 CYCLE84图例
功能:刀具以编程的主轴转速和进给速度进行攻丝直至最终螺纹深度。
注意
只有可以进行位置控制的主轴才可以使用CYCLE84。
操作顺序:
- 使用G0到达基准平面之前的安全间隙处。
- 定位主轴停止(值在参数POSS中)。
- 攻丝至最终钻孔深度,主轴转速为SST。
- 螺纹深度处的停顿时间(参数DTB)。
- 退回到基准平面之前的安全间隙处,主轴转速为SSR。
- 使用G0返回到退回平面,通过在循环调用前重新编程有效的主轴速度以及SDAC下编程的旋转方向,从而改变主轴模式。
参数说明:
- RTP、RFP、SFD、DEP、RDP参见CYCLE81。
- DTB(停顿时间):停顿时间以秒编程。钻螺纹孔时,建议忽略停顿时间。
- SDAC(循环结束后的旋转方向):在SDAC下编程了循环结束后的旋转方向。
- MPIT和PIT(作为螺纹螺距的值):可以将螺纹螺距的值定义为螺纹尺寸(公称螺纹只在M2和M60之间)或一个螺距数值(螺纹之间的距离数值)。不需要的参数在调用中省略或赋值为零。如果两个螺距参数有冲突,循环会产生报警并终止循环。这两个值的符号由螺纹的旋向决定。
- POSS(起始角度):攻丝前,将主轴停止在POSS定义的位置,并转换成位置控制模式。
- SST(攻丝转速):参数SST包含了攻丝进给时的主轴转速。
- SSR(攻丝回退转速):参数SSR包含了攻丝回退时的主轴转速。
注意
循环中攻丝时的旋转方向始终自动反向。
编程实例:
使用CYCLE84刚性攻丝,被加工螺纹为M6。
N10 G90 G17 G54 S400 M03 |
参数定义 |
N20 G00 X20 Y20 |
移动至加工位置 |
N30 CYCLE84(10, 0, 3, -20, 20, 1, 3, 6, 0, 0, 200, 300) |
循环调用 |
N40 G00 Z50 |
返回安全位置 |
N50 M02 |
程序结束 |
3.11.14 啄式攻丝CYCLE841
编程:CYCLE841(RTP,RFP,SFD,DEP,RDP,FDEP,FRDP,DAM,DTB,DTS,TYP,SDAC,MPIT,PIT,POSS,SST,SSR)
参数:
RTP |
Real |
退回平面(绝对坐标) |
RFP |
Real |
基准平面(绝对坐标) |
SFD |
Real |
安全间隙(无符号输入) |
DEP |
Real |
最后攻丝深度(绝对坐标) |
RDP |
Real |
相对于基准平面的最后攻丝深度(无符号输入) |
FDEP |
Real |
起始坐标(绝对坐标) |
FRDP |
Real |
起始深度(无符号输入) |
DAM |
Real |
攻丝递减深度(无符号输入) |
DTB |
Real |
螺纹深度处的停顿时间(断屑) |
DTS |
Real |
起始点处用于排屑的停顿时间 |
TYP |
Real |
加工类型。数值范围:0、1 |
SDAC |
Int |
循环结束后的旋转方向。 数值范围:3、4或5(分别对应于M3、M4或M5) |
MPIT |
Real |
螺距由螺纹尺寸决定(带符号输入)。 数值范围:2~60(对应于M2~M60) |
PIT |
Real |
螺距由数值决定(带符号输入)。 数值范围:0.001~2000.000mm;符号决定了螺纹旋转方向。 |
POSS |
Real |
攻丝时主轴定位的角度(以度为单位) |
SST |
Real |
主轴攻丝转速:攻丝进给时的主轴转速 |
SSR |
Real |
攻丝回退转速:攻丝回退时的主轴转速 |
功能:刀具以给定的主轴转速开始攻丝,直至定义的最后攻丝深度。啄式攻丝通过多次执行最大可定义的深度,并逐步增加直至到达最后攻丝深度来实现。可以在每次进给深度完成以后退回到“基准平面 安全间隙”位置用于排屑,或者每次退回1mm用于断屑。
操作顺序:
排屑(TYP=1):
- 使用G0到达基准平面之前的安全间隙处。
- 定位主轴停止(值在参数POSS中)。
- 攻丝至起始攻丝深度,主轴转速为SST。
- 在起始攻丝深度处停顿指定的时间(参数DTB)。
- 回退到基准平面之前的安全间隙处,用于排屑。
- 起始点处停顿指定的时间(参数DTS)。
- 回到上次到达的攻丝深度,并保持预留距离。
- 攻丝到下一个攻丝深度(比上一个深度递减参数DAM,持续动作顺序直至到达最后攻丝深度)。
- 回退到退回平面。
图3.54 CYCLE841图例(TYP=1)
断屑(TYP=0):
- 使用G0到达基准平面之前的安全间隙处。
- 定位主轴停止(值在参数POSS中)。
- 攻丝至起始攻丝深度,主轴转速为SST。
- 在起始攻丝深度处停顿指定的时间(参数DTB)。
- 后退1mm,用于断屑。
- 攻丝到下一个攻丝深度(持续动作顺序直到最后钻孔深度)。
- 回退到退回平面。
图3.55 CYCLE841图例(TYP=0)
参数说明:
- 参数RTP、RFP、SFD、DEP、RDP、DTB、SDAC、MPIT、PIT、POSS、SST、SSR参见CYCLE84
- 参数FDEP(或FDRP)和DAM:每次的攻丝的深度是以最后攻丝深度、起始攻丝深度和递减量为基础,在循环中按如下方法计算出来的:
- 首先进行第一次攻丝,其深度由起始钻孔深度FDEP(或FRDP)所定义,前提是该深度不超出总的钻孔深度。
- 从第二次开始,攻丝的行程由上一次攻丝行程减去递减量DAM得到。
- 如果下一次攻丝的行程将小于等于递减量DAM,那么以后的攻丝行程就等于递减量。
- 在剩余的深度小于等于两倍的递减量时,最终将平分为两次相等的攻丝行程,所以这两次攻丝行程始终大于一半的递减量。
编程实例:
使用CYCLE841啄式攻丝,被加工螺纹为M6。
N10 G90 G17 G54 S400 M03 |
参数定义 |
N20 G00 X20 Y20 |
移动至加工位置 |
N30 CYCLE841(10, 0, 3, -20, 20, -10,10,2,1,1,0, 3, 6, 0, 0, 200, 300) |
循环调用 |
N40 G00 Z50 |
返回安全位置 |
N50 M02 |
程序结束 |
3.11.15 铰孔1(镗孔1)CYCLE85
编程:CYCLE85(RTP,RFP,SFD,DEP,RDP,DTB,FFW,FBW)
参数:
RTP |
Real |
退回平面(绝对坐标) |
RFP |
Real |
基准平面(绝对坐标) |
SFD |
Real |
安全间隙(无符号输入) |
DEP |
Real |
最后钻孔深度(绝对坐标) |
RDP |
Real |
相对于基准平面的最后钻孔深度(无符号输入) |
DTB |
Real |
最后钻孔深度处的停顿时间(断屑) |
FFW |
Real |
进给率 |
FBW |
Real |
退回进给率 |
图3.56 CYCLE85图例
功能:刀具以编程的主轴转速和进给速度钻孔直至到达定义的最后钻孔深度。向内向外移动的进给速度分别是参数FFW和FBW的值。
操作顺序:
- 使用G0到达基准平面之前的安全间隙处。
- 使用G1并且按参数FFW所编程的进给速度移动到最终钻孔深度。
- 最后钻孔深度处的停顿时间。
- 使用G1并且按参数FBW所编程的进给速度返回到基准平面之前的安全间隙处。
- 使用G0返回到退回平面。
参数说明:
- 对于参数RTP、RFP、SFD、DEP、RDP,参见CYCLE81。
- DTB(停顿时间):DTB以秒为单位编程了到达最后钻孔深度时的停顿时间。
- FFW(进给率):钻孔时的进给率。
- FBW(退回进给率):退回时的进给率。
编程实例:
使用CYCLE85铰孔。
N10 G90 G17 G54 G94 S400 M03 |
参数定义 |
N20 G00 X20 Y20 |
移动至铰孔位置 |
N30 CYCLE85(10,0,3,-20,20,1,200,300) |
循环调用 |
N40 G00 Z50 |
返回安全位置 |
N50 M02 |
程序结束 |
3.11.16 镗孔(镗孔2)CYCLE86
编程:CYCLE86(RTP,RFP,SFD,DEP,RDP,DTB,SDIR,RPFA,RPSA,RPTA,POSS)
参数:
RTP |
Real |
退回平面(绝对坐标) |
RFP |
Real |
基准平面(绝对坐标) |
SFD |
Real |
安全间隙(无符号输入) |
DEP |
Real |
最后钻孔深度(绝对坐标) |
RDP |
Real |
相对于基准平面的最后钻孔深度(无符号输入) |
DTB |
Real |
最后钻孔深度处的停顿时间(断屑) |
SDIR |
Int |
旋转方向值:3(对应于M3)、4(对应于M4) |
RPFA |
Real |
平面中第一轴(X轴)上的返回路径(增量,带符号输入) |
RPSA |
Real |
平面中第二轴(Y轴)上的返回路径(增量,带符号输入) |
RPTA |
Real |
镗孔轴(Z轴)上的返回路径(增量,带符号输入) |
POSS |
Real |
循环中定位主轴停止的位置(以度为单位) |
图3.57 CYCLE86图例
功能:此循环可以用来使用镗刀进行镗孔。刀具按照编程的主轴转速和进给速度进行钻孔,直至到达最后钻孔深度。使用镗孔2时,一旦到达钻孔深度,便激活了定位主轴停止功能。然后,主轴从编程的返回位置快速回到退回平面。
操作顺序:
- 使用G0到达基准平面之前的安全间隙处。
- 使用G1按循环调用前编程的进给速度移动到最终钻孔深度处。
- 最后钻孔深度处的停顿时间。
- 定位主轴停止在POSS下编程的位置。
- 使用G0在三个轴方向上返回。
- 使用G0在镗孔轴方向返回到基准平面之前的安全间隙处。
- 使用G0返回到退回平面。
参数说明:
- 对于参数RTP、RFP、SFD、DEP、RDP,参见CYCLE81。
- DTB(停顿时间):DTB以秒为单位编程了到达最后钻孔深度时的停顿时间。
- SDIR(旋转方向):使用此参数定义循环中进行镗孔时的旋转方向。如果参数的值不是3或4(M03/M04),则产生报警且不执行循环。
- RPFA(第一轴上的返回路径):使用此参数定义在第一轴上(横坐标)的返回路径,当到达最后钻孔深度并执行了定位主轴停止功能后执行此返回路径。
- RPSA(第二轴上的返回路径):使用此参数定义在第二轴上(纵坐标)的返回路径,当到达最后钻孔深度并执行了定位主轴停止功能后执行此返回路径。
- RPTA(镗孔轴上的返回路径):使用此参数定义在镗孔轴上的返回路径,当到达最后钻孔深度并执行了定位主轴停止功能后执行此返回路径。
- POSS(主轴位置):使用POSS编程定位主轴停止的位置,单位为度,该功能在到达最后钻孔深度后执行。
注意
只有主轴在技术上能够进行位置控制,才可以使用CYCLE86。
编程实例:
使用CYCLE86镗孔。
N10 G90 G17 G54 S400 M03 |
参数定义 |
N20 G00 X20 Y20 |
移动至镗孔位置 |
N30 G94 F200 |
给定进给量 |
N40 CYCLE86(10,0,3,-20,20,1,3,-1,0,1,0) |
循环调用 |
N50 G00 Z50 |
返回安全位置 |
N60 M02 |
程序结束 |
3.11.17 反镗孔 CYCLE861
编程:CYCLE861(RTP,RFP,SFD,DEP,RDP,DTB,SDIR,RPFA,RPSA,RPTA,POSS)
参数:
RTP |
Real |
退回平面(绝对坐标) |
RFP |
Real |
基准平面(绝对坐标) |
SFD |
Real |
安全间隙(无符号输入) |
DEP |
Real |
最后钻孔深度(绝对坐标) |
RDP |
Real |
相对于基准平面的最后钻孔深度(无符号输入) |
DTB |
Real |
最后钻孔深度处的停顿时间(断屑) |
SDIR |
Int |
旋转方向值:3(对应于M3)、4(对应于M4) |
RPFA |
Real |
平面中第一轴(X轴)上的返回路径(增量,带符号输入) |
RPSA |
Real |
平面中第二轴(Y轴)上的返回路径(增量,带符号输入) |
RPTA |
Real |
镗孔轴(Z轴)上的返回路径(增量,带符号输入) |
POSS |
Real |
循环中定位主轴停止的位置(以度为单位) |
图3.58 CYCLE861图例
功能:此循环可以用来使用镗刀进行镗孔,至下而上的加工方式,可实现上小下大的台阶孔的加工,刀具按照编程的主轴转速和进给速度到达孔底,然后反镗孔至基准平面。
操作顺序:
- 主轴定位停止在POSS下编程的位置,再使用G0在两个轴方向上进行偏移。
- 使用G0快速到达最后孔深处的安全间隙平面。
- 使用G0在两个轴方向上移动到镗孔位置。
- 使用G1按循环调用前编程的进给速度反镗孔至定义深处。
- 主轴定位停止在POSS下编程的位置后使用G0在三个轴方向上返回。
- 使用G0返回到退回平面。
参数说明:
- 参数RTP、SFD、RDP、DTB、SDIR、RPFA、RPSA、RPTA、POSS参见CYCLE86。
- RFP(基准平面):与CYCLE86不同,此处基准平面定义为开始反镗孔的位置。
- DEP(孔底坐标):与CYCLE86不同,此时用于定义反镗孔结束的位置坐标。
注意
只有主轴在技术上能够进行位置控制,才可以使用CYCLE861。
编程实例:
使用CYCLE861镗孔。
N10 G90 G17 G54 S400 M03 |
参数定义 |
N20 G00 X20 Y20 |
移动至镗孔位置 |
N30 G94 F200 |
给定进给量 |
N40 CYCLE861(10,-20,3,0,20,1,3,-1,0,1,0) |
循环调用 |
N50 G00 Z50 |
返回安全位置 |
N60 M02 |
程序结束 |
3.11.18 停止1钻孔(镗孔3)CYCLE87
编程:CYCLE87(RTP,RFP,SFD,DEP,RDP,SDIR)
参数:
RTP |
Real |
退回平面(绝对坐标) |
RFP |
Real |
基准平面(绝对坐标) |
SFD |
Real |
安全间隙 (无符号输入) |
DEP |
Real |
最后钻孔深度(绝对坐标) |
RDP |
Real |
相对于基准平面的最后钻孔深度(无符号输入) |
SDIR |
Int |
旋转方向值:3(对应于M3)、4(对应于M4) |
图3.59 CYCLE87图例
功能:刀具按照编程的主轴转速和进给速度进行钻孔,直至到达最后钻孔深度。使用镗孔3时,一旦到达钻孔深度,便激活了主轴停止M5和程序停止M0。按“循环启动”键继续快速返回到退回平面。
操作顺序:
- 使用G0到达基准平面之前的安全间隙处。
- 使用G1按循环调用前编程的进给速度移动到最终钻孔深度处。
- M5主轴停止,M0程序停止。
- 按“循环启动”键。
- 使用G0返回到退回平面。
参数说明:
- 对于参数RTP、RFP、SFD、DEP、RDP,参见CYCLE81。
- SDIR(旋转方向):使用此参数定义循环中进行镗孔时的旋转方向。如果参数的值不是3或4(M03/M04),则产生报警且不执行循环。
编程实例:
使用CYCLE87停止1钻孔。
N10 G90 G17 G54 S400 M03 |
参数定义 |
N20 G00 X20 Y20 |
移动至钻孔位置 |
N30 G94 F100 |
给定进给量 |
N40 CYCLE87(10,0,3,-20,20,3) |
循环调用 |
N50 G00 Z50 |
返回安全位置 |
N60 M02 |
程序结束 |
3.11.19 停止2钻孔(镗孔4)CYCLE88
编程:CYCLE88(RTP,RFP,SFD,DEP,RDP,DTB,SDIR)
参数:
RTP |
Real |
退回平面(绝对坐标) |
RFP |
Real |
基准平面(绝对坐标) |
SFD |
Real |
安全间隙(无符号输入) |
DEP |
Real |
最后钻孔深度(绝对坐标) |
RDP |
Real |
相对于基准平面的最后钻孔深度(无符号输入) |
DTB |
Real |
最后钻孔深度处的停顿时间(断屑) |
SDIR |
Int |
旋转方向值:3(对应于M3)、4(对应于M4) |
图3.60 CYCLE88图例
功能:刀具按编程的主轴转速和进给速度钻孔直至到达定义的最后钻孔深度。在镗孔过程中,到达最后钻孔深度时会产生停顿时间,然后执行主轴停止M5和程序停止M0。按“循环启动”键继续快速返回到退回平面。
操作顺序:
- 使用G0到达基准平面之前的安全间隙处。
- 使用G1按循环调用前编程的进给速度移动到最终钻孔深度处。
- 最后钻孔深度处的停顿时间。
- M5主轴停止,M0程序停止。
- 按“循环启动”键。
- 使用G0返回到退回平面。
参数说明:
- 对于参数RTP、RFP、SFD、DEP、RDP,参见CYCLE81。
- DTB(停顿时间):DTB以秒为单位编程了到达最后钻孔深度时的停顿时间。
- SDIR(旋转方向):使用此参数定义循环中进行镗孔时的旋转方向。如果参数的值不是3或4(M03/M04),则产生报警且不执行循环。
编程实例:
使用CYCLE88停止2钻孔,停顿时间为一秒。
N10 G90 G17 G54 S400 M03 |
参数定义 |
N20 G00 X20 Y20 |
移动至钻孔位置 |
N30 G94 F100 |
给定进给量 |
N40 CYCLE88(10,0,3,-20,20,1,3) |
循环调用 |
N50 G00 Z50 |
返回安全位置 |
N60 M02 |
程序结束 |
3.11.20 铰孔2(镗孔5)CYCLE89
编程:CYCLE89(RTP,RFP,SFD,DEP,RDP,DTB)
参数:
RTP |
Real |
退回平面(绝对坐标) |
RFP |
Real |
基准平面(绝对坐标) |
SFD |
Real |
安全间隙(无符号输入) |
DEP |
Real |
最后钻孔深度(绝对坐标) |
RDP |
Real |
相对于基准平面的最后钻孔深度(无符号输入) |
DTB |
Real |
最后钻孔深度处的停顿时间(断屑) |
图3.61 CYCLE89图例
功能:刀具按编程的主轴转速和进给速度钻孔直至到达定义的最后钻孔深度。到达最后钻孔深度时会停顿一定时间。
操作顺序:
- 使用G0到达基准平面之前的安全间隙处。
- 使用G1按循环调用前编程的进给速度移动到最终钻孔深度处。
- 最后钻孔深度处的停顿时间。
- 使用G1按相同的进给速度返回到基准平面之前的安全间隙处。
- 使用G0返回到退回平面。
参数说明:
- 对于参数RTP、RFP、SFD、DEP、RDP,参见CYCLE81。
- DTB(停顿时间):DTB以秒为单位编程了到达最后钻孔深度时的停顿时间。
编程实例:
使用CYCLE89铰孔,停顿时间为一秒。
N10 G90 G17 G54 S400 M03 |
参数定义 |
N20 G00 X20 Y20 |
移动至加工位置 |
N30 G94 F100 |
给定进给量 |
N40 CYCLE89(10,0,3,-20,20,1) |
循环调用 |
N50 G00 Z50 |
返回安全位置 |
N60 M02 |
程序结束 |
3.11.21 栅格孔HOLES1
编程:HOLES1(SPA,SPO,STA,DBL,DBW,LNUM,WNUM)
参数:
SPA |
Real |
基准孔的圆心横坐标 |
SPO |
Real |
基准孔的圆心纵坐标 |
STA |
Real |
起始角 |
DBL |
Real |
列间距(无符号输入) |
DBW |
Real |
行间距(无符号输入) |
LNUM |
Int |
列数 |
WNUM |
Int |
行数 |
图3.62 HOLES1图例
功能:事先指定一个钻削模式(如:深孔钻削CYCLE83,中心钻钻削CYCLE81),后根据基准孔的横、纵坐标确定起始加工位置,刀具按循环中定义的列数与行数钻削出一定排列与数量的孔或螺纹。
操作顺序:
- 在循环指定的基准孔位置完成一次钻削循环(由参数SPA、SPO决定)。
- 接着按照循环定义的数量、角度与间距,钻削第一排孔(由参数LNUM、STA、DBL决定)。
- 移动给定的行距,钻削下一排孔,以此类推,直至所有的孔都钻削结束。
参数说明:
- SPA(横坐标):基准孔的圆心横坐标,带符号。
- SPO(纵坐标):基准孔的圆心纵坐标,带符号。
- STA(夹角):每一行圆心所在直线与X轴正方向的夹角。
- DBL(列间距):每列孔与相邻列对应孔的圆心距。
- DBW(行间距):每行孔与相邻行对应孔的圆心距。
- LNUM(列数):每行孔的数量,取值为正整数。
- WNUM(行数):每列孔的数量,取值为正整数。
编程实例:
使用HOLES1循环钻孔3行5列。
N10 G90 G17 G54 S400 M03 |
参数定义 |
N20 G94 F100 |
给定进给量 |
N30 MCALL CYCLE81(10, 0, 3, -20, 0) |
指定中心钻循环参数 |
N40 HOLES1(10,20,0,10,12,5,3) |
循环调用 |
N50 MCALL |
结束循环调用 |
N60 G00 Z20 |
返回安全位置 |
N70 M02 |
程序结束 |
3.11.22 圆弧孔HOLES2
编程:HOLES2(CPA,CPO,RAD,STA,INA,NUM)
参数:
CPA |
Real |
孔所在圆弧的圆心横坐标 |
CPO |
Real |
孔所在圆弧的圆心纵坐标 |
RAD |
Real |
孔所在圆弧的半径(无符号输入) |
STA |
Real |
起始角 |
INA |
Real |
增量角度 |
NUM |
Int |
钻孔个数 |
图3.63 HOLES2图例
功能:事先指定一个钻削模式(如:深孔钻削CYCLE83,中心钻钻削CYCLE81),再按循环中定义的横坐标、纵坐标与半径确定一个圆弧、刀具根据起始角度和增量角度来钻削出一定间距与数量的孔。
操作顺序:
- 由横坐标、纵坐标和半径定义了一个圆弧,再根据起始角度按定义的钻削模式钻出第一个孔。
- 接着根据循环中给定的增量角度与钻孔个数将剩下的孔钻出。
参数说明:
- CPA(圆心横坐标):孔所在圆弧的圆心横坐标,带符号。
- CPO(圆心纵坐标):孔所在圆弧的圆心纵坐标,带符号。
- RAD(半径):孔所在圆弧的半径。
- STA(起始角度):第一个孔的圆心与圆弧的圆心之间的连线与横坐标的夹角,沿顺时针方向为负,逆时针方向为正。
- INA(增量角度):在圆心所在圆弧上,一个孔圆心相对其上一个孔圆心的角度变化,沿圆弧顺时针方向为负,逆时针方向为正。
- NUM(钻孔个数):这个参数用来定义钻孔的数量,为正整数,且数值小于等于360/增量角度INA。
编程实例:
使用HOLES2循环,在20mm的圆弧上,间隔45°钻孔5个。
N10 G90 G17 G54 S400 M03 |
参数定义 |
N20 G94 F100 |
给定进给量 |
N30 MCALL CYCLE81(10, 0, 3, -20, 0) |
指定中心钻循环参数 |
N40 HOLES2(10,20,20,0,45,5) |
循环调用 |
N50 MCALL |
结束循环调用 |
N60 G00 Z20 |
返回安全位置 |
N70 M02 |
程序结束 |
3.12 进给功能
3.12.1 进给率定义
进给率F是刀具沿着编程的工件轮廓进行加工时的轨迹速度。进给率F在G01,G02,G03,CIP,CT,CIPD,POLY,样条等插补方式中生效,并且一直有效,直到编程了一个新的F值。
指令格式:
F… ;F是参与运行的线性轴的进给速度,后面的数值单位由G94/G95决定
说明:
- 通过地址F设定进给率。
- NC程序段中编程的进给率F值,通过G指令G94/G95确定进给率的单位,系统默认G94状态,为模态有效指令。
- 进给率F由参与插补运行所有线性轴的速度分量组成,F直到编程新的进给值之前一直有效。
- 进给率F是一个合成速度,它是编程的所有线性轴的速度合成,。
举例:
N10 G00 X0
N30 G94 G01 X50 Y50 F100 ;进给率=100毫米/分钟
N100 G01 X20 Y30 ;进给率F指线性轴进给率,单位:毫米/分钟
3.12.2 线性进给率(G94)
功能:
G94线性进给率,模态有效。单位:毫米/分钟。G94用于定义进给速度的单位,也就是说,如果没有编程进给速度的单位,那么默认单位就为毫米/分钟。
指令格式:
G94 ;线性进给率
举例:
N10 G94 F100 ;线性进给率,进给率为:100毫米/分钟
3.12.3 旋转进给率(G95)
功能:
G95旋转进给率,模态有效。单位:毫米/转(公制系统下)。G95用于定义旋转进给率。
指令格式:
G95 ;旋转进给率
举例:
N10 G95 F1.5 ;旋转进给率,进给率为:1.5毫米/转
3.13 主轴功能
设定主轴转速和旋转方向可使主轴发生旋转,它是切削加工的前提条件。
3.13.1 主轴旋转(S,M03/M04/M05)
指令格式:
M03 ;主轴正转
M04 ;主轴反转
M05 ;主轴停止
S… ;主轴转速,单位:转/分钟
说明:
- M03/M04:在带有轴运动程序段中,在开始轴运动之前执行M03/M04。
- M05:在带有轴运动程序段中,轴运行结束后执行M05。
举例:
N10 G01 F500 X70 Y20 S270 M03 ;主轴转速加速到270转/分钟,然后X和Y方向运动
N20 G00 Z150 M05 ;Z轴回退后主轴停止。
主轴转速S:用于定义主轴转速。
3.13.2 主轴定位(SPOS,M19)
使用SPOS或M19可以将主轴定位在特定的角度,例如换刀位置。
指令格式:
SPOS=... ;将主轴定位到设定的角度,只有当到达位置时才会执行下一个NC程序段。单位:度
M19 SP=... ;使主轴定位,只有到达位置时才会执行下一个NC程序段,单位:度。
说明:
- 编程SPOS或M19时主轴切换到位置控制运行状态。
- SPOS:使用SPOS时,只有达到设定的位置时,才会切换到下一个NC程序段。
- 主轴位置:主轴位置以度来表示。可以用G90/G91指令。
- 失效:SPOS或M19可使主轴暂时切换至位置控制方式,可以使用M03/M04/M05使主轴切换到旋转模式。
- 使用M19时若没有编程主轴定位角度,定位位置由系统内部参数决定。
举例:
N10 M03 S500
…
N100 SPOS=0 ;位置控制有效,主轴定位在0度
3.13.3 高速C轴
功能:用于五轴机器加工车床回转工件,将C轴模拟为主轴进行实现。
指令格式:
M80 SC=500 ; 表示旋转轴c(或a或b)以正传500r/min的速度旋转;如果sc=-500,则以反转500r/min的速度旋转;
M81 SC=1 ; 取消旋转轴旋转功能。
注意:
1、旋转轴c(或a或b)支持倍率功能;
2、复位或程序结束后,取消此功能。
3、区分abc不同主轴,由SA/SB/SC来区分。
3.14 微段压缩(COMPON,COMPOF)
功能:
在机床加工时,若直接对小线段形成的折线轨迹用G01命令按照直线插补,会存在如下问题:CAM生成的小线段中存在非常小的线段,这些长度过小的线段不会提高工件表面精度,反而造成了工件表面的“毛刺”现象;大量小线段仅是逼近原始工件表面的曲面,并无法准确描述原始曲面信息,对小线段按照直线插补会使得在曲率较大的工件表面出现明显折痕现象;大量小线段加工会造成电机频繁的加减速,严重影响工件表面的加工质量和加工效率。
针对上述问题,微段压缩功能通过识别指令点的形状,在预设的偏差范围内将折线轨迹还原为更加接近原始工件轮廓的平滑曲线轨迹,用连续平滑曲线代替折线,可有效提高加工效率和工件表面加工质量。如图3.64所示:
图3.64 微段压缩
指令格式:
COMPON ;压缩功能打开
G01 ... ;微段压缩只对G01指令有效
G01 ...
COMPOF ;压缩功能关闭
说明:
微段压缩功能先根据原始轨迹特征识别可以连续加工的轨迹区域,在误差控制带内,以一条连续平滑曲线替代原始折线。
COMPON打开时,压缩只对G01有效,遇到其他指令则中断当前压缩,并在新的G01到来后重启新的压缩,除非遇到COMPOF完全关闭压缩。
应在COMPOF时激活零偏,COMPON后不允许编程零偏指令(包括TRANS/ROT/SCALE/MIRROR等框架指令)。
带有旋转轴的G01指令也可以进行压缩。
程序运行结束时,保留最终编程的COMPON或COMPOF状态。按“复位”键,系统恢复默认COMPOF状态。
压缩之后的工件表面光洁度会有所提高,但是会稍微偏离实际运动轨迹,请按照实际要求添加该指令。
微段压缩功能提供多套参数,可根据具体加工要求调用不同参数。通过M260-M267切换。
3.14 辅助功能(M)
功能:
使用M功能可以在机床上控制一些开关操作,比如:冷却液开/关和其它的机床功能。
指令格式:
M… ;整数,取值范围:0~2147483647
预定义的M功能:在控制系统的标准供货中,已经预先定义了一些对程序运行非常重要的M功能。如表3.1所示:
表3.1 M功能
分组 |
指令 |
含义 |
类型 |
备注 |
组1 |
M00 |
程序停止 |
|
单独程序段 |
M01 |
选择性程序停止 |
|
单独程序段 |
|
M02 |
主程序程序结束,复位到程序开始 |
|
单独程序段 |
|
M17 |
子程序程序结束 |
|
单独程序段 |
|
M30 |
程序结束,复位到程序开始 |
|
单独程序段 |
|
组2 |
M03 |
主轴顺时针旋转 |
I |
|
M04 |
主轴逆时针旋转 |
I |
|
|
M05 |
主轴停止 |
RF |
|
|
M19 |
主轴定位 |
|
单独程序段 |
|
组3 |
M06 |
刀具更换 |
I |
|
M66 |
虚拟换刀 |
I |
|
|
组4 |
M260- M267 |
多套参数切换功能 |
I |
|
组5 |
M50 |
旋转轴A轴松开 |
|
单独程序段 |
M51 |
旋转轴A轴锁紧 |
|
单独程序段 |
|
M52 |
旋转轴B轴松开 |
|
单独程序段 |
|
M53 |
旋转轴B轴锁紧 |
|
单独程序段 |
|
M54 |
旋转轴C轴松开 |
|
单独程序段 |
|
M55 |
旋转轴C轴锁紧 |
|
单独程序段 |
其中:R表示默认有效,I表示段前执行,F表示段后执行。
说明:
- 所有空的M功能编号可以由机床制造商预设,例如:用于控制夹紧装置的功能。
- 同一程序段中最多可以编程5个M功能。
- M00:在包含M00的程序段执行之后,自动运行停止。当程序停止时,所有存在的模态信息保持不变。用循环启动键使自动运行重新开始。此时界面上并不计时。
- M01:与M00类似,在包含M01的程序段执行之后,自动运行停止。只是当机床面板上的M01开关置为1时,此功能才有效。
- M02/M30:表示主程序结束,自动运行停止。控制返回到程序开头。
- M06指令只能与T和D指令同行。
- 当运动指令和M功能在同一个程序段中出现时,M指令按下述方式执行:
- M指令在运动指令之前执行,M03和M04总是在运动指令之前执行。
- M指令在运动指令之后执行,M05总是在运动指令之后执行。
3.16 文件读写功能
功能:
在某些情况下,我们在执行数控程序的过程中,需要将变量中的信息(包括字符串和数值)写入某个文件,或读取某个文件并将文件中的信息赋给变量。最常见的情况是在使用测头对工件进行测量时,可能需要将测量的结果自动记录在文件中,并导出进行进一步的分析。为此,开发了文件读写功能指令,通过执行这些指令,实现对文件的读写操作。
1、WRITE—写入文件指令
将数据添加到指定文件的末尾一行。
编程:
WRITE(FILENAME,DATA)
参数:
FILENAME |
STRING |
需要写入的文件名称 |
DATA |
STRING |
需要写入的内容 |
说明:
系统指定了一个目录,作为通过译码进行文件读写操作的专用目录(以下简称专用目录),所有的文件读写删除操作默认在这个专用目录中进行。该专用目录确定为program目录下的data子目录。
参数FILENAME可以仅赋值文件名称,也可以赋值文件路径+文件名称。当仅赋值文件名称时,则目标文件在专用目录下;当赋值文件路径+文件名称时,则目标文件存放位置根据文件路径指定。
当由WRITE指令指定的文件在相应的目录下不存在时,则新建该文件,并从第一行开始写入数据。若文件已经存在,那么将DATA中的字符串写入文件的最后一行。
示例:
DEF STRING FILE, TEXT ;定义字符串变量FILE,TEXT
FILE= “record.txt”
TEXT= “i5CNC”
WRITE(FILE,TEXT) ;赋值文件名
WRITE(“/V1/record1.txt”, “SYMG”) ;赋值文件路径+文件名称,对指令参数的赋值不通过变量,直接赋值。
2、READ--读取文件中的行
在指定文件中读取一行信息,并且将所读取的信息保存在一个字符串(STRING)型变量或数组中。
编程格式:
READ(FILENAME,LINE,VAR)
参数:
FILENAME |
STRING |
需要读取的文件名称 |
LINE |
INT |
需要读取的文件中行的行号 |
DATA |
STRING |
用于存放读取信息的字符串类型的变量(或数组) |
说明:
这里参数FILENAME意义与WRITE指令中的参数FILENAME相同。
示例:
DEF STRING FILE, TEXT, TG[10] ;定义字符串变量FILE,TEXT与数组TG
DEF INT LN ;定义整数变量LN
FILE= “record.txt”
LN=5
READ (FILE, LN, TEXT) ;读取FILE文件第5行内容,并将该内容赋给TEXT
READ (“/V1/record1.txt”, 3, TG[2]) ;赋值文件路径+文件名称,对指令参数的赋值不通过变量,直接赋值。
3、DELETE:删除文件
删除指定的文件。
编程:
DELETE(FILENAME)
参数:
FILENAME |
STRING |
需要删除的文件名称 |
说明:
这里参数FILENAME意义与WRITE指令中的参数FILENAME相同。
示例:
DEF STRING FILE
FILE= “record.txt”
DELETE (FILE)
DELETE (“/V1/record1.txt”)
4、字符串连接符号“+”
编程格式:
STR1+STR2
说明:
在同一个表达式中允许多个字符串相连。例如:STR=STR1+STR2+STR3。
字符串连接符“+”既可以将两个字符串相连,也可以将INT、REAL、BOOL、CHAR等其他类型的变量相连。注意:在用“+”相连接的表达式中,只要有一个变量(或常量)为字符串,系统会作为字符串相连处理,如果没有字符串变量(或常量),系统会作为普通加法运算处理。
示例:
DEF STRING ABB,ACC,AEE,FILE ;定义字符串变量ABB,ACC,AEE,FILE
DEF INT ADD ;定义整型变量ADD
ABB=“symg”
ACC=“I5”
ADD=“2017”
FILE=celiang
AEE=ABB+ACC+ADD ;将ABB,ACC,ADD的值相连,赋值给AEE
WRITE(FLIE,AEE) ;将AEE的值写入“celing”文件中