(圆弧插补)G02/G03
G02 G03X(U)- Z(W)- R-( I- K-)F-
顺逆时针圆弧插补
X、Z:为绝对编程时,圆弧终点在工件坐标系中的坐标。
U、W:为增量编程时,圆弧终点相对于起点的位移量。
I、K:圆心相对于圆弧起点的增加量(等于圆心坐标减去圆弧起点的坐标),在绝对、增量编程时都是以增量方式指定,在直径、半径编程时 I 都是半径值。见图3.3.8所示。R:圆弧半径(同时编入R与I、K时,R有效)
F -:被编程的两个轴的合成进给速度。
倒直角加工
螺纹切削G32
G32 X(U)- Z(W)- R- E- P- F-
X、Z:绝对编程时,有效螺纹终点在工件坐标系中的坐标;
U、W:增量编程时,有效螺纹终点相对于螺纹切削起点的位移量;
F:螺纹导程,即主轴每转一圈,刀具相对于工件的进给量;
R、E:螺纹切削的退尾量,R 表示 Z 向退尾量,E 为 X 向退尾量,R、
E 在绝对或增量编程时都是以增量方式指定,其为正表示沿Z、
X 正向回退,为负表示沿Z、X负向回退。使用R、E可免去退刀槽。R、E可以省略,表示不用回退功能(此时必须有退刀槽)。
根据螺纹标准R 一般取2倍的螺距,E取螺纹的牙型高。
P:主轴基准脉冲处距离螺纹切削起始点的主轴转角。
注:
1. 从螺纹粗加工到精加工,主轴的转速必须保持一常数;
2. 在没有停止主轴的情况下,停止螺纹的切削将非常危险,因此螺纹切削时进给保持功能无效,如果按下进给保持按键,刀具在加工完螺纹后停止运动;
3. 在螺纹加工中不使用恒线速度控制功能;
4. 在螺纹加工轨迹中应设置足够的升速进刀段δ和降速退刀段δ′,以消除伺服滞后造成的螺纹误差。
暂停指令 G04
G04 P-
P:暂停时间,单位为S(秒)
恒线速度指令G96、G97
G96 S- G97 S-
G96:恒线速度有效
G97:取消恒线速度功能
S:G96 后面的S值为切削的恒线速度,单位为m/min; G97 后面的S值为取消恒线速度后指定的主轴转速,单位为 r/min;G96为缺省值。使用恒线速度功能,主轴必须能自动变速。(如:伺服主轴、变频主轴)在系统参数中已设定主轴最高限速(1800 r/min )。
内(外)径粗车复合循环 G71
无凹槽内(外)径粗车复合循环
G71 U(△d) R(r) P(ns) Q(nf) X( △ x) Z( △ z) F(f) S(s) T(t)
△d:切削深度(每次切削量);
r:每次退刀量;
ns:精加工路径第一程序段(即图中的AA′)的顺序号;
nf:精加工路径最后程序段(即图中的B′B)的顺序号;
△ x:X 方向精加工余
△ z:Z 方向精加工余量;
f,s,t:粗加工时G71中编程的F、S、T有效,而精加工时处于ns到nf程序段之间的F、S、T有效。注意:ns 的程序段必须为G00/G01指令;在顺序号为ns 到顺序号为nf 的程序段中,不应包含子程序。凹槽内(外)径粗车复合循环
G71 U(△d) R(r) P(ns) Q(nf) E( e) F(f) S(s) T(t)
△d:切削深度(每次切削量);
r:每次退刀量;
ns:精加工路径第一程序段(即图中的AA′)的顺序号
nf:精加工路径最后程序段(即图中的B′B)的顺序号;
e:精加工余量,其为 X 方向的等高距离;外径切削时为正,内径
切削时为负;
f,s,t:粗加工时G71中编程的F、S、T有效,而精加工时处于ns 到nf程序段之间的F、S、T有效。注意:ns 的程序段必须为G00/G01指令;在顺序号为 ns 到顺序号为nf 程序段中,不应包含子程序。端面粗车复合循环 G72
G72 W(△d) R(r) P(ns) Q(nf) X( △ x) Z( △ z) F(f) S(s) T(t)
△d:切削深度(每次切削量);
r:每次退刀量;
ns:精加工路径第一程序段(即图中的AA′)的顺序号;
nf:精加工路径最后程序段(即图中的B′B)的顺序号;
△ x:X 方向精加工余量
△ z:Z 方向精加工余量;
f,s,t:粗加工时 G72 中编程的F、S、T有效,而精加工时处于ns到nf程序段之间的F、S、T有效。注意:ns 的程序段必须为G00/G01指令,且该程序段中不应编有X 向移动指令;在顺序号为 ns 到顺序号为 nf 的程序段中,不应包
含子程序。
闭环车削复合循环 G73
G73 U(△I) W (△k) R(r) P(ns) Q(nf) X( △ x) Z( △ z) F(f) S(s) T(t)
△I:X 轴方向的粗加工总余量;
△k:Z 轴方向的粗加工总余量;
r:粗切削次数;
ns:精加工路径第一程序段(即图中的AA′)的顺序号;
nf:精加工路径最后程序段(即图中的B′B)的顺序号;
△ x:X 方向精加工余量
△ z:Z 方向精加工余量;
f,s,t:粗加工时G73中编程的F、S、T有效,而精加工时处于ns到nf程序段之间的F、S、T有效。注意:△I 和△k表示粗加工时总的切削量,粗加工次数为 r,则每次X,Z方向的切削量为△I/r,△k/r;注意△x 和△z,△I和△k的正负号。该指令能对铸造、锻造等粗加工已初步形成的工件,进行高效率切削。
螺纹车削复合循环 G76
G76 C(c) R (r) E(e) A(a) X(x) Z(z) I(i) K(k) U(d) V(△dmin) Q(△d) P(p) F(L)
c:精整次数(1~99),为模态值;
r:螺纹 Z 向退尾长度(00~99),为模态值;
e:螺纹 X 向退尾长度(00~99),为模态值;
a:刀尖角度(二位数字),模态值;在80°、60 °、55 °、30 °、29 °和0 °六个角度中选一个。
x、z:绝对编程时,有效螺纹终点 C的坐标;增量编程时,有效螺纹终点 C相对于循环起点 A 的有向距离;
i:螺纹两端的半径差,如 i = 0,为直螺纹(圆柱螺纹)切削方式;
k:螺纹高度;该值由 X 轴方向上的半径值指定;
△dmin:最小切削深度(半径值);当第 n 次切削深度(△d n - △d n-1)小于△dmin 时,则切削深度设定为△dmin;
d:精加工余量(半径值);
△d:第一次切削深度(半径值);
P:主轴基准脉冲处距离切削起始点的主轴转角;
L:螺纹导程;
关于螺纹车削的主轴转速
1)数控车螺纹时,会受到以下几方面的影响:
a.螺纹加工程序段中的导程值,相当于进给量 f (mm / r),如果将机床的主轴转速选择过高,其换算后的进给速度 F(mm / min) 则必定大大超过正常c. 车削螺纹必须通过主轴的同步运行功能而实现,即需要主轴编码器。当其主轴转速选择过高,通过编码器发出的定位脉冲(即主轴每转一周时所发出的一个基准脉冲信号)将可能因“过冲”(特别是当编码器的质量不稳定时)而导致工件螺纹产生乱纹(俗称“烂牙”)。
2)鉴于上述原因,不同的数控系统车螺纹时推荐不同的主轴转速范围,大多数经济型数控车床的数控系统推荐车螺纹时主轴转速如下:
n≤1200 / P – k
式中 P ——被加工螺纹导程,mm;
k ——保险系数,一般为80。
第三部分宏程序
宏程序格式与子程序一样,结尾用M99返回主程序。
O0100;主程序
T01M06T00;
G90 G54 G00 …
…
G65 P8500(引数和引数值);
M30;
O8500;宏程序
…
[变量]
[运算指令]
[控制指令]
M99
宏程序调用方法
①非模态调用(单纯调用):指一次性调用宏程序主体,即宏程序只在一个程序段内有效,叫非模态调用。其格式为:
G65 P_ _ _ _(宏程序号)L_(重复次数) _<指定引数值>
一个引数是一个字母,对应于宏程序中变量的地址,引数后边的数值赋给宏程序中对应的变量,同一语句中可以有多个引数。
一、变量概述
1. 变量种类有三种:
(1)局部变量:#1~#33是在宏程序中局部使用的变量,它用于自变量转移。
(2)公用变量:用户可以自由使用,它对于由主程序调用的各子程序及各宏程序来说是可以公用的。#100~#149在关掉电源后,变量值全部被清除,而#500~#509在关掉电源后,变量值则可以保存。(3)系统变量:由# 后跟4位数字来定义,它能获取包含在机床处理器或内存中的只读或读/写信息,包括与机床处理器有关的交换参数、机床状态获取参数、加工参数等系统信息。
2.变量的运算
(1)变量的赋值
格式:#i= #j+#k ;
FANUC系统中以“#”作为变量名,“#”后的数值为变量的下标,用来区分各变量。“=”表示变量的赋值,“#i”为被赋值的变量,“=”右边可以是实际值或表达式。表达式中可包含“+”、“-”、“×”、“÷”运算符以及三角函数运算。
(2)无条件转移指令GOTO
格式:GOTO n ;
n表示转移到目的程序段的行号。该指令将无条件转移到指定的程序段。
例:GOTO 10;
(3)条件转移指令IF
格式:IF [条件式] GOTO n ;
“[ ]”中是一个逻辑运算式,逻辑运算功能指令有:
条件式:#j EQ #k 表示“=”
#j NE #k 表示“≠”
#j GT #k 表示“>”
#j GE #k表示“≥”
#j LT #k 表示“<”
#j LE #k表示“≤”
例:IF[#1GT#3] GOTO 20;
N20 G0 X30.0 Z20.0;
在逻辑运算式中,实际值、变量、表达式均可参与逻辑运算。n是转移目标程序段的行号。当“[ ]”中逻辑运算式成立时,程序将转移到n所指定的程序段,否则,继续执行下一程序段。
(4)循环
格式:WHILE[条件式] Dom (m=1,2,3,)
N10···;
···;
N100···;
END m ;
说明:
①条件满足时,执行N10到N100之间程序段,条件继续满足,继续执行,直到条件不满足时,执行DOm,到ENDm,执行ENDm下面程序段。
②省略WHILE语句,则产生从DOm至ENDm的无限循环。
③m=1,2,3,则可以多次使用,最多嵌套3层。
运用变量思想编程,主要针对一些几何形状相似、外轮廓采用数学模型描述,例如:椭圆方程、抛物线方程、三角函数、非圆曲线、列表曲线等。对于以上轮廓,手工编程工作量很大,容易出错,对于简单零件,手工编程尚可胜任,而对于一些形状复杂,特别是具有非圆曲线的轮廓,用一般的手工编程就有一定的困难,有的甚至无法编出。变量编程则充分结合两种编程模式,取长补短,很好地解决了在不具备自动编程软件条件下编制非圆曲线零件程序的问题。
图形1 O0010;
G28U0W0;
G97S1000M3;
T0101;
G0Z0;
G0X(C+2);
G01X0;
G0 X(C+2)Z2;
G71U2.5R1.0;
G71P10Q20U0.4W0.2F0.1;
N10G00XA;
G01ZD;
G01XB;
G01Z(E+D);
G01XC;
G01Z(F+E+D);
N20G01U1.;
M30;
圆方程:(X-30)2+(Z+40)2=18.72
椭圆方程:
()2
2
22
105
1 22.570
Z
X+
+=
圆方程:(X-30)2+(Z+100)2=7.62
图形2
程序
O0020;
G28U0W0;
G97S1000M3;
T0101;
G0Z5.;
G0X22.7;
G1Z-40.F0.8;
#1=22.7/2;给变量#1(代表x)赋初始值
N1 #2=-40-SQRT[18.7×18.7-[#1-30]×[#1-30]];圆方程表达式G01X[#1×2]Z[#2]F0.8;
#1=#1+0.1;
#3=#1×#1/506.25+[#2+105]×[#2+105]/4900;椭圆方程表达式
N200 IF[#3GE1]GOTO1;判断圆和椭圆相切
N2#2=-105.+70.×SQRT[1-#1×#1/22.7/22.7];
#102=SQRT[[#1-30]×[#1-30]+[#2+100]×[#2+100]];圆方程表达式G01X[2×#1]Z#2F0.8;
#1=#1+0.1;
IF[#102GE7.6]GOTO2;判断椭圆和圆相切
N400G02X64.Z-107.6R7.6F0.8;
G0X70.;
Z100.;
M30;