首页 百科知识 用户宏程序编程

用户宏程序编程

时间:2022-10-29 百科知识 版权反馈
【摘要】:数控机床中所用的指令都是按一定的标准规定的,所用编程指令基本相同。本章重点介绍FANUC0i数控车床系统编程指令的特点以及编程方法。执行该指令前应当取消刀尖半径补偿和刀具偏置。在编写程序时最好不要省略,以免影响加工。有些机床厂家由于PLC程序设计的缺陷,甚至不允许加M06指令,或不能与主轴指令放在一段程序中,否则机床将出现报警提示。螺纹切削功能是数控车床加工中最常用的不可缺少的一种功能。

4 FANUC0i数控车床系统编程

数控机床中所用的指令都是按一定的标准规定的,所用编程指令基本相同。但不同的数控系统又有其各自的特点,有一定的灵活性。本章重点介绍FANUC0i数控车床系统编程指令的特点以及编程方法。

FANUC0i数控车床编程指令如表4.1所示,该表中有A、B、C三种G代码系统,本数控车床系统选用A系列。不同的机床厂家会选用不同的系列,编程时要注意。

表4.1 FANUC0i系统G代码表

续表4.1

4.1 FANUC0i系统常用指令功能

4.1.1 插补功能

插补功能指令格式见表4.2。

表4.2 插补功能指令格式

【例4.1.1】 圆锥、圆柱面切削(见图4.1)

走刀路径:PA→PB→PC

部分程序:(绝对方式编程)

G01X40Z-20F60 (X为直径)  (PB点)

G01X70Z-60F60        (PC点)

或增量方式:

G01U0W-20F60

G01U30W-40F60        (U为直径)

或绝、增混用:

G01X40W-20F60

G01U30Z-60F60

【例4.1.2】 圆弧面切削(见图4.2)

图4.1 圆锥、圆柱面切削

走刀路径:PA→PB→PC→PD→PE

部分程序:G01X30Z0F60     (PB)

     G02X50Z-20R25F60  (PC)

     G01Z-40F60     (PD)  

     G01X64F60      (PE)

或:G01X30W-2F60

  G02U20W-20I25K0F60(I为半径值)  

  G01U0Z-40F60    G01X64F60

图4.2 圆弧面切削

4.1.2 倒角、倒圆编程功能

倒角、倒圆编程功能可以简化程序。可以实现45°倒角与1/4倒圆,也可以实现任意角度倒角与倒圆编程。

【例4.1.3】 45°倒角与1/4倒圆角(见图4.3、图4.4)

图4.3 45°倒角、倒圆

图4.4 1/4倒圆角

走刀路径:PA→PB→PC→PD→PE

部分程序:G01X35C-2F60   (PB)

     G01Z-28R8F60   (PC)

     G01X64C-1.5F60  (PD)

     G01Z-44.5F60   (PE)

或:G01X35Z-2F60

  

  G01W-26R8  

  G01U29C-1.5    G01Z-44.5

走刀路径:PA→PB→PC→PD

部分程序:G01X48Z0R-5F60      (PB)

     G01Z-30R8F60       (PC) 

     G01X72F60         (PD)

或:G01U29W0R-5F60

    G01W-30R8F60    G01X72F60

【例4.1.4】 任意角度倒角(见图4.5)

走刀路径:PA→PB→PC→PD

部分程序:G01X10Z-10F60  (PB)

     G01X40Z-20C4   (PC)

     G01X50Z-40    (PD)

图4.5 任意角度倒角

由上例可以看出,使用G01功能进行倒角、倒圆能够简化程序编制。但其使用过程中应注意以下几点:

①倒角/倒圆只能在G01指令下使用,适用于直线轮廓之间、圆弧轮廓之间以及直线轮廓和圆弧轮廓之间。

②该程序段中G01指令不能省略,否则不进行倒角/倒圆,并报警提示。

③倒角与倒圆正负方向的判断方法如图4.6所示,从Z向X的正方向倒角为正值,从Z向X的负方向倒角为负值;从X向Z的正方向倒角为正值,从X向Z的负方向倒角为负值。

图4.6 倒角与倒圆正负方向的判断方法

4.1.3 角度编程功能

当直线段的终点缺少一个坐标值时,可以用角度方式来编程。

【例4.1.5】 在PC点坐标未知的条件下,可根据已知的PA、PB 和PD点坐标值以及角度编程(见图4.7)。

走刀路径:PA→PB→PC→PD

部分程序:G01X10Z-15         (PB)

     G01A135           (PC)

     G01X30Z-50A165(或A-15) (PD)

图4.7 角度编程

表4.3中列出了不同情况下如何利用角度和倒角、倒圆功能进行直接图纸尺寸编程。

表4.3 直接图纸尺寸编程指令格式与刀具路径

4.1.4 坐标系功能

该系统中可用两种方法设置工件坐标系:G50指令和G54~G59指令(见表4.4)。

表4.4 坐标系功能

【例4.1.6】 用G50X128.7Z375.1指令设定坐标系如图4.8(a)所示,坐标零点从原工件坐标系移动到工件左端面,即B点位置,该点为新建工件坐标系零点,A点为当前刀具所在位置。用G50X128.7Z260指令设定坐标系,如图4.8(b)所示,坐标零点从原工件坐标系移动到B点位置,B点为新建工件坐标系零点,A点为当前刀具所在位置。用G54~G59设置工件坐标系如图4.9所示。

图4.8 用G50设定坐标系

图4.9 用G54~G59设置工件坐标系

4.1.5 参考点功能

图4.10 返回参考点

参考点是在数控机床上设定的一个特定的位置,通常在该位置上进行换刀或设定坐标系。机床通电后必须执行手动返回参考点或由G28指令自动返回参考点,以便建立机床坐标系(通常采用手动返回参考点)。但机床使用绝对位置编码器时就不需要该操作。各轴以快速移动速度执行到中间点或参考点定位,因此为了安全,执行该指令前应当取消刀尖半径补偿和刀具偏置。

G28——返回参考点(见图4.10),使各坐标轴经过中间点自动返回参考点或经过中间点移动到被指令的位置的移动,称为返回参考点。返回参考点结束后指示灯亮。执行该指令前应当取消刀尖半径补偿和刀具偏置。

格式:G28IP;     返回参考点

IP:中间点的位置指令(绝对或增量值)用快速进给方式,经中间点移动到参考点。

【例4.1.7】 N1G28X40;中间点(X40)

       N2G28Z60;中间点(X40,Z60)

G27——返回参考点检查,G27指令是以快速移动速度定位刀具。如果刀具到达参考点,参考点返回灯点亮。但是,如果刀具到达的位置不是参考点,系统则报警。

注意事项:

当机床锁住后,即使刀具已经自动返回到参考点,指示返回完成的灯也不亮。在这种情况下,即使指定了G27命令,也不检查刀具是否返回到了参考点。

4.1.6 进给功能

G98——每分进给,在f后面指令每分钟刀具的进给量。

G99——每转进给,在f后面指令主轴每转刀具的进给量。

机床通电后,通常缺省状态为每转进给状态,但也可设为每分钟进给,主要取决于机床PLC参数。在编写程序时最好不要省略,以免影响加工。在直线插补(G01)、圆弧插补(G02,G03)等情况下,刀具的进给量要由f后面指令的数值来决定(见图4.11)。

图4.11 进给功能

格式:

G98:每分进给速度(mm/min);

G99:每转进给速度(mm/r);

G04——暂停指令,暂停到指令的时间之后,再执行下一个程序段。

格式:停G04P_;G04X_;或G04U_;

P_;时间或主轴转速的指定(不能使用小数点),即如果暂停1s,指定为P1000;

X_;时间或主轴转速的指定(可使用小数点),即如果暂停1s,指定为X1;

U_;时间或主轴转速的指定(可使用小数点),即如果暂停1s,指定为U1。

4.1.7 主轴功能

G96:端面恒速控制指令,当工件直径变化时主轴每分钟转速也随之变化,这样就保证了切削速度不变,从而提高了切削质量。

G97:取消端面恒速控制指令。

G50:限制主轴最高转速指令,当工件直径越来越小时,主轴转速连续变化可能会超过机床允许的最高转速而出现危险,因此用G50可限定最高转速。

格式:G96S_:端面恒速(m/min);

   G97S_:主轴转速(r/min);

   G50S_:S后的数值为主轴的限定最高转速(r/min)。

注意事项:

此系统中G50有两种不同的用法。一个是工件坐标系设定,一个是主轴最高限速。

4.1.8 刀具功能

1)刀具选择功能

【例4.1.8】 N2T0101 (选择1号刀具,使用1号偏置量,完成换刀动作)

注意事项:

①必须退回换刀点换刀。

②刀具的偏置号中的偏置量要通过“对刀”操作方式得到。

③该系统可以不加M06指令。有些机床厂家由于PLC程序设计的缺陷,甚至不允许加M06指令,或不能与主轴指令放在一段程序中,否则机床将出现报警提示。

2)刀尖圆弧半径补偿功能

【例4.1.9】 对如图4.12所示零件编程时,若不加刀补指令,在切削圆锥面和圆弧面时就会出现如图4.13所示的过切或欠切现象。

加上刀补指令的程序如下:

图4.12 零件轮廓

图4.13 过切或欠切现象

4.1.9 辅助功能

辅助功能用来指令数控机床的各种辅助动作及其状态,如主轴的启动、停止、冷却液等。常用的辅助功能如表4.5所示。

表4.5 辅助功能

4.2 螺纹切削功能

螺纹切削功能是数控车床加工中最常用的不可缺少的一种功能。FANUC0i数控车床有三种螺纹切削功能指令,即G32,G92,G76。

4.2.1 等螺距螺纹切削

用来车削等螺距直螺纹,锥螺纹和涡形螺纹也可车多头螺纹(见图4.14)。还有一个功能是连续螺纹切削功能,能够完成那些中途改变螺距和形状的特殊螺纹的切削。

图4.14 螺纹切削

1)用G32切削直螺纹

格式:G32X(U)_Z(W)_F

   X(U)Z(W):终点坐标;

   F:螺距。

【例4.2.1】 如图4.15所示,已知螺距为4mm,δ1=3mm,δ2=1.5mm,X轴方向每刀切深:2mm(切两次)。

2)用G32切削锥螺纹

格式:G32X(U)_Z(W)_F

   X(U)Z(W):终点坐标;

   F:螺距。

图4.15 直螺纹切削

【例4.2.2】 如图4.16所示,已知螺距为3.5mm,δ1=2mm,δ2=1mm,X轴方向每刀切深:2mm(切两次)。

图4.16 锥螺纹切削

3)多头螺纹加工

格式:G32X(U)_Z(W)_FQ

   X(U)Z(W):终点坐标;

   F:螺距;

   Q:螺纹起始角。

注意事项:

①螺纹起始角=360/螺纹头数;

②螺纹起始角可以在0°~360°之间指定;

③起始角Q增量不能指定小数点,即如果起始角为180°,则指定为Q180000;

④起始角不是模态值,每次使用都必须指定,否则默认为0°;

【例4.2.3】 双头螺纹加工部分程序。

G00X40Z2         (螺纹加工起始点)

G32W-38F4Q0       (起始角为0°。不是模态值,每次使用都必须指定)

G00X50          (径向退回)

4)连续螺纹切削功能

该系统的控制功能使得程序段的交界处进给与主轴严格同步,所以能够完成那些中途改变螺距和形状的特殊螺纹的切削(见图4.17)。

图4.17 连续螺纹切削

【例4.2.4】 如图4.18所示,两段连续螺纹车削,两段螺纹螺距均为1.5,分两刀车削。

程序:

注意事项:

如果极微小的程序段相连,该指令将不起作用。

图4.18 连续螺纹切削

4.2.2 螺纹切削循环

具有螺纹倒角功能,倒角距离在0.1L至12.7L之间(L为螺距),由系统参数设定。也可车多头螺纹。每刀切削完成后自动返回螺纹起始点循环切削,这也是与G32的区别之一。该螺纹循环功能可以简化程序。

1)直螺纹切削循环

格式:G92X(U)_Z(W)_F_

   X(U)Z(W):终点坐标;

   F:螺距L。

【例4.2.5】 如图4.19所示,在螺纹开始处自动倒角。当工件上没有退刀槽时,可以用该指令实现接近45°的自动退刀功能。

图4.19 G92直螺纹切削循环

部分程序:

注意事项:

①在单程序段工作方式,必须一次次按下循环启动按钮。

②在螺纹切削期间不要按下暂停按钮,否则刀具立即按斜线回退,然后先回到X轴起点再回到Z轴起点。

2)锥螺纹切削

格式:G92X(U)_Z(W)_R_F_

   X(U)Z(W):终点坐标;

   R:锥螺纹锥角半径差,有正、负值;

   F:螺距L。

【例4.2.6】 如图4.20所示为锥螺纹切削,螺距为2mm,分四刀切削。

图4.20 G92锥螺纹切削循环

部分程序:

注意事项:

①螺纹锥角半径是R2不是R1,即是螺纹延长线上刀具起点与终点半径的差值。

计算方法为:R2=R1+2 X=8+2×0.4=8.8

      X=(R1×螺纹延伸长度)/螺纹长度=(8×2)/40=0.4

②刀具的起点在延长线A点,其X坐标值必须大于或等于螺纹大头直径。刀具的终点在螺纹延长线B点。

③R值有正、负值。即正锥为负值,倒锥为正值。图4.21为U,W和R后的数值的符号与刀具轨迹之间的关系。(1)、(3)为加工外圆;(2)、(4)为加工内孔。

图4.21 G92螺纹锥角半径的符号判断

3)多头螺纹加工

格式:G92X(U)_Z(W)_ R_ F_ Q_

   X(U)Z(W):终点坐标;

   R:锥螺纹锥角半径,即螺纹大小端的半径差;

   F:螺距L;

   Q:螺纹起始角(起始角的算法和G32一样)。

【例4.2.7】 多头螺纹加工

部分程序:G00X30Z30

     G92X24.5W-38F4Q0

X23.8

X23.4

X23.1

X22.9

G92X24.5W-38F4Q180000

X23.8Q180000(Q值不能省略)

X23.4Q180000(Q值不能省略)

X23.1Q180000(Q值不能省略)

X22.9Q180000(Q值不能省略)

4.2.3 复合螺纹切削循环

G76是各类螺纹粗、精车合用的复合固定循环。进刀方式与前两种螺纹切削方式的进刀区别在于,该循环用一个刀刃切削进刀,使刀尖负荷减小。也可以切削内螺纹。在使用FS10/11纸带格式时,G76可以切削多头螺纹循环。走刀路线和吃刀分配如图4.22所示。

图4.22 走刀路线和吃刀分配

格式:G76P(m)(r)(a) Q(Δdmin)R(d)

     G76X(U)_ Z(W)_ R(i) P(k) Q(Δd) F(L)

     m:精加工重复次数(1~99);

     r:倒角量,当螺距由L表示时,可以从0.01L到9.9L设定,单位为0.1L(两位数:从00到99);

     α:刀尖角度,可以选择80°、60°、55°、30°、29°和0°六种中的一种由2位数规定;

     Δdmin:最小切深(用半径值指定),当一次循环运行(Δdmin)的切深小于此值时,切深按此值计算;

     d:精加工余量;

     i:螺纹半径差,当i=0时可以进行普通直螺纹切削;

     k:螺牙高(用半径值指定),由近似公式得:螺牙高=0.65×螺距(L);

     Δd:第一刀切削深度(用半径值指定);

     L:螺距;

     X(U)_ Z(W):螺纹底径(小径)的坐标值,可以用绝对或增量坐标值编程,由近似公式得:螺纹底径=螺纹外径(大径)-2×螺牙高。

注意事项:

其中Δdmin、Δd及k值,不能使用小数点,如0.1mm则指定为100。

【例4.2.8】 图4.23所示的圆柱螺纹,用G76复合固定螺纹循环指令加工。

图4.23 螺纹切削循环G76加工

部分程序:

G00X80Z130          (螺纹加工起始点)

G76P021060Q100R0.2   (精加工重复2次,倒角长度10×0.1×L=6mm,刀尖角度60°,最小切深0.1mm,精加工余量0.2mm)

G76X60.64Z25R0P368Q1800F6 (直螺纹螺牙高0.368mm,第一刀切削深度1.8mm,螺距6mm)

注意事项:

①由于主轴速度发生变化有可能切不出正确的螺距,因此在螺纹切削期间不要使用恒表面切削速度控制指令G96。

②在螺纹切削期间进给速度倍率无效(固定100%),主轴速度固定在100%。

③螺纹循环回退功能对G32无效。

④在螺纹切削程序段的前一程序段中不能指定倒角或倒圆。

⑤在螺纹切削前,刀具起始位置必须位于大于或等于螺纹直径处,锥螺纹按大头直径计算,否则会出现扎刀现象。

⑥通常由于伺服系统滞后等原因,会在螺纹切削的起点和终点产生不正确的导程,因此螺纹的起点和终点位置应当比指定的螺纹长度要长。

⑦用G92或G76切削锥螺纹时,由于刀具的起点和终点位置可能不是螺纹的起点和终点位置,因此螺纹半径差(i)的值应为刀具起点和终点位置的大小端半径差,否则螺纹锥度不正确,如图4.20所示。

⑧在MDI方式下不能指令G70,G71,G72或G73,可以指令G74,G75或G76。

4.3 固定循环功能

固定循环功能,使编程人员编程工作变得容易,提高编程效率。

4.3.1 单一形状外径/内径切削循环功能

该循环主要用于轴类零件的外圆、锥面的加工。

1)直线切削循环

当工件的形状是如图4.24(b)所示圆柱台阶面时,可用该指令完成直线切削循环。其走刀路线如图4.24(a)所示的1,2,3和4的切削过程。

图4.24 直线切削循环

格式:G90X(U)_ Z(W)_ F_

   X(U)Z(W):终点坐标;

   F:进给速度。

【例4.3.1】 直线切削循环如图4.25所示,U用直径表示。

图4.25 直线切削循环例题

2)锥形切削循环

锥形切削循环的走刀路线为图4.26(a)所示的1,2,3和4的切削过程。当工件的形状如图4.26(b)所示时,可用该指令完成切削循环。

图4.26 锥形切削循环

格式:G90X(U)_ Z(W)_ R_ F_

   X(U)Z(W):终点坐标;

   R:锥角半径值;

   F:进给速度。

【例4.3.2】 锥形切削循环实例如图4.27所示。程序:O20

图4.27 锥形切削循环实例。

4.3.2 端面切削循环

1)平端面切削循环(G94)

平端面切削循环的走刀路线为图4.28(a)所示的1,2,3和4的切削过程,当工件的形状如图4.28(b)所示时,可用该指令完成切削循环。

图4.28 端面车削循环

格式:G94X(U)_ Z(W)_ F_

X(U)Z(W):终点坐标;

F:进给速度。

【例4.3.3】 如图4.29所示,端面切削循环实例。

程序:O30

T0101

M03S800

G99G00X65Z5    (起刀点,大于毛坯直径)

图4.29 端面切削循环实例

2)锥面切削循环

锥面切削循环走刀路线为图4.30(a)所示的1,2,3和4的切削过程。当工件的形状是如图4.30(b)所示时,可用该指令完成切削循环。

图4.30 锥面切削循环

格式:G90X(U)_ Z(W)_ F_

   X(U)Z(W):终点坐标;

   F:进给速度。

图4.31 锥面切削循环实例

【例4.3.4】 如图4.31所示,锥面切削循环实例。

程序:O40

4.3.3 复合型固定循环功能

该功能根据提供的精加工形状的信息,自动执行粗加工的过程,简化程序编制(以后置刀架方式切削方式为例)。

1)外径、内径粗车循环指令(G71)

该指令由刀具平行于Z轴方向(纵向)进行切削循环,又称纵向切削循环。适合加工轴类零件。

在G71指令程序段内要指定精加工的程序顺序号,精加工余量,粗加工每次切深,F、S、T功能等。刀具循环路径如图4.32所示。

格式:G71U(Δd)R(e)

图4.32 G71粗车循环路径

G71P(ns)Q(nf)U(Δu)W(Δw)F(f)

S(s)T(t)

Δd:粗加工每刀切深量(半径值指定);

e:退刀量;

ns:精加工程序第一个程序段的序号;

nf:精加工程序最后一个程序段的序号;

Δu:X方向精加工余量(直径或半径值指定);

Δw:Z方向精加工余量;

f:进给速度;

s:主轴转速;

t:刀具。

注意事项:

①G71精加工程序段的第一句只能写X值,不能写Z或X、Z同时写入。

②该循环的起始点位于毛坯外径处。

③该指令不能切削凹进形的轮廓。


4.33 G71粗车循环实例

【例4.3.5】 如图4.33所示,G71粗车循环实例。程序:O50

2)端面粗车循环指令(G72)

该指令又称横向切削循环,与G71指令类似,不同之处是G72的刀具路径是按径向(X轴方向)进行切削循环的,适合加工盘类零件。刀具循环路径如图4.34所示。

格式:G72W(Δd)R(e)

G72P(ns)Q(nf)U(Δu)W(Δw)F(f)S(s)T(t)

其中,Δd、e、ns、nf、Δu、Δw、f、s、t与G71相同。

图4.34 G72端面粗车循环

注意事项:

①G72精加工程序段的第一句只能写Z值,不能写X 或X、Z同时写入。

②该循环的起刀点位于毛坯外径处。

③该指令不能切削凹进形的轮廓。

④由于刀具切削时的方向和路径不同,要调整好刀具装夹方向。

⑤描述精加工轮廓轨迹是从左边A′点向右切削。

【例4.3.6】 用G72粗车循环功能粗车如图4.35所示的外轮廓。

图4.35 G72粗车循环实例

3)平行轮廓切削循环(G73)

平行轮廓切削循环的刀具路径是按工件精加工轮廓进行循环的。这种循环主要适合对铸件、锻件等已具备基本形状的工件毛坯进行加工。刀具循环路径如图4.36所示。

格式:G73U(Δi)W(Δk)R(Δd)

G73P(ns)Q(nf)U(Δu)

W(Δw)F(f)S(s)T(t)

Δi:X轴方向的总切深余量

(半径值指定);

Δk:Z轴方向的总切深余量;

Δd:粗切循环次数;

图4.36 平行轮廓切削循环

其中,ns、nf、Δu、Δw、f、s、t与G71相同。

注意事项:

①该指令可以切削凹进的轮廓。

②该循环的起刀点要大于毛坯外径。

③X轴方向的总切深余量是用毛坯外径减去轮廓循环中的最小直径值。

4)精加工循环(G70)

由G71,G72,G73进行粗切削时,可用该指令进行精加工。

格式:G70P(ns)Q(nf

(ns):精加工程序第一个程序段的顺序号;

(nf):精加工程序最后一个程序段的顺序号。

例题见图4.41所示。

5)内、外径切槽循环(G75)

切槽循环指令可以实现X轴向内、外切槽循环功能,简化程序。刀具循环路径如图4.37所示。

格式:G75R(e)

   G75 X(U)_Z(W)_P(Δi)_Q(Δk)_R(Δd)_ F(f)_

   e:退回量;

   X(U)_Z(W)_:槽的终点坐标;

   Δi:X方向移动量,即每刀切深量,不带符号,不能使用小数点,即每刀切深量1mm应写为1 000;

   Δk:Z方向移动量,即Z方向切削宽度,不带符号,不能使用小数点;根据割刀宽度确定;

图4.37 G75切槽循环路径

Δd:刀具在切削底部的Z方向的退刀量,Δd的符号总是正值,割槽时不能使用,设为零;

f:进给速度。

【例4.3.7】 如图4.38所示,毛坯直径为φ35mm,槽宽13mm,槽底直径为φ20mm,割刀宽度3mm,用左刀尖对刀。

图4.38 G75切槽循环实例

6)端面深孔钻削循环(G74)

该指令可以实现端面钻削断屑加工,也可以用于端面割槽或镗削加工。刀具循环路径如图4.39所示。G74和G75两者编程格式一样,都用于切槽和钻孔,但一个是Z方向端面切削,一个是X方向内、外径切削。

图4.39 端面深孔钻削循环路径(G74)

格式:G75R(e)

     G75 X(U)_Z(W)_P(Δi)_Q(Δk)_ R(Δd)_ F(f)_

4.4 综合实例

4.4.1 综合实例(一)

综合实例(一)如图4.40所示,毛坯直径为φ18mm,材料为铝合金棒料。

零件分析:根据图纸尺寸标注情况,该零件的编程零点应设在工件的右端面的中心轴上。用G71粗车循环指令编程以简化程序。其加工工艺过程如表4.6所示。

图4.40 综合实例(一)

表4.6 加工工艺过程

4.4.2 综合实例(二)

综合实例(二)如图4.41所示,毛坯直径为φ18mm,材料为铝合金棒料。

图4.41 综合实例(二)

零件分析:根据图纸尺寸标注,该零件的编程零点应设在工件的右端面的中心轴上。因为有凹槽,不能用G71或G72粗车循环指令,只能用G73平行轮廓粗车循环指令编程以简化程序,其加工工艺过程如表4.7所示。

表4.7 加工工艺过程

4.4.3 综合实例(三)

综合实例(三)如图4.42所示,毛坯直径为φ70mm,总长为98mm,材料为45号钢棒料。

图4.42 综合实例(三)

零件分析:根据图纸尺寸标注,该零件的编程零点应设在工件的右端面的中心轴上。用G73平行轮廓粗车循环指令编程以简化程序。其加工工艺过程如表4.8所示。零件图有几处倒角、倒圆。本例中利用了系统的倒角、倒圆功能来实现该零件图的程序编制。程序中的语句段号可以不写,但在程序循环开始和结束段必须有语句段号。

表4.8 加工工艺过程

4.5 用户宏程序编程

图4.43 宏程序指令

在编写程序时,把能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来表示它们,使用时只需给出这个总指令就能执行其功能。所存入存储器的一系列指令称作用户宏程序的主体,这个总指令称作用户宏程序指令,如图4.43所示。

在编程时,不必记住用户宏程序主体所含的具体指令,只要记住用户宏程序指令即可。用户宏程序编程的最大特点是使用变量,且变量之间还能进行算术和逻辑运算。因此在用数控机床加工一定批量的形状相同但尺寸不同,或由型腔、曲面、曲线等组成的工件时,使用用户宏程序功能进行编程,能够减少程序重复编制,减少字符数,节约内存,使得编程更方便,更容易。宏程序主体既可由机床生产厂家提供,也可由机床用户自己编制。例如在数控刀具磨床中的宏程序主体,通常由机床生产厂家提供。也有一些零件(如二次曲线)零件的宏程序主体由机床用户自己编制。用户宏程序功能有A,B两种,我们主要介绍B类宏程序的使用方法。

例如:图4.44中沿轮廓A、B、C加工该零件时,A=10,B=60,C=35。

其程序为:

图4.44 宏程序编程

O1000

G00X10Y10

G01X60

G01X10Y35

G01Y10

但是当A、B、C的值变化时,又需要编写一个程序。

如果我们将程序改写为:

O1000

G00XA YA

G01XB

G01XA YC

G01XA

此时可将其中变量,用用户宏程序中的变量#I来代替,字母与变量#I的对应关系为:

A:#1

B:#2

C:#3

使用用户宏程序主体则可写成如下形式:

O9801

G00X#1Y#1

G01X#2

G01X#1Y#3

G01X#1

使用时可用用户宏程序指令来调用:

G65P9801A10B60C35;

当加工同一类型、不同尺寸的零件时,只需改变用户宏程序命令的数值即可。机床操作人员不需要考虑宏程序主体编写得多么复杂,只需修改用户宏程序指令中的数值。这种功能在一些长期加工同一类型零件的企业中应用特别广泛。

4.5.1 宏程序格式

宏程序格式与子程序类似,结尾用M99返回主程序,图4.45为用户宏程序结构。

图4.45 用户宏程序结构

O×××× 宏程序号

……

[变量]

[运算指令]

[控制指令]

……

M99;  宏程序结束

宏程序体由变量、运算指令和控制指令等组成。

(1)变量 变量由#号和变量号组成,如:#k(k=1,2,3,…),也可用表达式来表示变量,如:#[<表达式>],见表4.9。

【例4.5.1】 #1,#50,#[2001—1],#[4/2]

普通加工程序直接用数值指定G代码和移动距离,如:G01和X10,使用用户宏程序时,数值可以直接指定或用变量指定,当用变量时,直接在地址号后面使用变量,变量值可用程序或用MDI面板直接指定。

【例4.5.2】 #1=#2+100;G01X#1F200;

表4.9 变量根据变量号可以分成四种类型

注意事项:

①我们在编写用户加工程序,进行逻辑运算和函数运算时,通常可以用局部变量1—#33或公共变量#100—#199。而#500—#999公共变量和#1000以后的系统变量通常是提供给机床厂家进行二次功能开发,不能随便使用。若使用不当,便会导致整个数控系统的崩溃。

②运算指令:运算指令主要是赋值运算、算术运算、逻辑运算和函数运算等。

例:#100=500,#200=#101*#100,#250=#160AND#110,#100=SIN[#500]

③控制指令:控制指令起控制程序流向的作用。在程序中使用GOTO语句和IF语句可以改变控制的流向。有三种转移和循环操作可供使用,见图4.46。运算符意义见表4.10。

图4.46 跳转控制指令

表4.10 运算符的含义

①无条件转移语句:

GOTO n

转移到标有顺序号n的程序段。

②条件转移语句:

IF[<条件表达式>]GOTO n

如果指定的条件表达式满足,则转移到标有顺序号n的程序段;如果指定的条件表达式不满足,则执行下个程序段。

【例4.5.3】

即:如果变量#1的值大于10,则转移到顺序号N2的程序段,否则向下执行程序。

【例4.5.4】 下面的程序计算数值1~10的总和。

③循环语句(WHILE):

WHILE[<条件表达式>]DO m

……

END m

在WHILE后指定一个条件表达式,当指定条件满足时执行从DO到END之间的程序段m次,否则转到END m后的下一条程序段。

嵌套:在DO-END循环中的标号(1)~(3)可根据需要多次使用,图4.47中列出了循环语句的结构形式。

【例4.5.5】 下面的程序计算数值1~10的总和。

O0001

#1=0

#2=1

WHILE[#2LE 10]DO 1

#1=#1+#2

#2=#2+1

END 1

M30

图4.47 循环语句结构

4.5.2 宏程序的调用

1)非模态调用G65P_L_<指定自变量

其中:P后面的数字为被调用的宏程序主体,L后面的数字为重复次数。自变量是一个字母对应宏程序中的变量地址,其值被赋到相应的局部变量,传递到用户宏程序体中。在编写加工程序时G65或G66中的地址符与宏程序主体中的变量号必须对应。

局部变量中的自变量可用两种形式指定,自变量指定I使用除了G,L,N,O和P以外的字母,每个字母指定一次。自变量指定∏使用A,B,C和Ii,Ji,Ki(i为1~10)。根据使用的字母自动地决定自变量指定的类型。自变量指定I,其地址与变量号对应表如表4.11所示。

表4.11 自变量指定I地址与变量号对应表

(1)地址G,L,N,O和P不能在自变量中使用。

(2)不需要指定的地址可以省略,对应于省略地址的局部变量设为空。

(3)地址不需要按字母顺序指定,但应符合字地址的格式,而I,J和K需要按字母顺序指定。

【例4.5.7】 B_A_D_J_K_正确

        B_A_D_J_I_不正确

自变量指定∏,其地址与变量号对应表如表4.12所示。

表4.12 自变量指定∏地址与变量号对应表

自变量指定∏使用A,B和C各1次。I,J,K各10次。自变量指定∏用于传递诸如三维坐标值的变量。I,J,K的下标用于确定自变量指定的顺序,在实际编程中不写。

CNC内部自动识别自变量指定I和自变量指定∏。如果自变量指定I和自变量指定∏混合指定的话,后指定的自变量类型有效。

【例4.5.8】 本题中,I4和D5自变量都分配给变量#7,但后者D5有效。

2)模态调用G66P_L_<自变量赋值>

其中:P后面的数字为宏程序号,L后面的数字为重复次数。

其格式为:G66P_L_<自变量赋值>;此时机床不动

     X_Y_;机床在该点开始加工

     X_Y_;

      …

     G67;取消宏程序调用

【例4.5.9】 在指定位置切槽,如图4.48所示

图4.48 切槽加工

调用格式:G66P9110U_F_

     U:槽深(增量值);

     F:槽加工的进给速度。

调用宏程序的主程序:O0003;

          S1000M03

          T0101

          G66P9110U5.0F0.5

          G00X60.0Z80.0

          Z50.0

          Z30.0

          G67;

          G00X00.0Z200.0M05 M30

宏程序主体:O9110;

G01U-#21F#9         ;切槽加工

G00U#21            ;刀具退出

M99

4.5.3 宏程序编程实例(一)

如图4.49所示,毛坯直径为φ50mm,总长为102mm,材料为45号钢棒料。

图4.49 非圆曲线零件

零件分析:该零件难点在椭圆编程上。长轴为18,短轴为13的标准椭圆方程为:

由于椭圆方程原点不在工件零点处,即椭圆方程中心向Z轴负方向平移了18mm的距离,因此在计算Z坐标时,必须减去18mm的距离。用公共变量号#100,#102,#103来编程。#102作为X轴变量;#100作为Z轴变量;#101为Z轴的中间变量;把椭圆编程的内容放在G73固定循环里,可以完成粗精加工。其加工工艺过程如表4.13所示。

表4.13 加工工艺过程

4.5.4 宏程序编程实例(二)

如图4.50所示,毛坯直径为φ50mm,总长为102mm,材料为45号钢棒料。

零件分析:该零件难点在抛物线的编程上。已知抛物线方程:X*X=-22.09Z,用公共变量号#100,#101来编程。#101作为X轴变量;#100作为Z轴变量;工件零点设在工件端面与中心线相交处。抛物线的方程原点与工件零点重合。本例题没有把椭圆编程的内容放在G73固定循环里,而是用公共变量编写出粗精加工,此方法避免了G73指令产生的“空切”现象,生产效率较高,有一定的特色。图中1∶3的锥度可以计算出锥面的大头直径为40.33mm。即(X-30)/(51-20)=1/3;X为大头直径。

图4.50 程序实例(二)

加工工艺见表4.14。

表4.14 加工工艺过程

4.6 习题

4.6.1 编写零件的加工工艺和数控加工程序,零件毛坯:φ18mm的铝合金棒料(见图4.51)。

图4.51 题4.6.1

4.6.2 编写零件的加工工艺和数控加工程序,选择合适的切削速度、进给量和切削深度,零件毛坯:φ18mm的铝合金棒料(见图4.52)。

图4.52 题4.6.2

4.6.3 编写零件的加工工艺和数控加工程序,零点设在球心。零件毛坯:φ20mm的铝合金棒料。输入程序并模拟运行程序,调整车床,加工后检查零件质量(见图4.53)。

图4.53 题4.6.3

4.6.4 编写零件的加工工艺和数控加工程序,选择合适的切削速度、进给量和切削深度,零件毛坯:φ18mm的铝合金棒料(见图4.54)。

图4.54 题4.6.4

4.6.5 先编写加工工艺,选择合适的刀具、切削速度,进给量和切削深度,然后编写零件的数控加工程序,模拟程序正确后开机加工,加工完成后检查零件质量。零件毛坯:φ18mm的铝合金棒料(见图4.55)。

图4.55 题4.6.5

4.6.6 编写零件的加工工艺和数控加工程序,零件毛坯:φ30mm的铝合金棒料。输入程序并模拟运行程序,调整车床,加工后检查零件质量(见图4.56)。

图4.56 题4.6.6

4.6.7 编写零件的加工工艺和数控加工程序,零件毛坯直径为25mm的铝合金棒料。输入程序并模拟运行程序,调整车床,加工后检查零件质量(见图4.57)。

图4.57 题4.6.7

4.6.8 编写零件的加工工艺和数控加工程序,零件毛坯为φ28mm铝合金棒料。输入程序并模拟运行程序,调整车床,加工后检查零件质量(见图4.58)。

图4.58 题4.6.8

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈