6.固定循环(6.3.1-6.3.3)
6.3 车削循环
循环调用之前必须定义加工平面, 对于车削, 通常是G18(ZX平面)。车削中, 当前平面的两个轴是按如图6.11的纵向轴(此平面的第一轴)和横向轴(此平面的第二轴)的方式来调用的。在车削循环中, 当直径编程有效时, 第二轴始终被认为是横向轴。
图6.11 车削循环平面定义
6.3.1 凹槽 CYCLE93
编程:
CYCLE93(AXFA, AXSA, WIDG, DEPG, ANGC, ANG1, ANG2, RCO1, RCO2, RCI1, RCI2, FAL1, FAL2, IDEP, DWT, TYP, VRT)
参数:
AXFA | Real | 横向坐标轴起始点(半径值输入) |
AXSA | Real | 纵向坐标轴起始点(绝对坐标) |
WIDG | Real | 槽宽:切槽宽度(无符号输入) |
DEPG | Real | 槽深:切槽深度(无符号输入, 半径值输入) |
ANGC | Real | 轮廓和纵向轴的夹角, 范围值:0<=ANGC<=180° |
ANG1 | Real | 侧面角1:在起始点一边(无符号输入) |
范围值:0<=ANG1<89.999° | ||
ANG2 | Real | 侧面角2:在另一边(无符号输入) |
范围值:0<=ANG2<89.999° | ||
RCO1 | Real | 外部倒圆/倒角1:半径/倒角1, 外部, 位于起始点一边 |
RCO2 | Real | 外部倒圆/倒角2:半径/倒角2, 外部, 位于另一边 |
RCI1 | Real | 内部倒圆/倒角1:半径/倒角1, 内部, 位于起始点一边 |
RCI2 | Real | 内部倒圆/倒角2:半径/倒角2, 内部, 位于另一边 |
FAL1 | Real | 槽底的精加工余量(半径值输入) |
FAL2 | Real | 侧面的精加工余量(半径值输入) |
IDEP | Real | 进给深度(无符号输入) |
DWT | Int | 槽底停顿时间 |
TYP | Int | 加工类型, 范围值:1~8和11~18 |
VRT | Real | 退回位移, 增量(无符号输入) |
功能:
切槽循环用于纵向和表面加工时, 对任何垂直轮廓单元进行对称或不对称的切槽, 包括外部和内部切槽。
操作顺序:
纵向进给深度(面向槽底)和横向进给深度(相邻两槽)在循环内部计算, 并分配最大允许值。在倾斜表面切槽时, 刀具将以最短的距离从一个槽移动到下一个槽, 即平行于加工槽的倾斜面, 在此过程中, 循环内部计算出到轮廓的安全距离。
步骤1:每次进给中, 粗加工到槽底。每次进给后刀具会后退以便断屑(如图6.12);
图6.12 步骤1示意图
步骤2:如图6.13, 面向槽底(刀具轴向)方向按一步或几步加工槽, 而每一步根据进给深度来确定。从第二次切削开始, 退刀前刀具将沿槽宽(径向)方向退回1mm;
图6.13 步骤2示意图
步骤3:如果在ANG1或ANG2下编程了角度值, 还需进行侧面的毛坯切削。如果槽宽较大, 则分几步进行切削;
图6.14 步骤3示意图
步骤4:从每一侧面到底部中心平行于轮廓进行精加工余量的毛坯切削。在此过程中, 循环可以自动选择或不选择刀具半径补偿。
图6.15 步骤4示意图
参数说明:
图6.16 参数图示
AXFA和AXSA(起始点)
可以使用这两个值来定义槽的起始点, 从起始点开始, 在循环中自动计算出轮廓(如图6.16、图6.17)。
- 循环计算出在循环起始处的参考点;
- 切削外部槽时, 刀具首先会按纵向轴方向移动;切削内部槽时, 刀具首先按横向轴方向移动;
- 弯曲部分的切槽可以以不同方式来实现。根据弯曲的形状和半径, 可以是一条覆盖最大的弯曲部分的近轴直线, 或者是利用槽边上的某一点来得到切线;
- 如果槽边的特定点位于循环定义的直线上时, 槽边的半径和倒角才和弯曲轮廓有关。
WIDG和DEPG(槽宽和槽深)
参数槽宽(WIDG)和槽深(DEPG)用来定义槽的形状
- 如果槽宽大于有效刀具的宽度, 则循环将整个宽度进行平分。去掉切削沿半径后, 最大的进给是刀具宽度的95%, 以此保证形成切削重叠;
- 如果所编程的槽宽小于实际刀具宽度, 将出现报警, 同时加工终止。如果在循环中发现切削沿宽度等于零, 也会出现报警。
图6.17 参数图示
ANGC(角)
使用参数ANGC来编程加工槽时的倾斜角, 取值范围是0~180°, 并且始终相对于纵向轴(如图6.16、图6.17)。
ANG1和ANG2(侧面角)
如图6.16和图6.17, 不对称的槽可以定义不同的侧面角。该角可以采用0到89.999°。
RCO1、RCO2和RCI1、RCI2(半径/倒角)
如图6.16, 用来定义槽边或槽底的半径/倒角。注意, 正号表示半径, 负号表示倒角。
如何考虑编程的倒角, 与参数TYP的十位数有关:
- 如果TYP<10(十位数=0), 倒角带CHF编程;
- 如果TYP>10(十位数=1), 倒角带CHR编程。
(CHF/CHR参见章节2.7.7)
FAL1和FAL2(精加工余量)
用来单独编程槽底和侧面的精加工余量。在加工过程中, 进行毛坯切削直至最后余量, 然后使用相同的刀具沿着最后轮廓进行平行于轮廓的切削。
图6.18 精加工余量示意图
IDEP(进给深度)
如图6.17, 可以将每次切槽分成几个深度进给。每次进给后, 刀具退回1mm以便断屑。任何情况下都必须设定参数IDEP。
TYP(加工类型)
槽的加工类型由参数TYP定义。参数的十位数表示倒角是用何种方式编程的。
- TYP1...8:倒角按CHF方式编程;
- TYP11...18:倒角按CHR方式编程。
图6.19 槽的加工类型
如果参数具有不同于以上的值, 循环将终止并产生报警;如果半径/倒角在槽底接触或者相交, 或者用户设法在平行于纵向轴的轮廓上进行端面切槽, 循环也将终止并报警。
VRT(退回位移)
参数VRT用来定义从槽的外部直径或内部直径退回的位移。如果VRT=0(参数未编程), 刀具将退回1mm。另外, 粗加工到槽底的过程中, 每个进给深度后刀具都会后退VRT距离以便断屑 。
说明:
- 调用切槽循环之前, 必须使能一个双刀沿刀具;
- 两个切削沿的长度补偿必须以两个连续刀具补偿号保存, 而且在首次循环调用之前必须激活第一个刀具号;
- 循环将在相应的加工步骤使用相应的刀具补偿值, 并自动使能;
- 循环结束后, 在循环调用之前编程的刀具补偿号重新有效。
示例:
此程序用于在纵向轴方向的斜面上进行外部切槽。起始点在X35 Z60的右侧。循环将使用刀具T5的刀具补偿D1和D2。切削刀具必须相应地定义。
图6.20 示例
N10 T5 D1 S400 M03 | 切削参数定义 |
N20 G95 G90 F0.2 | |
N30 G00 X80 Z65 | 选择起始位置 |
N40 CYCLE93(35, 60, 30, 25, 12, 15, 16, 0, 0, -2, -2, 1, 1, 10, 1, 5, 0) | 循环调用 |
N50 G00 G90 X50 Z65 | 下一个位置 |
N60 M02 | 程序结束 |
6.3.2 退刀槽 CYCLE94
编程:
CYCLE94 (AXFA, AXSA, FORM)
参数:
AXFA | Real | 横向轴的起始点(无符号输入, 直径值) |
AXSA | Real | 纵向轴的起始点(绝对坐标) |
FORM | String | 形状的定义, 值:E(用于形状E), F(用于形状F) |
功能:
使用此循环, 可以进行形状为E和F的退刀槽切削(要求成品直径必须大于3mm)。
图6.21 退刀槽形状
操作顺序:
循环启动前到达起始位置, 起始位置可以是任意位置, 但须保证从该位置开始退刀槽加工时不会发生刀具碰撞。该循环具有如下过程:
- 以G00到达循环内部所计算的起始点;
- 根据当前的刀尖方向选择刀尖半径补偿, 并按循环调用之前所编程的进给率进行退刀槽的加工;
- 以G00回到起始点, 并用G40指令取消刀尖半径补偿。
参数说明:
AXFA和AXSA(起始点)
使用参数AXFA定义用于加工的成品直径。参数AXSA定义纵向轴的位置。如果AXFA所编程的成品直径小于3mm, 则循环中断并产生报警。
图6.22 起始点图示
FORM(形状的定义)
定义退刀槽形状(如图6.23)。
F——形状F E——形状E
图6.23 退刀槽类型
说明:
- 循环通过有效的刀具补偿自动计算刀尖方向。循环可以在刀尖方向1~4时运行, 如果循环检测出刀尖位置为5~9的任一位置, 则循环终止并产生报警;
- 循环自动计算起始点值, 它的位置是距离成品直径(AXFA)2mm和最后尺寸(AXSA)10mm的位置;
- 有关编程的坐标值的起始点位置由当前有效刀具的刀尖方向决定;
- 调用循环之前, 必须激活刀具补偿, 否则循环终止并出现报警;
- 如果参数的值不是E或F, 则循环终止并产生报警。
示例:
此程序可用于编程E形状的退刀槽。
图6.24 示例
N10 T1 D1 S300 M03 | 切削参数定义 |
N20 G95 F0.3 | |
N30 G00 G90 Z100 X50 | 选择起始位置 |
N40 CYCLE94 (20, 60, “E”) | 循环调用 |
N50 G90 G00 Z100 X50 | 回到起始位置 |
N60 M02 | 程序结束 |
6.3.3 毛坯切削 CYCLE95
编程:
CYCLE95 (NSP, IDEP, FALZ, FALX, FAL, FF1, FF2, FF3, TYP, DWT, DAM, VRT)
参数:
NSP | String | 轮廓子程序名 |
IDEP | Real | 进给深度(无符号输入, 按半径输入) |
FALZ | Real | Z轴精加工余量:在纵向轴的精加工余量(无符号输入) |
FALX | Real | X轴精加工余量:在横向轴的精加工余量(无符号输入, 按半径输入) |
FAL | Real | 综合精加工余量:沿轮廓的精加工余量(无符号输入) |
FF1 | Real | 粗加工进给率 |
FF2 | Real | 凹凸插入进给率:进入凹凸切削的进给率 |
FF3 | Real | 精加工进给率 |
TYP | Int | 加工类型, 范围值:1~12 |
DWT | Int | 断屑停顿时间:粗加工时用于断屑的停顿时间 |
DAM | Real | 断屑间隔长度:粗加工时用于断屑的间隔长度 |
VRT | Real | 退回位移:粗加工时从轮廓的退回行程, 增量(无符号输入) |
功能:
使用毛坯切削循环, 可以在毛坯的空白处进行轮廓切削, 该轮廓已编程在子程序中。轮廓可以包括凹凸切削成分。可以在纵向和表面进行外部和内部轮廓的加工。工艺可以随意选择(粗加工, 精加工, 综合加工)。粗加工轮廓时, 以最大的编程进给深度进行近轴切削, 并且在到达轮廓的交点后清除平行于轮廓的毛刺。一直进行粗加工直到编程的精加工余量。刀具半径补偿可以由循环自动选择和取消。
操作顺序:
循环开始前到达起始位置, 起始位置可以是任意位置, 但须保证从该位置回轮廓起始点时不发生刀具碰撞。循环起始点在内部被计算出并用G00在两个坐标轴方向同时运动到该起始点。
无凹凸切削的粗加工:
- 内部计算出当前深度并用G00接近;
- 使用G01和进给率FF1到达粗加工的轮廓交点;
- 使用G01/G02/G03和FF1沿平行于轮廓+精加工余量的轨迹进行轮廓粗加工;
- 使用G00退回在VRT下所编程的量;
- 重复此顺序直至到达加工的最终深度;
- 进行无凹凸切削成分的粗加工时, 坐标轴依次返回循环的起始点。
图6.25 无凹凸切屑的粗加工
粗加工凹凸成分:
- 坐标轴使用G00依次到达起始点以便下一步的凹凸切削;
- 使用G01/G02/G03和FF2沿轮廓+精加工余量进入凹凸切削;
- 使用G01和FF1到达粗加工的轮廓交点;
- 沿轮廓进行粗加工, 和无凹凸切削的粗加工一样进行后退和返回;
- 如果还有凹凸切削成分, 为每个凹凸切削重复此顺序。
图6.26 粗加工凹凸成分
精加工:
- 坐标轴使用G00依次到达循环起始点;
- 使用G00同时到达轮廓的起始点;
- 使用G01/G02/G03和FF3沿轮廓进行精加工;
- 使用G00退回到起始点。
参数说明:
NSP(名称)
此参数用来定义轮廓的名称。轮廓子程序的名称应遵循编程说明中有关名称的规定。
IDEP(进给深度)
参数IDEP用来定义粗加工时最大允许的进给深度。循环将自动计算出用于当前粗加工的进给深度。对于包含凹凸切削成分的轮廓加工, 循环将粗加工分成几个粗加工部分。循环计算出每个粗加工部分的新的进给深度, 该进给深度值始终处于所编程的深度值和该值的一半之间。所需的粗加工的步骤数是由当前粗加工部分的总深度和编程的进给深度来决定的, 循环将总深度在编程的进给深度范围内按最大值进行平均分配, 这可以提供最佳的切削条件。下图显示了对图6.26中的轮廓进行粗加工时的加工步骤。
图6.27 粗加工步骤和进给深度
当前进给深度计算说明:
加工步骤1的总深度是17 mm。由于最大编程的进给深度是3mm, 因此需要6个加工步骤且每个进给深度是2.833 mm。
加工步骤2的总深度5mm, 进行2个加工步骤, 每个进给深度是2.5mm。
FAL, FALZ和FALX(精加工余量)
如果要给特定轴定义不同的精加工余量, 可以使用参数FALZ和FALX来定义粗加工的精加工余量, 也可以通过参数FAL定义用于轮廓的精加工余量。这种情况下, 该值将作为精加工余量被两个轴同时考虑进来。不需要对已编程的值进行检查, 换句话说, 如果这三个参数都已赋值, 循环将同时考虑所有的这些精加工余量。粗加工始终按这些精加工余量进行。每个轴向加工过程完成以后立即清除平行于轮廓的剩余拐角, 这样在粗加工完成后无需进行额外的剩余拐角切削。如果未编程精加工余量, 粗加工到达最后轮廓时毛坯即切削完成。
FF1, FF2和FF3(进给率)
各个加工步骤可以定义不同的进给率, 如下图所示。
图6.28 各加工步骤的进给率
TYP(加工类型):
表6.1 毛坯加工类型
值 | 纵向/端面(L/P) | 外部/内部(A/I) | 粗加工/精加工/综合加工 |
1 | L | A | 粗加工 |
2 | P | A | 粗加工 |
3 | L | I | 粗加工 |
4 | P | I | 粗加工 |
5 | L | A | 精加工 |
6 | P | A | 精加工 |
7 | L | I | 精加工 |
8 | P | I | 精加工 |
9 | L | A | 综合加工 |
10 | P | A | 综合加工 |
11 | L | I | 综合加工 |
12 | P | I | 综合加工 |
纵向加工时, 进给始终沿着横向轴进给, 端面加工时, 沿着纵向轴进给。外部加工表示进给在轴的负方向进行。对于内部加工, 进给在轴的正方向进行。参数TYP需要进行检查。当循环调用时, 如果它的值不在1~12之间, 循环将终止并产生报警。
图6.29 加工类型
DWT和DAM(停顿时间和间隔长度)
这些参数可以用来在完成一定路径的进给后中断粗加工步骤以便断屑。这些参数只用于粗加工。参数DAM用于定义进行断屑的间隔长度。在DWT中可以编程在每个切削中断点的停顿时间(以秒为单位)。如果未定义断屑间隔长度(DAM=0), 则粗加工步骤中不产生中断和停顿。
图6.30 切削停顿
VRT(退回进给)
参数VRT可以用来编程在粗加工时刀具在两个轴向的退回量。如果VRT=0(参数未编程), 刀具将退回1mm。另外, 粗加工的过程中, 每个进给深度后刀具都会后退VRT距离。
更多说明:
轮廓定义
- 轮廓必须包括至少3个运动程序块。如果轮廓太短, 将产生报警, 然后循环终止;
- 在轮廓中只允许使用G00、G01、G02、G03、G90/G91、G70/G71和DIAMON/DIAMOF指令。另外, 也可以使用倒圆和倒角指令;
- 第一个运动程序段必须是指令G00或G01, 且必须编写两个坐标值, 不得省略;
- 轮廓子程序中不允许使用G41/G42、G94/G95、G54~G59、G501和G33等指令;
- 系统不允许在子程序中编写T、D、S、M、F 、G04、G74/G75、G25/G26、G60/G64/G09、 G17/G18/G19、G94/G95/G96/G97指令, 否则产生报警;
- 轮廓子程序中可以使用IF、GOTO、变量(包括R参数和数组)定义和赋值等高级指令;
- 为了处理已编程的轮廓, 循环内部准备了一个可以容纳一定数量的轮廓单元的存储器。如果轮廓包含太多的单元, 超过了存储器容量, 循环将终止并产生报警。在这种情况下, 必须将轮廓分成几个轮廓段, 每个轮廓段需要单独调用循环;
- 如果最大直径不在轮廓的起始点或终点, 当加工结束时, 循环将给轮廓自动增加一条最大轴向直线, 且轮廓的这部分将作为凹凸切削被加工。
图6.31 轮廓自动补正
轮廓方向
毛坯切削的轮廓方向(走向)是由循环根据编程的起始点和末尾点自动确定的, 不一定与用户在子程序中的编程顺序相同。整个加工过程中, 轮廓的精加工方向和粗加工相同。另外, 为确定轮廓的起始点, 轮廓子程序的起始段中必须始终编程两个坐标值。
起始点
循环自动计算加工的起始点。在其中一轴上, 起始点位于距离轮廓最高点“精加工余量+后退行程”的位置上。在另外一轴上, 它位于轮廓起始点之前的“精加工余量+后退行程”的距离处。当到达起始点时, 则在循环内部选择了刀尖半径补偿。因此循环调用之前编程的最后一点要保证在接近起始点时不发生碰撞且有足够空间进行合适的补偿动作。
图6.32 循环起始点
示例:
毛坯切削循环
加工类型:
纵向和外部,综合加工。X轴精加工余量为0.5mm, Z轴精加工余量为0.3mm。粗加工时没有中断。最大的进给深度为3mm。轮廓子程序名为“SUB95”。
图6.33 示例
主程序
N10 T1 D1 S500 M03 | 切削参数定义 |
N20 G95 G90 F0.2 | |
N30 G00 X62 Z62 | 选择起始点 |
N40 CYCLE95(“SUB95”, 3, 0.3, 0.5, 0, 0.4, 0.4, 0, 1, 0, 0, 2) | 循环调用 |
N50 G90 G00 X62 Z62 | 重新回到起始位置 |
N60 M02 | 程序结束 |
轮廓子程序“SUB95.iso”
N100 G00 X23 Z60 | 到达轮廓起始点 |
N110 G01 X27 Z58 | 进给 |
N120 Z45 RND=2 | 圆角 |
N130 X47 | |
N140 Z35 | |
N150 X37 Z15 | |
N160 Z10 | |
N170 X57 | |
N180 RET | 子程序结束 |